Chúng tôi có một tình huống mà Nhà phát triển không có bất kỳ UPDATE
quyền nào , NHƯNG họ làm việc với các ứng dụng và xem các chuỗi kết nối -> họ biết mật khẩu từ một số tài khoản SQL (ví dụ SQLLogin1
) có quyền CẬP NHẬT. Hoạt động của chúng tôi hiện không hoàn hảo và đôi khi dữ liệu sản xuất cần được sửa đổi (chưa có GUI cho điều đó).
Thay vì liên hệ với DBA và yêu cầu anh ta sửa đổi dữ liệu, Nhà phát triển sẽ (sử dụng không đúng cách) sử dụng tài khoản SQL SQLLogin1
(có quyền sửa đổi dữ liệu) và kết nối qua SQL Server Management Studio để tự sửa đổi dữ liệu.
DBA không thể thay đổi mật khẩu SQLLogin1
mà không có Nhà phát triển thấy chuỗi kết nối mới và mật khẩu mới, vì chuỗi kết nối ứng dụng SQLLogin1
được Nhà phát triển duy trì.
Câu hỏi:
Có cách nào để từ chối quyền truy cập vào SQLLogin1
đăng nhập SQL, nhưng chỉ khi nó được kết nối qua SSMS?
Đồng thời nếu SQLLogin1
kết nối qua .Net SqlClient Data Provider
( program_name
trong sys.dm_exec_sessions
), nó phải được phép đăng nhập.
Bằng cách này, chúng tôi muốn không cho Nhà phát triển kết nối qua SSMS bằng cách sử dụng SQLLogin1
, trong khi ứng dụng đang sử dụng SQLLogin1
, vẫn có thể kết nối.