我正在使用 mssql,我想实现这一目标:拥有 1 个数据库,2 个非 SA 用户。第一个用户应该是数据库的所有者,第二个用户应该对某些表具有读取权限,对其他表具有读+写权限。
第二个用户的表是由我们使用第一个用户的应用程序创建的。
我所做的步骤:
1)我执行创建 DB + 用户的脚本
CREATE LOGIN USER1
WITH PASSWORD = 'password';
GO
CREATE USER USER1 FOR LOGIN USER1;
GO
CREATE DATABASE my_database;
ALTER AUTHORIZATION ON DATABASE ::my_database TO USER1;
CREATE LOGIN USER2
WITH PASSWORD = 'password';
GO
CREATE USER USER2 FOR LOGIN USER2;
GO
Run Code Online (Sandbox Code Playgroud)
2) 我的应用程序执行创建表的脚本 + 向 USER2 授予对表的权限,这失败了,因为:
Cannot find the user 'USER2', because it does not exist or you do not
have permission.
Run Code Online (Sandbox Code Playgroud)
我的问题是如何授予 USER1 权限以在 my_database 中为其他用户添加读/写权限?不过,那个数据库所有者就足够了。 …