Đổi tên toán tử SQL Server Agent


7

Tôi muốn đổi tên toán tử SQL Server Agent, đó là thay đổi tên của nó.

Đây có phải là một điều "hợp lệ" để làm? Tôi nhận thấy rằng việc cố gắng thay đổi tên trong SSMS thông qua hộp thoại Toán tử / Thuộc tính thực sự không làm gì cả. Tuy nhiên, nhấp vào toán tử được chọn trong Object Explorer cũng cho phép bạn đổi tên nó và tạo ra kết quả mong muốn.

Mối quan tâm khác của tôi là các công việc hiện có được thiết lập để gửi thông báo sử dụng tên của nhà điều hành cũ. Tôi sẽ không muốn họ không gửi thông báo nhưng mặt khác muốn tránh thay đổi tất cả chúng theo cách thủ công. Tôi đã tìm hiểu một chút và thấy rằng bảng dbo.sysjobs trong msdb sử dụng ID toán tử, vì vậy có vẻ như đó không phải là vấn đề. Tôi cũng đã thử nó trong một công việc thử nghiệm và sau khi đổi tên toán tử, mọi thứ vẫn hoạt động như mong đợi cộng với các thuộc tính công việc hiển thị tên toán tử mới mà tôi không phải làm gì cả. Vì vậy, có vẻ như nó không gây ra bất kỳ vấn đề nào cả nhưng tôi muốn một số xác nhận về điều này.

Câu trả lời:


9

Để thay đổi tên (hoặc bất kỳ tài sản nào khác của nhà điều hành), bạn sẽ thực hiện cuộc gọi đến msdb.dbo.sp_update_operator. Ví dụ:

exec msdb.dbo.sp_update_operator 
    @name = 'OldOperatorName', 
    @new_name = 'NewOperatorName';
go

Đối với SSMS: hầu hết mọi thứ bạn làm trong SSMS, bạn phải tùy chọn để loại bỏ các thay đổi bạn đang thực hiện trong GUI. Vì vậy, không cần nhấn Ok , bạn có thể chọn nút Script ở trên cùng để xem SSMS T-SQL nào sẽ được thực thi. Dường như ngay cả với một tên đã thay đổi (nghĩa là văn bản đã thay đổi trong hộp văn bản Tên), T-SQL được tạo không chứa @new_nametham số đã chỉ định cho lệnh gọi thủ tục được lưu trữ.

Đạo đức của câu chuyện? Đừng dựa vào UI. Nếu bạn muốn có toàn quyền kiểm soát những gì đang xảy ra thì bạn nên sử dụng T-SQL. Sẽ không có câu hỏi nào trong đầu bạn nếu bạn viết ra mã để làm những gì bạn muốn. Không có giả định, không có gì.

Về việc thay đổi tên, SQL Server lưu trữ ID của toán tử để tạo mối tương quan giữa thông báo -> toán tử chứ không phải tên toán tử. Vì vậy, không, bạn không bị ràng buộc với tên nhà điều hành và tôi không tin việc thay đổi tên của nhà điều hành sẽ phá vỡ bất cứ điều gì.

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.