Trong SQL Server, bạn có thể có các tài khoản dựa trên tài khoản Windows hoặc các tài khoản SQL cụ thể, riêng biệt. Đối với cả hai biến thể, bạn cần một tài khoản cho mỗi người dùng cần sử dụng cơ sở dữ liệu của bạn.
Ngoại lệ duy nhất là khả năng tạo Đăng nhập máy chủ SQL cho nhóm bảo mật Windows , ví dụ. MyAppUsers
, và sau đó là người dùng trong cơ sở dữ liệu của bạn cho lần đăng nhập đó. Với điều này, bất kỳ tài khoản Windows nào là thành viên của nhóm bảo mật đó (trong Windows / AD) cũng sẽ có quyền xem / sử dụng cơ sở dữ liệu của bạn.
Với cách tiếp cận này, bạn cũng sẽ chuyển quyền quản trị ai có thể sử dụng cơ sở dữ liệu của bạn ra khỏi SQL Server, vì nó thực sự chỉ phụ thuộc vào tư cách thành viên trong nhóm bảo mật Windows.
Một lần đăng nhập, một người dùng - nhiều tài khoản Windows có quyền với điều này. Với tôi, có vẻ như là một người chiến thắng!
Cập nhật:
Tạo thông tin đăng nhập cho nhóm Windows AD:
CREATE LOGIN [DOMAIN\GroupName] FROM WINDOWS
Tạo người dùng trong cơ sở dữ liệu của bạn dựa trên thông tin đăng nhập đó:
USE (your database)
CREATE USER GroupNameUser
FOR LOGIN [DOMAIN\GroupName]
Chuỗi kết nối cho kết nối SQL Server của bạn:
server=(your server);database=(your database);integrated security=SSPI;
Tôi có thể nói gì khác với bạn?
Cập nhật # 2: mã không sử dụng tài khoản Windows là:
Tạo thông tin đăng nhập cho từng người dùng cần sử dụng ứng dụng của bạn
CREATE LOGIN (some login name) WITH PASSWORD = 'Top$ecret'
Tạo người dùng trong cơ sở dữ liệu của bạn dựa trên thông tin đăng nhập đó - một lần nữa, một lần cho mỗi người dùng ứng dụng của bạn:
USE (your database)
CREATE USER UserName
FOR LOGIN (some login name)
Chuỗi kết nối cho kết nối SQL Server của bạn:
server=(your server);database=(your database);
user id=UserName;Password=Top$ecret
Nhưng một lần nữa:điều này yêu cầu một lần đăng nhập bao gồm mật khẩu và một người dùng trong mỗi cơ sở dữ liệu mà bạn cần theo dõi và có thể thực hiện những việc như thao tác "đặt lại mật khẩu", v.v. từ ứng dụng cơ sở dữ liệu của bạn. Nhiều hơn về chi phí quản trị viên!