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

Sự cố tài khoản công việc của tác nhân SQL Server

Tôi thường chạy các công việc SQL Server Agent trong cùng một tài khoản khi ứng dụng của bạn truy cập cơ sở dữ liệu.

Nếu tài khoản đó quá giới hạn về quyền của nó (có thể là một điều tốt!), Tôi sẽ tạo một tài khoản duy nhất cho ứng dụng đó và tất cả các công việc SQL của nó (nếu có thể) và chạy tất cả các công việc SQL trong tài khoản đó.

Bạn có thể chạy từng bước trong một tài khoản khác nhau, nhưng tôi sẽ không sử dụng điều đó nói chung (nó chỉ khiến bạn thực sự khó biết và hiểu những gì được chạy trong tài khoản nào). Chỉ sử dụng nó nếu bạn phải chạy một bước đặc biệt nhạy cảm cần nhiều quyền bổ sung và những quyền đó chỉ có sẵn cho một tài khoản hệ thống cụ thể hoặc một cái gì đó.

Tài khoản mà dịch vụ cửa sổ SQL Server Agent chạy thực sự không ảnh hưởng đến những gì các bước công việc của bạn sẽ được thực hiện.

Vì vậy, thực sự chỉ có hai tài khoản:

  • cần một tài khoản để chạy dịch vụ SQL Server Agent Windows - đây là tài khoản Windows trên máy / máy chủ của bạn cần có đủ quyền để chạy dịch vụ, khởi động và dừng dịch vụ - sử dụng LocalSystem, Network Service hoặc bất kỳ Windows nào khác tài khoản bạn có để chạy các dịch vụ với

  • Tài khoản khác sẽ là tài khoản để chạy các bước SQL Server Agent của bạn - đó thường là tài khoản SQL Server (có thể dựa trên tài khoản Windows) và nó cần có đủ đặc quyền bên trong SQL Server để thực hiện công việc của mình, ví dụ:nó cần quyền truy cập vào các đối tượng cơ sở dữ liệu và tất cả. Tôi sẽ cố gắng chỉ có một tài khoản cho mỗi ứng dụng chạy các công việc SQL Server - làm cho cuộc sống dễ dàng hơn rất nhiều!

Marc

Tái bút:Để đặt người dùng chạy một bước theo, bạn cần sử dụng trang "Nâng cao" trên hộp thoại thuộc tính Bước công việc và chọn người dùng từ cửa sổ bật lên:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhận giá trị trả lại từ JDBC MSSQL

  2. Không thể sử dụng mệnh đề UPDATE với OUTPUT khi có trình kích hoạt trên bảng

  3. Tham gia tự nhiên trong SQL Server

  4. thêm thông tin mã hóa vào kết quả của FOR XML

  5. bất kỳ giới hạn nào về số lượng kết nối SQL Server?