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

Giám sát đồng bộ hóa bản sao nhóm khả dụng

Nếu bạn đang triển khai Nhóm tính khả dụng của SQL Server, một trong những khía cạnh quan trọng của việc triển khai thành công là giám sát sự đồng bộ hóa của cơ sở dữ liệu bản sao thứ cấp với bản sao chính. Có nhiều cách để giám sát đồng bộ hóa bản sao trong Nhóm sẵn có và bài đăng này sẽ hiển thị từng cách trong số đó và giải thích những lợi ích và hạn chế của chúng,

Một trong những cách dễ nhất để theo dõi trạng thái của Nhóm khả dụng, từng máy chủ bản sao và cơ sở dữ liệu về tính khả dụng là thông qua bảng điều khiển tích hợp sẵn trong Management Studio. Tuy nhiên, bố cục mặc định của trang tổng quan không cung cấp nhiều chi tiết và sẽ cần được tùy chỉnh để hiển thị thêm thông tin về các máy chủ bản sao cũng như cơ sở dữ liệu về tính khả dụng. Các cột bổ sung có thể được thêm vào bố cục thông qua liên kết Thêm / Xóa Cột trên trang tổng quan hoặc thông qua menu ngữ cảnh nhấp chuột phải vào bất kỳ tiêu đề cột hiện có nào, như được hiển thị bên dưới:

Tùy chỉnh Trang tổng quan AG trong SSMS

Đối với cơ sở dữ liệu tính khả dụng, việc theo dõi Kích thước hàng đợi gửi nhật ký (KB), Tốc độ gửi nhật ký (KB / giây), Mất dữ liệu ước tính (thời gian), Thời gian khôi phục ước tính (giây) và Hiệu suất đồng bộ hóa (giây) sẽ giúp bạn hiểu rõ hơn về cách dữ liệu được chuyển đến các bản sao và tình trạng tổng thể của cơ sở dữ liệu về tính khả dụng. Ví dụ:trong ảnh chụp màn hình bên dưới, tôi đã sửa đổi cấu hình mạng VM cho SQL03 để nó có độ trễ cao hơn và thông lượng thấp hơn, điều này đang ảnh hưởng đến việc đồng bộ hóa cơ sở dữ liệu:

Ở đây, chúng ta có thể thấy rằng có gần sáu phút có khả năng mất dữ liệu đối với SQL03 và 505 MB nhật ký chưa gửi đang được gửi với tốc độ 7 MB / giây đến thứ cấp (trong trường hợp này, là thứ cấp không đồng bộ) . Trong khi đó SQL02 hiện đã được bắt kịp và không bị mất dữ liệu như một thứ cấp đồng bộ trong cấu hình.

Một giải pháp thay thế cho Trang tổng quan Nhóm Tính khả dụng là truy vấn trực tiếp các DMV, đây là nơi trang tổng quan lấy thông tin của nó làm nguồn. Truy vấn sau đây hiển thị trạng thái hiện tại và số liệu đồng bộ hóa cho từng cơ sở dữ liệu trong một nhóm khả dụng:

SELECT 
	ar.replica_server_name, 
	adc.database_name, 
	ag.name AS ag_name, 
	drs.is_local, 
	drs.is_primary_replica, 
	drs.synchronization_state_desc, 
	drs.is_commit_participant, 
	drs.synchronization_health_desc, 
	drs.recovery_lsn, 
	drs.truncation_lsn, 
	drs.last_sent_lsn, 
	drs.last_sent_time, 
	drs.last_received_lsn, 
	drs.last_received_time, 
	drs.last_hardened_lsn, 
	drs.last_hardened_time, 
	drs.last_redone_lsn, 
	drs.last_redone_time, 
	drs.log_send_queue_size, 
	drs.log_send_rate, 
	drs.redo_queue_size, 
	drs.redo_rate, 
	drs.filestream_send_rate, 
	drs.end_of_log_lsn, 
	drs.last_commit_lsn, 
	drs.last_commit_time
FROM sys.dm_hadr_database_replica_states AS drs
INNER JOIN sys.availability_databases_cluster AS adc 
	ON drs.group_id = adc.group_id AND 
	drs.group_database_id = adc.group_database_id
INNER JOIN sys.availability_groups AS ag
	ON ag.group_id = drs.group_id
INNER JOIN sys.availability_replicas AS ar 
	ON drs.group_id = ar.group_id AND 
	drs.replica_id = ar.replica_id
ORDER BY 
	ag.name, 
	ar.replica_server_name, 
	adc.database_name;

Bằng cách truy vấn trực tiếp các DMV trên bản sao chính, bạn có thể dễ dàng nhận được thông tin cập nhật mà không cần đợi khoảng thời gian làm mới trang tổng quan trong Management Studio. Điều này đã hữu ích một vài lần khi tham khảo ý kiến ​​của khách hàng về lỗi liên kết giữa các trung tâm dữ liệu hoặc kết nối bị gián đoạn để bảo trì trong một khoảng thời gian và các bản sao thứ cấp đang trong quá trình bắt kịp sau khi kết nối được khôi phục .

Công cụ gốc cuối cùng để giám sát đồng bộ hóa Nhóm Khả dụng là Giám sát Hiệu suất, sử dụng đối tượng hiệu suất SQLServer:Cơ sở dữ liệu Bản sao. Bảng bên dưới hiển thị các bộ đếm hiệu suất liên quan và mô tả của chúng từ Sách Trực tuyến (https://msdn.microsoft.com/en-us/library/ff878356(v=sql.110).aspx):

Tên quầy Mô tả
Số byte tệp đã nhận / giây Lượng dữ liệu FILESTREAM nhận được bởi bản sao thứ cấp cho cơ sở dữ liệu thứ cấp trong giây cuối cùng.
Số byte nhật ký đã nhận / giây Số lượng bản ghi nhật ký mà bản sao phụ nhận được cho cơ sở dữ liệu trong giây cuối cùng.
Còn lại nhật ký để hoàn tác Số kilobyte đăng nhập còn lại để hoàn tất giai đoạn hoàn tác.
Hàng đợi Gửi nhật ký Số lượng bản ghi nhật ký trong tệp nhật ký của cơ sở dữ liệu chính, tính bằng kilobyte, chưa được gửi đến bản sao thứ cấp. Giá trị này được gửi đến bản sao thứ cấp từ bản sao chính. Kích thước hàng đợi không bao gồm các tệp FILESTREAM được gửi đến tệp phụ.
Hàng đợi khôi phục Số lượng bản ghi nhật ký trong các tệp nhật ký của bản sao phụ chưa được làm lại.
Làm lại bị chặn / giây Số lần chuỗi làm lại bị chặn trên các ổ khóa do người đọc cơ sở dữ liệu nắm giữ.
Làm lại số byte còn lại Số kilobyte đăng nhập còn lại sẽ được làm lại để kết thúc giai đoạn hoàn nguyên.
Làm lại byte / giây Số lượng bản ghi nhật ký được làm lại trên cơ sở dữ liệu thứ cấp trong giây cuối cùng.
Nhật ký tổng số yêu cầu hoàn tác Tổng số kilobyte nhật ký phải được hoàn tác.

Một trong những thách thức và hạn chế của việc sử dụng Performance Monitor để giám sát môi trường là đối tượng chỉ hợp lệ trên phiên bản SQL Server lưu trữ một bản sao thứ cấp. Điều này có nghĩa là bạn phải thêm bộ đếm từ mỗi bản sao thứ cấp vào Màn hình hiệu suất để có được cái nhìn đầy đủ về những gì đang xảy ra với tất cả cơ sở dữ liệu thứ cấp, nơi cả Bảng điều khiển AG trong Management Studio và truy vấn DMV đối với bản sao chính, cung cấp thông tin về tất cả các cơ sở dữ liệu thứ cấp ở một vị trí duy nhất.

Để thay thế cho các tính năng tích hợp sẵn để giám sát đồng bộ hóa Nhóm khả dụng, bạn cũng có thể tận dụng các công cụ của bên thứ ba như SQL Sentry Performance Advisor, bao gồm việc giám sát các Nhóm khả dụng như một tính năng tiêu chuẩn. Bạn có thể đọc thêm về tính năng này trong bài đăng trên blog này của Greg Gonzalez, người lần đầu tiên giới thiệu tính năng này trong phiên bản 7.5 của sản phẩm.

Trang tổng quan AG của Cố vấn Performacnce

Tab Replicas trong Performance Advisor cho phép mở rộng từng máy chủ bản sao thứ cấp để hiển thị cơ sở dữ liệu và dữ liệu đồng bộ hóa hiện tại của chúng một cách dễ dàng. Bố cục mặc định WSFC Node / Group Matrix ở đầu bảng điều khiển cũng cung cấp thông tin về tình trạng hàng đợi gửi của bản sao chính, trạng thái hàng đợi làm lại của bản sao thứ cấp và luồng dữ liệu giữa mỗi máy chủ bản sao. Trong ví dụ này, chúng ta có thể thấy rằng hàng đợi gửi nhật ký trên chính hiện đang gửi một lượng lớn dữ liệu từ SQL01 đến SQL03, dựa trên độ rộng của dòng giữa các máy chủ, sau khi sự cố kết nối giữa SQL01 và SQL03 đã được khắc phục trong môi trường. Biểu đồ bên phải hiển thị tốc độ dữ liệu đang được truyền từ SQL01, cùng với kích thước hiện tại của Hàng đợi Gửi nhật ký, vì đó là bản sao được chọn ở phía bên trái. Nhấp vào một trong các máy chủ bản sao khác trong bố cục WSFC Node / Group Matrix cũng sẽ thay đổi biểu đồ để phù hợp với số liệu hiệu suất của bản sao cụ thể đó ở phía bên phải.

Có nhiều cách để giám sát hiệu suất đồng bộ hóa dữ liệu giữa các máy chủ bản sao trong Nhóm sẵn sàng trong SQL Server. Bảng điều khiển Nhóm sẵn có được tích hợp sẵn trong Management Studio chứa nhiều thông tin mà bạn có thể dễ dàng truy cập khi bạn biết cách tùy chỉnh bố cục để hiển thị thông tin quan trọng nhất trên trang tổng quan. Cũng có thể sử dụng DMV trực tiếp từ máy chủ bản sao chính để giám sát hiệu suất đồng bộ hóa dữ liệu bằng Transact-SQL và các công cụ của bên thứ ba như SQL Sentry cũng bao gồm việc giám sát đồng bộ hóa dữ liệu. Mặc dù Performance Monitor có thể cung cấp cùng một thông tin này, nhưng thực tế là các bộ đếm hiệu suất chỉ có sẵn từ máy chủ bản sao thứ cấp khiến cho việc có được cái nhìn đầy đủ về toàn bộ môi trường sẽ phải làm việc nhiều hơn một chút.

  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ổng quan về Lệnh DBCC SHRINKFILE

  2. Hệ thống quản lý cơ sở dữ liệu cỡ lớn:Thiết kế và Kiến trúc sư

  3. Các tính năng không được dùng nữa để đưa ra khỏi hộp công cụ của bạn - Phần 3

  4. Giới thiệu về chốt

  5. Cách xóa các bản sao trong SQL