Làm thế nào để các nhóm sẵn có làm việc với các công việc được quy định và các gói SSIS?


8

Tôi có 2 Máy chủ SQL được thiết lập với cơ sở dữ liệu trong Nhóm Luôn sẵn sàng.

Tôi cũng có các công việc được thiết lập chạy với cơ sở dữ liệu. Trong quá trình chuyển đổi dự phòng, làm thế nào để tôi đảm bảo các công việc sẽ tiếp tục chạy trên máy chủ thứ cấp? Tôi có cần cài đặt các công việc và gói SSIS trên cả hai máy và tắt chúng thủ công trên máy thứ cấp không ... sau đó kích hoạt chúng theo cách thủ công trong trường hợp chuyển đổi dự phòng? Hoặc có được xây dựng trong chức năng để xử lý này?

Câu trả lời:


4

Có, bạn sẽ cần tạo các công việc trên bất kỳ bản sao nào khác mà bạn muốn các công việc cụ thể đó chạy nếu chúng là bản sao chính.

Bạn sẽ cần tạo logic riêng cho nếu / khi mỗi công việc Tác nhân Máy chủ SQL sẽ chạy . Chẳng hạn, bạn có muốn chạy một công việc chỉ khi phiên bản hiện tại là bản sao chính của Nhóm sẵn có cụ thể? Bạn sẽ cần phải đưa nó vào công việc của bạn. Nó không thể được xóa tự động, vì điều đó sẽ lấy đi tính linh hoạt của Luôn luôn AG. Việc bạn muốn chúng bị vô hiệu hóa trên (các) bản sao phụ hoàn toàn tùy thuộc vào bạn, những công việc đó làm gì và làm thế nào / khi / nếu bạn muốn chúng chạy.

Hãy nhớ rằng, máy chủ bản sao thứ cấp không chỉ là máy chủ dự phòng chờ chuyển đổi dự phòng. Nó có thể là một máy chủ đầy đủ chức năng, có thể truy cập. Bởi vì điều này, có mọi công việc ngồi không hoạt động sẽ là một khuyết tật rất lớn.

Vì vậy, vâng, bạn sẽ cần phải đẩy công việc của chúng tôi sang các bản sao khác và sử dụng một số logic như nếu công việc nên tiếp tục thực hiện khi nó bắt đầu.

Chẳng hạn, các công việc sao lưu có thể tận dụng hàm sys.fn_hadr_backup_is_preferred_Vplica bằng cách xác định xem bản sao hiện tại có phải là bản sao ưu tiên cho cơ sở dữ liệu cụ thể hay không. Điều này sẽ rút ra cách bạn thiết lập Nhóm sẵn có cho các tùy chọn sao lưu.


Điều đó nghe có vẻ hứa hẹn. Tôi chỉ muốn các công việc chạy trên máy chủ chính (máy chủ nào có thể có tại thời điểm đó).
Giăng

1

Tôi đã gặp một chút thất vọng tương tự với tài liệu trên Books Online nói rằng 'khi lên lịch cho công việc của bạn, hãy thêm logic để chỉ thực hiện trên chính' nhưng không nói cách thực hiện. Sys.fn_hadr_backup_is_preferred_Vplica là siêu tốt cho các công việc sao lưu, nhưng dường như không có chức năng tương tự cho 'là chính' hoặc những gì có bạn. May mắn thay, bạn có thể lấy thông tin đó từ một cái gì đó như thế này:

select 
  DB_NAME(database_id),role_desc
from 
  sys.dm_hadr_availability_replica_states a
inner join 
  sys.dm_hadr_database_replica_states d
on 
  a.replica_id = d.replica_id
  and
  a.group_id = d.group_id
where 
  database_id = DB_ID()
and 
  d.is_local = 1

Điều đó sẽ chỉ cho bạn biết vai trò của cơ sở dữ liệu hiện tại.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.