如何更改 SQL Server 数据库的默认安全性以便每个人都可以使用它?

Cha*_*ton 1 security sql-server permissions ssms

我的机器上托管了一个数据库,我希望同事能够通过我创建的程序访问和编辑该数据库。

我当前的连接字符串是:

Server=MyMachine;Database=MyDatabase;Integrated Security=True;
Run Code Online (Sandbox Code Playgroud)

为了让另一个用户访问它,我必须:

  1. 在 SQL Server Management Studio 中添加数据库安全下的用户
  2. 在 SSMS 中添加服务器安全下的用户
  3. 运行脚本:

    USE Database
        GRANT SELECT, INSERT, UPDATE, DELETE TO [Username]
    GO
    
    Run Code Online (Sandbox Code Playgroud)

我如何配置它以便我的工作网络上的每个人(或 Windows 用户名以“ MyCompany\”开头的每个人)都可以默认拥有这些权限?这样我就不必手动添加每个新人。

RLF*_*RLF 8

您可以创建一个域组,用于在 SQL Server 和 YourDatabase 上创建为登录名和用户。创建域组后,您可以执行以下操作:

USE [master]
GO
CREATE LOGIN [DOMAIN\AllUsersForYourDatabase] FROM WINDOWS
GO
USE [YourDatabase]
GO
CREATE USER [DOMAIN\AllUsersForYourDatabase] 
FOR LOGIN [DOMAIN\AllUsersForYourDatabase] 
GO
Run Code Online (Sandbox Code Playgroud)

然后,您可以登录该组的域成员。所有登录都将继承授予他们访问权限的组的权限。(Domain Users如果你真的想要每个人,你可以加入这个组域中的拥有访问权限,。)

当然,你需要授予所需权限的YourDatabase用户[DOMAIN\AllUsersForYourDatabase],因此组中的每个人都得到同样的权利。

如果您需要某些用户拥有其他权限,可以单独授予这些权限。或者您可以创建另一个组,其中仅包含具有额外权限的用户。用户将获得该登录的所有组的所有权限的总和。