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

Nội bộ sao chép giao dịch SQL Server - Phần 2

Sao chép giao dịch SQL Server là một trong những kỹ thuật nhân bản được sử dụng phổ biến nhất được sử dụng để sao chép hoặc phân phối dữ liệu qua nhiều điểm đến. Trong bài viết trước, chúng ta đã thảo luận về SQL Server Replication, các loại sao chép và nội dung cơ bản về cách hoạt động của Transactional Replication. Bây giờ, chúng ta sẽ đi sâu vào Nội bộ nâng cao về cách hoạt động của Nhân bản giao dịch SQL Server.

Kiến trúc sao chép giao dịch

Trước khi bắt đầu, tôi khuyên bạn nên làm mới kiến ​​thức của mình với bài viết trước của tôi tại đây.

Hãy bắt đầu bằng cách xem xét Kiến trúc sao chép giao dịch SQL Server được hiển thị bên dưới từ tài liệu của Microsoft.

Trong Cơ sở dữ liệu nhà xuất bản , tạo một Ấn phẩm bao gồm danh sách các Bài báo ( Bảng , Lượt xem , v.v.,) mà bạn cần sao chép sang Người đăng ký cơ sở dữ liệu. Sau khi các Bài viết được kích hoạt để Nhân rộng, bất kỳ thay đổi nào xảy ra trên các bài viết này sẽ được đánh dấu để Nhân rộng trong cơ sở dữ liệu Nhật ký giao dịch của nhà xuất bản.

Bản sao giao dịch SQL Server có thể được khởi tạo từ Nhà xuất bản tới Nhà phân phối rồi đến Người đăng ký cơ sở dữ liệu thông qua Snapshot Agent hoặc Toàn bộ Bản sao lưu . Tác nhân Ảnh chụp nhanh có thể thực hiện Khởi tạo thông qua Trình hướng dẫn cấu hình sao chép . Sao lưu đầy đủ chỉ được hỗ trợ thông qua các câu lệnh T-SQL.

Tác nhân đọc nhật ký quét Nhật ký Giao dịch của cơ sở dữ liệu Nhà xuất bản để phát hiện các thay đổi được theo dõi được đánh dấu cho Sao chép. Nó bỏ qua các thay đổi khác được ghi lại trong Nhật ký giao dịch và sao chép các thay đổi dữ liệu từ Nhật ký giao dịch sang cơ sở dữ liệu phân phối.

Cơ sở dữ liệu phân phối có thể nằm trong Nhà xuất bản hoặc Người đăng ký hoặc nó có thể nằm trong một phiên bản SQL Server độc lập khác. Lưu ý những điều sau:

  • Tác nhân đọc nhật ký chạy liên tục từ Máy chủ phân phối để quét các lệnh mới được đánh dấu để sao chép. Tuy nhiên, nếu bạn không muốn chạy liên tục và thay vào đó muốn chạy theo lịch, chúng tôi có thể thay đổi Công việc SQL của tác nhân đọc nhật ký sẽ được tạo.
  • Tác nhân đọc nhật ký chọn tất cả các bản ghi được đánh dấu để sao chép từ các lô Nhật ký giao dịch và gửi đến cơ sở dữ liệu phân phối.
  • Tác nhân đọc nhật ký chỉ chọn các giao dịch đã cam kết từ Nhật ký giao dịch của Cơ sở dữ liệu nhà xuất bản. Vì vậy, bất kỳ truy vấn lâu dài nào trên cơ sở dữ liệu của Nhà xuất bản đều có thể ảnh hưởng trực tiếp đến tính năng Sao chép vì nó đang đợi giao dịch hoạt động hoàn tất.

Đại lý phân phối chọn tất cả các lệnh mới chưa được phân phối từ cơ sở dữ liệu Phân phối và áp dụng chúng vào cơ sở dữ liệu Đăng ký thông qua Đẩy hoặc Kéo Cơ chế .

  • Đẩy đăng ký - Nhà phân phối có quyền sở hữu để áp dụng các thay đổi từ cơ sở dữ liệu Phân phối cho Người đăng ký.
  • Kéo đăng ký - Người đăng ký cơ sở dữ liệu có quyền sở hữu để tìm nạp các thay đổi từ cơ sở dữ liệu Phân phối đến Người đăng ký.

Khi các bản ghi được phân phối thành công từ Phân phối đến cơ sở dữ liệu Người đăng ký, chúng sẽ được đánh dấu là Đã phân phối và cũng được đánh dấu để xóa khỏi cơ sở dữ liệu Phân phối .

Một trong những công việc Bảo trì nhân rộng chính là Dọn dẹp phân phối :Công việc Phân phối chạy 10 phút một lần để xóa các bản ghi đã phân tán khỏi cơ sở dữ liệu Phân phối để duy trì kích thước của cơ sở dữ liệu Phân phối trong tầm kiểm soát.

Do đó, mục tiêu của chúng tôi cho bài viết hiện tại là khám phá các chủ đề sau:

  • Cơ sở dữ liệu phân phối
  • Tác nhân nhân rộng
    • Tác nhân Ảnh chụp nhanh
    • Tác nhân đọc nhật ký
    • Đại lý phân phối
  • Hồ sơ tác nhân nhân bản
  • Công việc Bảo trì Nhân rộng
  • Độ trễ sao chép và Mã thông báo theo dõi
  • Tiện ích TableDiff
  • Cảnh báo tác nhân SQL Server

Cơ sở dữ liệu phân phối máy chủ SQL

Cơ sở dữ liệu phân phối là một cơ sở dữ liệu hệ thống được tạo trong khi định cấu hình Replication. Nó là trung tâm của Replication vì hầu hết quá trình chạy hết cơ sở dữ liệu phân phối.

Do bản chất của cơ sở dữ liệu phân phối, chúng tôi chỉ có thể thực hiện các thao tác hạn chế trên nó, chẳng hạn như Sao lưu và Khôi phục. Chúng tôi không thể loại bỏ nó trực tiếp như Cơ sở dữ liệu người dùng.

Đối với một cơ sở dữ liệu khổng lồ với nhiều dữ liệu đang được sao chép, chúng tôi cần thực hiện một số biện pháp đặc biệt để cải thiện hiệu suất thông lượng sao chép:

Theo mặc định, cơ sở dữ liệu phân phối được tạo trên đường dẫn cài đặt mặc định được định cấu hình trong SQL Server . Nếu không được định cấu hình, nó sẽ được tạo trên C : hoặc trong các thư mục Cài đặt SQL Server. Chúng tôi khuyên bạn nên di chuyển cơ sở dữ liệu phân phối sang bộ nhớ / đĩa nhanh hơn để cải thiện hiệu suất.

Kích thước tệp ban đầu Tự động phát triển của cơ sở dữ liệu phân phối sẽ được đặt theo cài đặt Kích thước tệp ban đầu và Tự động phát triển của cơ sở dữ liệu mô hình. Định cấu hình kích thước Tệp ban đầu thành một giá trị tốt hơn như 10GB trong trường hợp sao chép cơ sở dữ liệu bận giao dịch. Thuộc tính Tự động phát triển phải lên đến 512 MB hoặc 1 GB cho cả tệp Dữ liệu và Nhật ký. Sau đó, sẽ không có nhiều phân mảnh đối với Tệp Dữ liệu và Nhật ký.

Định cấu hình Hàng ngày hoặc Công việc sao lưu định kỳ để bao gồm cơ sở dữ liệu phân phối cho mục đích tham khảo hoặc khắc phục sự cố trong trường hợp có bất kỳ hỏng hóc hoặc mất mát dữ liệu nào.

Định cấu hình Sắp xếp lại chỉ mục hàng ngày hoặc Bảo trì việc làm để bao gồm cơ sở dữ liệu phân phối. Cơ sở dữ liệu liên quan đến việc chèn dữ liệu lớn vào MSrepl_transactions MSrepl_commands bảng.

Lưu ý:Việc bỏ phiếu liên tục trên 2 bảng này và XÓA chúng khỏi chúng sau khi gửi dữ liệu thành công đến cơ sở dữ liệu Người đăng ký làm tăng nguy cơ phân mảnh. Việc xây dựng lại các bảng này theo lịch trình có thể cải thiện hiệu suất cơ sở dữ liệu phân phối.

Để xem và sửa đổi bất kỳ thuộc tính nào trong cơ sở dữ liệu Phân phối liên quan đến Sao chép, hãy nhấp chuột phải vào Sao chép > Thuộc tính của nhà phân phối :

Nhấp vào dấu chấm lửng ở bên phải để xem thêm chi tiết về các tùy chọn riêng lẻ được liệt kê.

Hãy chú ý, việc thay đổi bất kỳ tham số nào có thể ảnh hưởng đến hiệu suất của cơ sở dữ liệu phân phối. Do đó, chỉ thực hiện các thay đổi sau khi bạn đánh giá cẩn thận tất cả các thông số bạn muốn sửa đổi.

Lưu giữ giao dịch chỉ định lượng dữ liệu nên được giữ lại trong cơ sở dữ liệu phân phối. Giá trị tối thiểu và tối đa có thể được chỉ định bằng giờ hoặc ngày.

Giá trị Lưu giữ Giao dịch được đặt là 0 giờ chỉ ra rằng khi các bản ghi được sao chép thành công sang cơ sở dữ liệu Người đăng ký, chúng có thể bị xóa khỏi cơ sở dữ liệu phân phối. Nếu bạn tăng giá trị này, kích thước cơ sở dữ liệu phân phối sẽ tăng lên. Do đó, chúng ta cần lập kế hoạch cho phù hợp.

Lưu giữ lịch sử chỉ định khoảng thời gian lưu giữ để lưu trữ dữ liệu Lịch sử hiệu suất sao chép giao dịch. Theo mặc định, đó là 48 giờ.

Để bỏ cơ sở dữ liệu phân phối , chúng tôi cần Tắt xuất bản được liên kết với cơ sở dữ liệu phân phối cụ thể đó và sau đó loại bỏ nó bằng một trong hai phương pháp. Một là sự kết hợp của Tắt xuất bản và trình hướng dẫn Phân phối. Một người khác đang sử dụng sp_dropdistributor hoặc sp_dropdistributiondb các thủ tục. Wizard sử dụng nội bộ 2 quy trình này để tắt Phân phối và bỏ cơ sở dữ liệu phân phối.

Đại lý sao chép máy chủ SQL

Tác nhân sao chép là các chương trình độc lập chịu trách nhiệm theo dõi các thay đổi dữ liệu từ Nhà xuất bản và tuyên truyền những thay đổi đó tới cơ sở dữ liệu Nhà phân phối và Người đăng ký. Chúng được thực thi dưới dạng công việc SQL Server Agent.

Trước tiên, hãy xem vị trí của các chương trình độc lập này.

Để định cấu hình Replication, chúng ta cần có Các thành phần của Replication được cài đặt thông qua trình cài đặt SQL Server. Khi hoàn tất, chúng ta có thể thấy các chương trình độc lập liên quan đến tác nhân Replication có sẵn trong đường dẫn cài đặt:

C:\ Program Files \ Microsoft SQL Server \ 130 \ COM

Trong trường hợp của tôi, phiên bản SQL Server phiên bản là 2016. Do đó, nó dưới 130 trong đường dẫn.

Đối với mỗi Đại lý nhân bản, chúng tôi có thể thấy chương trình độc lập tương ứng có sẵn:

  • DISTRIB.exe - Đại lý phân phối
  • Logread.exe - Tác nhân đọc nhật ký
  • Qrdrsvc.exe - Tác nhân dịch vụ đầu đọc hàng đợi
  • Replmerg.exe - Hợp nhất tác nhân sao chép
  • Snapshot.exe - Tác nhân Ảnh chụp
  • Tablediff.exe - Tiện ích So sánh các Bảng. Chúng ta có thể tìm hiểu thêm chi tiết ở phần sau của bài viết này.

Bây giờ chúng ta biết các chương trình độc lập này chịu trách nhiệm gì và vị trí của chúng, chúng ta có thể hiểu cách chúng được thực thi thông qua SQL Server Agent Jobs.

Vì chúng ta đang xử lý sao chép giao dịch SQL Server, chúng ta sẽ thực hiện các công việc của Snapshot Agent, Log Reader Agent và Distribution Agent (cùng một logic áp dụng cho tất cả các tác nhân khác).

Tác nhân chụp nhanh

Tác nhân Ảnh chụp nhanh chạy từ Máy chủ chứa cơ sở dữ liệu phân phối. Nó chuẩn bị Lược đồ và dữ liệu ban đầu của tất cả các Bài báo có trong Ấn phẩm trên Nhà xuất bản, tạo các tệp Ảnh chụp nhanh trong thư mục ảnh chụp nhanh và ghi lại chi tiết Đồng bộ hóa trong cơ sở dữ liệu Phân phối.

Từ bản phân phối MSSnapshot_agents , chúng tôi có thể xác định Công việc Tác nhân Máy chủ SQL thực hiện các hoạt động Tác nhân Ảnh chụp. Mọi Ấn phẩm liên quan đến một công việc SQL Server Agent chuyên dụng phải đảm nhận các Trách nhiệm của Snapshot Agent.

Mở rộng Tác nhân SQL Server và mở tên công việc được đề cập ở trên. Nó sẽ hiển thị các chi tiết và Danh mục tên - REPL-Ảnh chụp nhanh

Nhấp vào Bước để xem các hoạt động được thực hiện bởi Snapshot agent.

Nhấp vào một số bước riêng lẻ để xem thông tin về công việc nhân viên Ảnh chụp nhanh.

Bước 1 ghi một mục vào bảng lịch sử mỗi khi tác nhân Ảnh chụp khởi động bằng cách sử dụng sp_MSadd_snapshot_history thủ tục.

Bảng lưu giữ lịch sử của các chi tiết do tác nhân Snapshot thực thi là MSsnapshot_history trong cơ sở dữ liệu phân phối.

Nó sẽ phù hợp với Xem Trạng thái Tác nhân Ảnh chụp nhanh cửa sổ hộp thoại.

Chuyển sang Bước 2 - Run Agent . Nó sẽ bắt đầu công việc Snapshot Agent .

Theo Lệnh , chúng tôi không thể tìm thấy bất kỳ câu lệnh hoặc truy vấn T-SQL nào. Chỉ có một số thông số được liệt kê ra. Vì vậy, câu trả lời nằm trong phần được đánh dấu trên hình minh họa trên. Nó cho thấy rằng Bước công việc Loại Ảnh chụp nhanh sao chép khởi chạy chương trình độc lập snapshot.exe để thực hiện các trách nhiệm của Snapshot Agent.

Để biết thêm chi tiết về snapshot.exe, hãy tham khảo bài viết MSDN này. Chúng tôi cũng sẽ đi vào chi tiết trong khi khắc phục sự cố liên quan đến Sao chép sau.

Cuối cùng, chúng ta sẽ chuyển sang Bước 3 - Bước Công việc cuối cùng. Nó ghi lại mọi lần tắt đột xuất của Công việc đặc vụ và đăng xuất chúng.

Tác nhân đọc nhật ký

Bất cứ khi nào Ấn phẩm được cấu hình trên cơ sở dữ liệu, bất kỳ thay đổi nào xảy ra với các Bài viết đó đều được đánh dấu sao chép trong Nhật ký giao dịch. Tác nhân đọc nhật ký đọc những thay đổi dữ liệu đó qua logread.exe và lưu trữ chúng vào Cơ sở dữ liệu phân phối thông qua 2 quy trình riêng biệt:

  • Đọc Nhật ký Giao dịch - nó sử dụng sp_replcmds quy trình được lưu trữ mở rộng để quét các thay đổi dữ liệu từ Nhà xuất bản. Vì thủ tục được lưu trữ này tham chiếu đến tệp DLL, nội bộ về cách Microsoft đọc chính xác tệp nhật ký không được xác định. Tuy nhiên, chúng tôi có thể thử các hàm không có giấy tờ như fn_dblog () fn_dump_dblog () để hiểu cách hoạt động của tệp Nhật ký giao dịch.
  • Ghi vào Cơ sở dữ liệu Phân phối - nó sử dụng sp_MSadd_replcmds thủ tục được lưu trữ trong cơ sở dữ liệu phân phối để ghi dữ liệu nhị phân được đọc từ Nhật ký giao dịch của cơ sở dữ liệu nhà xuất bản. Nó ghi chi tiết giao dịch vào MSrepl_transactions bảng và các lệnh riêng lẻ đối với MSrepl_commands bảng.

Chỉ có một công việc Trình đọc nhật ký SQL Server Agent khả dụng cho mọi cơ sở dữ liệu Đã xuất bản. Bạn có thể xác định tên của nó như hình dưới đây:

Mở rộng SQL Server Agent và mở công việc Log Reader Agent ở trên để xem các bước. Nó sẽ hiển thị công việc Сategory trong Trình đọc nhật ký sao chép.

Nhấp vào Các bước để xem các bước riêng lẻ được thực hiện bởi Tác nhân đọc nhật ký. Cũng giống như công việc Snapshot Agent, chúng ta có thể thấy 3 bước tương đương cho công việc Log Reader Agent.

Bước 1 gọi sp_MSadd_logreader_history thủ tục ghi nhật ký thông báo lịch sử trạng thái Khởi động của Tác nhân đọc nhật ký vào MSlogreader_history bảng.

Bước 2 bắt đầu quy trình Tác nhân đọc nhật ký bằng cách sử dụng chương trình độc lập logread.exe .

Bạn có thể tìm thêm chi tiết về logread.exe trong bài viết MSDN tương ứng. Sau đó, chúng tôi cũng sẽ kiểm tra các thông số cấu hình quan trọng của Tác nhân đọc nhật ký.

Bước 3 ghi lại việc tắt đột ngột công việc Tác nhân đọc nhật ký.

Đại lý phân phối

Tác nhân phân phối (DISTRIB.exe) đã được Transactional và Snapshot Replication sử dụng để áp dụng các tệp Snapshot ban đầu và tăng dần hoặc áp dụng các giao dịch đang chờ xử lý có sẵn từ cơ sở dữ liệu Phân phối vào cơ sở dữ liệu Người đăng ký.

Tác nhân này chạy từ Máy chủ phân phối cho Đăng ký đẩy và Máy chủ đăng ký cho Đăng ký kéo. Để tìm tên của Công việc tác nhân SQL Server thực hiện trách nhiệm tác nhân phân phối, chúng tôi có thể thực hiện truy vấn cụ thể như được hiển thị bên dưới:

Mở rộng công việc SQL Server Agent và mở nó để xem thêm thông tin và danh mục được chỉ định cho Phân phối nhân bản.

Nhấp vào Các bước - bạn sẽ thấy các bước tương tự như các bước đã trình bày trước đó của công việc Tác nhân đọc bản ghi và ảnh chụp nhanh.

Bước 1 gọi sp_MSadd_distribution_history quy trình ghi nhật ký thông báo lịch sử trạng thái Khởi động của Tác nhân đọc nhật ký vào MSdistribution_history bảng.

Bước 2 bắt đầu quy trình Đại lý phân phối (DISTRIB.exe) với các tham số mặc định.

Để biết thêm chi tiết về DISTRIB.exe, hãy chuyển sang bài viết MSDN. Hơn nữa, chúng ta sẽ xem xét các thông số cấu hình quan trọng của Đại lý phân phối trong các bài viết tiếp theo.

Bước 3 nắm bắt thông tin chi tiết về việc công việc Đại lý phân phối bị dừng đột ngột.

Hồ sơ tác nhân nhân bản

Từ Thuộc tính nhà phân phối , chúng tôi có thể có tùy chọn để xem Hồ sơ tác nhân nhân bản . Để lại Hồ sơ đại lý về giá trị mặc định và chỉ thay đổi khi được yêu cầu cho mục đích khắc phục sự cố.

Nhấp vào Mặc định cấu hình để xem các giá trị mặc định được định cấu hình cho tất cả các Tác nhân nhân bản có sẵn trong Máy chủ.

Chọn Đại lý phân phối và nhấp vào dấu chấm lửng bên cạnh Hồ sơ tác nhân mặc định để xem các giá trị đã định cấu hình. Xem hình minh họa bên dưới:

Xem Hồ sơ tác nhân mặc định của Đại lý Ảnh chụp nhanh tác nhân người đọc:

Hồ sơ tác nhân mặc định cho Trình đọc nhật ký Đại lý:

Công việc bảo trì nhân rộng

Bên cạnh Đại lý nhân rộng, chúng tôi có Công việc bảo trì nhân rộng .

Đây là các công việc SQL Server Agent được tạo trong khi định cấu hình SQL Server Transactional Replication. Chúng có sẵn để đảm bảo rằng Bản sao Giao dịch đang hoạt động chính xác.

Một số Công việc về Bảo trì Nhân rộng là cần thiết cho Nhân rộng Giao dịch. Hãy xem lại chúng.

  • Dọn dẹp phân phối: Phân phối - thực thi sp_MSdistribution_cleanup quy trình xóa các lệnh sao chép khỏi MSrepl_transactions MSrepl_commands những cái bàn. Dọn dẹp xảy ra trên cơ sở dữ liệu Phân phối sau khi các lệnh được gửi thành công đến cơ sở dữ liệu Người đăng ký dựa trên giá trị Thời gian lưu giữ giao dịch được định cấu hình trong cơ sở dữ liệu phân phối. Theo mặc định, công việc này chạy 10 phút một lần trên cơ sở dữ liệu phân phối. Chỉ thay đổi các giá trị này sau khi đánh giá chuyên sâu.
  • Đại lý Xóa lịch sử:Phân phối - thực thi sp_MShistory_cleanup trong cơ sở dữ liệu phân phối để xóa các bản ghi lịch sử cũ hơn khoảng thời gian Lưu giữ lịch sử được định cấu hình trong cơ sở dữ liệu đó. Theo mặc định, nó được định cấu hình trong 48 ngày và thực thi 10 phút một lần. Nếu bạn muốn thay đổi các giá trị này, hãy xem xét kỹ tất cả các khía cạnh.
  • Đã hết hạn Xóa đăng ký - thực thi sp_expired_subscription_cleanup trong cơ sở dữ liệu chính để loại bỏ những đăng ký đã hết hạn hoặc không hoạt động trong một thời gian dài. Theo mặc định, quy trình này thực hiện mỗi ngày một lần.

Độ trễ sao chép và mã thông báo theo dõi

Độ trễ sao chép là thời gian mà quá trình Nhân bản yêu cầu để theo dõi bất kỳ thay đổi nào xảy ra trên các bài báo đã xuất bản từ cơ sở dữ liệu của Nhà xuất bản cho đến khi nó được gửi thành công đến Người đăng ký thông qua Nhà phân phối.

Độ trễ sao chép được đo bằng mili giây. Giá trị mục tiêu của 0 (sao chép theo thời gian thực) thành giá trị rất thấp (trường hợp lý tưởng). Đây là một trong những biện pháp quan trọng để theo dõi hiệu suất Nhân rộng.

Chúng tôi có thể xác minh Độ trễ sao chép bằng Trình theo dõi sao chép hoặc sp_replcounters chuyên dụng thủ tục.

Kể từ Giám sát sao chép làm mới tỷ lệ, có thể có độ lệch nhỏ so với các giá trị được quan sát. Để khắc phục những sai lệch nhỏ trong khi tính toán độ trễ sao chép, Mã thông báo người đánh dấu đã ra tay cứu giúp chúng tôi.

Nhấp vào Mã thông báo của người đánh dấu (xem hình trên) để gửi một bộ lệnh kiểm tra mới từ Nhà xuất bản. Sau đó, đo lường khi nó đến cơ sở dữ liệu Nhà phân phối và khi nó được gửi đến cơ sở dữ liệu Người đăng ký. Nhấp vào Chèn dấu vết để gửi mã đánh dấu từ cơ sở dữ liệu của Nhà xuất bản:

Khi các bản ghi được nhận thành công trong Người đăng ký, chúng tôi có thể theo dõi tổng thời gian chờ sao chép cho thiết lập hiện tại của chúng tôi. Trong trường hợp của chúng tôi, đó là 9 giây:4 giây từ Nhà xuất bản đến Nhà phân phối và 5 giây từ Nhà phân phối đến Người đăng ký.

Tiện ích Tablediff

Tiện ích tablediff (tablediff.exe) sẽ được cài đặt trong đường dẫn C:\ Program Files \ Microsoft SQL Server \ 130 \ COM khi chúng tôi đã cài đặt xong các Thành phần Nhân bản.

Tiện ích TableDiff so sánh 2 bảng không hội tụ. Nó có nghĩa là chúng ta có thể so sánh 2 bảng và xác định sự khác biệt giữa chúng. Sau đó, nó đồng bộ hóa bảng Đích so với bảng Nguồn bằng cách tạo các tập lệnh INSERT / UPDATE / DELETE chuyên dụng. Thông tin chi tiết có sẵn trong tài liệu chính thức.

Vì SQL Server Transactional Replication không quan tâm đến các thay đổi thủ công trên cơ sở dữ liệu Người đăng ký, nên tiện ích này có thể giúp đồng bộ hóa các loại bảng này khi được yêu cầu. Tuy nhiên, nó không có Wizard hoặc UI - bạn chỉ có thể truy cập nó qua Command Prompt hoặc từ các tệp hàng loạt.

Các công cụ khác có thể làm cho việc so sánh và đồng bộ hóa trở nên đơn giản hơn. Gói so sánh dbForge dành cho SQL Server kiểm tra sự khác biệt trong cơ sở dữ liệu và các bảng cụ thể xác định và phân tích chúng. Nó cũng tạo ra các tập lệnh cần thiết để đồng bộ hóa chúng. Nó cung cấp một giao diện trực quan và một loạt các tùy chọn để chạy các tác vụ nhanh chóng và đơn giản.

Cảnh báo tác nhân máy chủ SQL

Tất cả các thành phần chính liên quan đến Tác nhân nhân bản đang cư trú dưới dạng Công việc nằm trong công việc Tác nhân máy chủ SQL. Do đó, điều quan trọng là phải theo dõi cách các công việc SQL Server Agent hoạt động liên tục để đảm bảo rằng Replication hoạt động mà không gặp bất kỳ sự cố nào. Dưới đây là các vấn đề phổ biến nhất:

  • Vấn đề về quyền khi thực hiện bất kỳ Công việc nào của Tác nhân nhân bản
  • Vấn đề về quyền khi thực hiện bất kỳ Công việc Bảo trì Nhân bản nào.
  • Vấn đề về quyền khi truy cập vào cơ sở dữ liệu Nhà xuất bản hoặc phân phối hoặc Người đăng ký.
  • Tác nhân SQL Server không được định cấu hình để khởi động tự động khi khởi động lại máy chủ.
  • Một số vấn đề khác về Dữ liệu liên quan đến sao chép như xung đột, thiếu dữ liệu, v.v.

Đó là lý do tại sao chúng ta nên có một cơ chế cảnh báo thích hợp để thông báo cho DBA hoặc người khác về bất kỳ vấn đề nào ngay lập tức.

Để cảnh báo cho các DBA hoặc những người khác trong trường hợp có bất kỳ sự cố hoặc lỗi nào xảy ra, chúng ta nên định cấu hình Thư cơ sở dữ liệu để gửi cảnh báo qua email. Nó cho phép DBA phản hồi ngay lập tức và khắc phục sự cố. Chúng ta sẽ thảo luận về cách định cấu hình Thư và Cảnh báo Cơ sở dữ liệu trong một bài viết riêng sau.

Trong khi định cấu hình Replication, SQL Server theo mặc định sẽ tạo tập hợp các Cảnh báo bên dưới. Bạn có thể cấu hình chúng một cách dễ dàng cho các tiêu chí cần thiết. Nó cũng đảm bảo gửi Thông báo đến những người được yêu cầu để hành động ngay lập tức.

Kết luận

Cảm ơn bạn đã xem qua một bài viết rất lớn khác về Replication. Tôi hy vọng nó sẽ giúp làm rõ nội hàm của Nhân bản Giao dịch và các chi tiết về Cơ sở dữ liệu Phân phối, Đại lý Nhân bản và Chương trình Độc lập chịu trách nhiệm về những điều đó. Chúng tôi cũng đã xác định Độ trễ sao chép, Cảnh báo và Mã thông báo theo dõi.

Giờ đây, chúng ta có thể đi sâu hơn và tìm hiểu cách xử lý và giải quyết các vấn đề về Sao chép một cách chuyên nghiệp. Hãy theo dõi các bài viết tiếp theo!


  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ối ưu hóa TempDB:Tránh tắc nghẽn và các vấn đề về hiệu suất

  2. Làm cách nào để truy vấn tất cả các ngày lớn hơn một ngày nhất định trong SQL Server?

  3. Làm cách nào để thực hiện câu lệnh CẬP NHẬT với JOIN trong SQL Server?

  4. Cách định dạng giá trị phủ định bằng dấu ngoặc trong SQL Server (T-SQL)

  5. ISJSON () Ví dụ trong SQL Server (T-SQL)