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

Cách thay đổi số thứ tự của tài khoản thư cơ sở dữ liệu trong cấu hình trong SQL Server (T-SQL)

Nếu bạn đã thêm tài khoản Thư cơ sở dữ liệu vào cấu hình, nhưng bây giờ bạn muốn thay đổi số thứ tự, bạn có thể thực hiện việc đó với sysmail_update_profileaccount_sp thủ tục được lưu trữ.

Khi thực hiện việc này, bạn cần cung cấp tên hoặc ID của cả tài khoản và hồ sơ. Điều này là do bạn cần chỉ định chính xác cấu hình / liên kết tài khoản mà bạn muốn cập nhật.

Ví dụ

Dưới đây là một ví dụ để chứng minh:

EXECUTE msdb.dbo.sysmail_update_profileaccount_sp  
    @profile_name = 'DB Admin Profile',
    @account_name = 'DB Admin',
    @sequence_number = 2;

Ví dụ này thay đổi số thứ tự cho tài khoản có tên “Quản trị viên DB” trong cấu hình được gọi là “Hồ sơ quản trị viên DB”.

Trong trường hợp này, tôi đã thay đổi số thứ tự thành 2, có nghĩa là tài khoản "Quản trị viên DB" sẽ chỉ được sử dụng nếu tài khoản đầu tiên bị lỗi.

Sử dụng ID hồ sơ / tài khoản

Trong ví dụ này, tôi sử dụng ID hồ sơ và tài khoản thay vì tên của chúng:

EXECUTE msdb.dbo.sysmail_update_profileaccount_sp  
    @profile_id = 1,
    @account_id = 1,
    @sequence_number = 3;

Sử dụng Kết hợp ID và Tên

Ngoài ra, bạn có thể cung cấp ID của một và tên của người kia.

Ví dụ:

EXECUTE msdb.dbo.sysmail_update_profileaccount_sp 
    @profile_name = 'DB Admin Profile',
    @account_id = 1,
    @sequence_number = 4;

Hoặc ngược lại:

EXECUTE msdb.dbo.sysmail_update_profileaccount_sp
    @profile_id = 1,
    @account_name = 'DB Admin',
    @sequence_number = 1;

Số thứ tự hoạt động như thế nào?

Bạn có thể thêm nhiều tài khoản vào cấu hình Thư cơ sở dữ liệu. Số thứ tự xác định thứ tự mà các tài khoản đó được sử dụng trong hồ sơ khi gửi thư. Thư Cơ sở dữ liệu bắt đầu với tài khoản có số thứ tự thấp nhất. Nếu tài khoản đó không thành công, tài khoản có số thứ tự cao nhất tiếp theo sẽ được sử dụng, v.v.

Nếu tồn tại nhiều tài khoản có cùng số thứ tự, Database Mail sẽ chỉ sử dụng một trong những tài khoản đó cho một email nhất định.

Tuy nhiên, không có gì đảm bảo rằng cùng một tài khoản sẽ được sử dụng cho các tin nhắn tiếp theo. Ví dụ:nếu hai tài khoản chia sẻ số thứ tự là 1, bạn có thể nhận được một số email từ một tài khoản và một số từ tài khoản kia.

Tôi nên chỉ ra rằng, theo bài viết này của Microsoft, khi bạn gửi một thư email mới, Thư cơ sở dữ liệu thực sự bắt đầu với tài khoản cuối cùng đã gửi thư thành công hoặc tài khoản có số thứ tự thấp nhất nếu chưa có tin nhắn nào được gửi.

Thực tế là nó bắt đầu với tài khoản cuối cùng đã gửi tin nhắn thành công không được đề cập trong tài liệu chính thức cho sysmail_add_profileaccount_sp hoặc sysmail_update_profileaccount_sp .

Dù bằng cách nào, đó là điều cần lưu ý và nó có thể giúp bạn không phải vò đầu bứt tóc nếu DB Mail dường như đang bỏ qua số thứ tự của bạn.

Vị trí của Thủ tục được Lưu trữ

Lưu ý rằng sysmail_update_profileaccount_sp thủ tục được lưu trữ trong msdb cơ sở dữ liệu và nó thuộc sở hữu của dbo lược đồ. Do đó, bạn sẽ cần sử dụng cách đặt tên ba phần nếu thực thi nó từ bên ngoài msdb cơ sở dữ liệu.

Cách trả lại thông tin tài khoản và hồ sơ

Các bài viết sau cung cấp hướng dẫn để trả lại thông tin tài khoản và hồ sơ.

  • Nhận danh sách các tài khoản thư cơ sở dữ liệu trong SQL Server
  • Trả lại danh sách cấu hình thư cơ sở dữ liệu trong SQL Server


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Xác thực SQL Server so với xác thực Windows:Sử dụng cái nào và khi nào

  2. Khắc phục sự cố từ chối truy cập đang chờ xử lý phục hồi cơ sở dữ liệu SQL

  3. SSMS phiên bản 18 - không có Sơ đồ cơ sở dữ liệu

  4. Truy vấn SQL chậm trong ứng dụng .NET nhưng ngay lập tức trong SQL Server Management Studio

  5. cách hiệu quả để triển khai phân trang