Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Định cấu hình vận chuyển nhật ký máy chủ SQL

Bài viết này giải thích quy trình triển khai từng bước của vận chuyển Nhật ký SQL Server. Đây là giải pháp khôi phục thảm họa cấp cơ sở dữ liệu dễ thiết lập và bảo trì.

Việc vận chuyển nhật ký bao gồm ba bước:

  1. Tạo bản sao lưu nhật ký trên cơ sở dữ liệu chính.
  2. Sao chép bản sao lưu vào vị trí mạng hoặc thư mục cụ thể trên máy chủ phụ.
  3. Khôi phục bản sao lưu nhật ký trên máy chủ phụ.

Công nghệ vận chuyển nhật ký thực hiện các bước được mô tả ở trên bằng cách sử dụng các công việc tác nhân SQL Server. Trong quá trình cấu hình, trình hướng dẫn vận chuyển nhật ký sẽ tạo các công việc đó trên các máy chủ chính và phụ.

Vận chuyển nhật ký có thể ở hai chế độ hoạt động.

  • Chế độ khôi phục . Công việc SQL khôi phục các bản sao lưu nhật ký giao dịch trên cơ sở dữ liệu thứ cấp. Trạng thái của cơ sở dữ liệu là RESTORING và nó không thể truy cập được.
  • Chế độ chờ . Công việc SQL khôi phục các bản sao lưu nhật ký giao dịch trên cơ sở dữ liệu thứ cấp, nhưng cơ sở dữ liệu có thể vẫn ở chế độ chỉ đọc. Do đó, người dùng có thể thực hiện các thao tác đọc trên đó. Bằng tùy chọn này, chúng tôi có thể giảm tải ứng dụng báo cáo.

Lưu ý: Chế độ chờ có một nhược điểm:cơ sở dữ liệu không khả dụng trong quá trình thực hiện công việc khôi phục. Tất cả người dùng được kết nối với cơ sở dữ liệu phải ngắt kết nối trong quá trình đó. Nếu không, công việc khôi phục có thể bị trì hoãn .

Nhược điểm chính của vận chuyển nhật ký là không có hỗ trợ chuyển đổi dự phòng tự động. Để thực hiện chuyển đổi dự phòng, bạn phải thực hiện các bước sau:

  1. Tạo một bản sao lưu nhật ký đuôi và sao chép nó trên một máy chủ cơ sở dữ liệu phụ.
  2. Dừng tất cả các công việc vận chuyển nhật ký trên máy chủ chính.
  3. Khôi phục Nhật ký trên máy chủ phụ.

Quá trình này có thể trì hoãn tính khả dụng của cơ sở dữ liệu thứ cấp.

Bây giờ, chúng ta tiến hành kiểm tra quy trình triển khai từng bước. Trước hết, chúng tôi đã chuẩn bị máy trạm bằng cách thiết lập nó theo cách sau:

Tên máy chủ Vai trò
SQL01 Máy chủ chính
SQL02 Máy chủ phụ
iSCSI \ SQL2017 Máy chủ giám sát
\\ domain \ Nhật ký Vận chuyển Sao lưu Chia sẻ mạng để sao chép các bản sao lưu

Định cấu hình máy chủ chính

SQL01 hoạt động như một Máy chủ chính và cơ sở dữ liệu. Chúng tôi sẽ thiết lập Vận chuyển nhật ký giữa cơ sở dữ liệu AdventureWorks2017.

Để định cấu hình vận chuyển Nhật ký, hãy kết nối với phiên bản SQL01:

  1. Mở SQL Server Management Studio
  2. Mở rộng Cơ sở dữ liệu
  3. Nhấp chuột phải vào AdventureWorks2017
  4. Di chuột vào Công việc
  5. Nhấp vào Nhật ký Giao dịch Gửi hàng.

Thuộc tính cơ sở dữ liệu hộp thoại mở ra.

Để bật vận chuyển nhật ký, hãy nhấp vào Bật tính năng này làm cơ sở dữ liệu chính trong cấu hình vận chuyển nhật ký tùy chọn.

Để định cấu hình lịch sao lưu nhật ký giao dịch cho việc vận chuyển nhật ký, hãy nhấp vào Cài đặt sao lưu .

Một hộp thoại, 'Cài đặt sao lưu Nhật ký giao dịch' sẽ mở ra.

Trong hộp thoại, chỉ định chia sẻ mạng mà bạn muốn sao chép các bản sao lưu nhật ký giao dịch - Đường dẫn mạng đến thư mục sao lưu hộp văn bản. Bạn có thể xác định khoảng thời gian lưu giữ bản sao lưu trong Xóa các tệp cũ hơn được nêu trong hộp văn bản. Nếu công việc sao lưu không thành công hoặc tệp sao lưu không xảy ra trong thời gian được chỉ định trong hộp văn bản, SQL Server sẽ đưa ra cảnh báo.

Trong vận chuyển nhật ký, SQL Server sao chép các bản sao lưu tệp nhật ký vào mạng chia sẻ. Trình hướng dẫn tự động tạo một công việc sao lưu trong quá trình triển khai. Nó cũng tạo lịch biểu tự động, nhưng bạn có thể thay đổi nó bằng cách nhấp vào nút Lịch biểu.

Trong trường hợp của tôi, tôi đã thay đổi tên của công việc sao lưu để xác định nó. Tên công việc là LogShipping_Backup_AdventureWorks2017 .

Tôi đã không thực hiện bất kỳ thay đổi nào trong lịch trình công việc và cài đặt nén sao lưu.

Định cấu hình máy chủ phụ

Để thêm máy chủ phụ và cơ sở dữ liệu, hãy nhấp vào “ Thêm” trên Thuộc tính cơ sở dữ liệu hộp thoại.

Hộp thoại có tên Cài đặt cơ sở dữ liệu phụ sẽ mở. Chúng tôi phải kết nối với máy chủ cơ sở dữ liệu thứ cấp. Để làm điều đó, hãy nhấp vào “Thêm”.

Một hộp thoại mở ra. Nhập tên máy chủ và nhấp vào Kết nối :

Cấu hình cài đặt cơ sở dữ liệu phụ

Khởi tạo cơ sở dữ liệu phụ

Trong tab Khởi tạo cơ sở dữ liệu phụ, bạn có thể thiết lập bất kỳ tùy chọn nào trong ba tùy chọn sau để khôi phục cơ sở dữ liệu:

  1. Nếu cơ sở dữ liệu không tồn tại trên Máy chủ phụ, bạn có thể tạo một bản sao lưu đầy đủ và khôi phục nó trên máy chủ phụ. Trong trường hợp này, bạn có thể sử dụng tùy chọn đầu tiên.
  2. Nếu có bản sao lưu đầy đủ của cơ sở dữ liệu được tạo bởi các công việc sao lưu khác hoặc bạn đã có bản sao lưu, bạn có thể khôi phục bản sao lưu đó trên máy chủ phụ. Trong trường hợp này, bạn có thể chọn tùy chọn thứ hai.
  3. Nếu bạn đã khôi phục cơ sở dữ liệu phụ với trạng thái NORECOVERY, bạn có thể chọn tùy chọn thứ ba.

Sao chép tệp

Trên Sao chép tệp , bạn có thể chỉ định thư mục đích cho vị trí các tệp sao lưu đã sao chép. Khoảng thời gian lưu giữ cũng được xác định ở đó.

Trình hướng dẫn tạo một Công việc SQL để sao chép tệp vào thư mục đích. Thư mục đích sao lưu là \\ domain \ Log Shipping Backup. Tên của lệnh sao chép là LogShipping_Copy_SQL01_AdventureWorks2017 .

Khôi phục Nhật ký Giao dịch

Trong Khôi phục nhật ký giao dịch , bạn có thể chỉ định chế độ cơ sở dữ liệu. Nếu bạn muốn giữ cơ sở dữ liệu ở chế độ chỉ đọc, hãy chọn Chế độ chờ hoặc chọn Không có chế độ khôi phục .

Trong bản demo này, chúng tôi giữ trạng thái cơ sở dữ liệu là NORECOVERY. Bạn có thể chỉ định độ trễ khôi phục sao lưu và định cấu hình cảnh báo cho các bản sao lưu không được khôi phục trong một khoảng thời gian cụ thể. Trong trường hợp của chúng tôi, chúng tôi không sử dụng cài đặt mặc định.

Tên của lệnh khôi phục là LogShipping_Restore_SQL01_AdventureWorks2017.

Khi cấu hình đã sẵn sàng, hãy nhấp vào OK để lưu các thay đổi.

Như bạn thấy, máy chủ phụ và cơ sở dữ liệu đã được thêm vào “ Lưới cơ sở dữ liệu và phiên bản máy chủ phụ ”Trên Thuộc tính cơ sở dữ liệu màn hình.

Định cấu hình phiên bản giám sát

Nếu bạn muốn định cấu hình phiên bản máy chủ màn hình, hãy đánh dấu chọn cho Sử dụng phiên bản máy chủ màn hình . Để thêm phiên bản màn hình, nhấp vào Cài đặt .

Chúng tôi sẽ sử dụng phiên bản iscsi \ SQL2017 làm máy chủ giám sát việc vận chuyển nhật ký.

Trong Cài đặt theo dõi nhật ký vận chuyển hộp thoại, chỉ định tên trong Phiên bản máy chủ giám sát hộp văn bản.

Chúng tôi sử dụng sa tài khoản để giám sát việc vận chuyển nhật ký. Do đó, bạn cần cung cấp sa làm tên người dùng và mật khẩu. Bạn cũng có thể chỉ định khoảng thời gian lưu giữ lịch sử và cảnh báo giám sát.

Ở đây, chúng tôi sử dụng cài đặt mặc định. Tên của công việc cảnh báo là LogShipping_Alert_iscsi \ sql2017 .

Nhấp OK để lưu cấu hình và đóng hộp thoại.

Bạn có thể tạo tập lệnh T-SQL cho toàn bộ cấu hình bằng cách nhấp vào Cấu hình tập lệnh cái nút. Sao chép tập lệnh cấu hình vào khay nhớ tạm hoặc tệp hoặc mở nó trong cửa sổ trình chỉnh sửa truy vấn mới.

Chúng tôi không muốn viết ra các hành động. Bạn có thể bỏ qua bước này.

Nhấp vào OK để lưu cấu hình vận chuyển nhật ký và quá trình sẽ bắt đầu:

Sau khi Định cấu hình nhật ký vận chuyển, bạn có thể thấy hộp thoại thành công:

Kịch bản chuyển đổi dự phòng thử nghiệm

USE [AdventureWorks2017]
GO
CREATE TABLE [Person](
	[BusinessEntityID] [int] NOT NULL,
	[PersonType] [nchar](2) NOT NULL,
	[NameStyle] [dbo].[NameStyle] NOT NULL,
	[Title] [nvarchar](8) NULL,
	[FirstName] [dbo].[Name] NOT NULL,
	[MiddleName] [dbo].[Name] NULL,
	[LastName] [dbo].[Name] NOT NULL,
	[Suffix] [nvarchar](10) NULL,
	[EmailPromotion] [int] NOT NULL,
	[ModifiedDate] [datetime] NOT NULL,
 CONSTRAINT [PK_Person_BusinessEntityID] PRIMARY KEY CLUSTERED 
(
	[BusinessEntityID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

Thực thi truy vấn sau để chèn dữ liệu demo:

insert into [Person]([BusinessEntityID],[PersonType],[NameStyle],[Title],[FirstName] ,[MiddleName],[LastName] ,[Suffix] ,[EmailPromotion],[ModifiedDate]) 
select top 10 [BusinessEntityID],[PersonType],[NameStyle],[Title],[FirstName] ,[MiddleName],[LastName] ,[Suffix] ,[EmailPromotion],[ModifiedDate] 
from Person.Person

Để thực hiện chuyển đổi dự phòng, hãy tạo một bản sao lưu nhật ký đuôi của cơ sở dữ liệu Adventureworks2017. Thực thi truy vấn sau:

Backup Log adventureworks2017 to disk='\\domain\LogShippingBackups\Tail_Log_Backup.trn' with norecovery

Kết nối với SQL02 (máy chủ phụ) và khôi phục bản sao lưu nhật ký đuôi bằng cách sử dụng RESTORE WITH RECOVERY. Thực thi đoạn mã sau:

RESTORE LOG [AdventureWorks2017] FROM  DISK = N'\\domain\LogShippingBackups\Tail_Log_Backup.trn' WITH  RECOVERY

Sau khi sao lưu nhật ký đuôi khôi phục thành công, hãy thực hiện truy vấn để xác minh rằng dữ liệu được sao chép vào máy chủ phụ:

Select * from person

Đầu ra truy vấn:

Như bạn thấy, dữ liệu được khôi phục trên máy chủ phụ.

Kết luận

Trong bài viết này, chúng tôi đã giải thích quy trình vận chuyển nhật ký SQL Server và cách định cấu hình nó. Chúng tôi cũng đã chứng minh quy trình chuyển đổi dự phòng từng bước của việc vận chuyển nhật ký.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tìm kiếm “đối sánh toàn bộ từ” với mẫu LIKE của Máy chủ SQL

  2. Thực thi tập hợp các truy vấn SQL bằng cách sử dụng tệp loạt?

  3. Trả về danh sách cấu hình thư cơ sở dữ liệu trong SQL Server (T-SQL)

  4. T-SQL Cast so với Convert

  5. Máy chủ thích ứng không khả dụng hoặc không tồn tại lỗi kết nối với SQL Server từ PHP