Sql server 授予对数据库的所有操作的权限

Sql server 授予对数据库的所有操作的权限,sql-server,Sql Server,如何向数据库中的所有表/过程授予select/update/insert/execute权限?创建角色 因为我想让GuestAll select对某些表的权限,所以用户只需选择、更新、插入对表的权限和管理员对数据库中所有对象的所有权限方法1在有大量用户时非常有用。 将SCHEMA::SchemaName上的SELECT、INSERT、DELETE和UPDATE授予主体(通常是模式的DBO) 对于委托人来说,最好使用一个角色而不是一个用户,除非您只有几个用户,否则它通常会简化您的管理 现在,如果添

如何向数据库中的所有表/过程授予select/update/insert/execute权限?创建角色


因为我想让GuestAll select对某些表的权限,所以用户只需选择、更新、插入对表的权限和管理员对数据库中所有对象的所有权限方法1在有大量用户时非常有用。 将SCHEMA::SchemaName上的SELECT、INSERT、DELETE和UPDATE授予主体(通常是模式的DBO)

对于委托人来说,最好使用一个角色而不是一个用户,除非您只有几个用户,否则它通常会简化您的管理

现在,如果添加了实用程序模式,则用户无权访问数据,但是,如果将表添加到SchemaName模式中,则用户自动拥有访问权限

方法2在用户较少的情况下非常有用。 如果需要访问数据库中的所有表,请将用户添加到db_datareader和db_datawriter角色。它简短而简单

USE [DBName]
GO
EXEC sp_addrolemember N'db_datawriter', N'UserName'
GO
EXEC sp_addrolemember N'db_datareader', N'UserName'

参考资料:

方法1在有大量用户时非常有用。 将SCHEMA::SchemaName上的SELECT、INSERT、DELETE和UPDATE授予主体(通常是模式的DBO)

对于委托人来说,最好使用一个角色而不是一个用户,除非您只有几个用户,否则它通常会简化您的管理

现在,如果添加了实用程序模式,则用户无权访问数据,但是,如果将表添加到SchemaName模式中,则用户自动拥有访问权限

方法2在用户较少的情况下非常有用。 如果需要访问数据库中的所有表,请将用户添加到db_datareader和db_datawriter角色。它简短而简单

USE [DBName]
GO
EXEC sp_addrolemember N'db_datawriter', N'UserName'
GO
EXEC sp_addrolemember N'db_datareader', N'UserName'

参考资料:

我将创建角色。或者特别是一个角色,因为您描述为来宾的角色已经存在,即公共角色和管理员角色,即db_所有者角色。但让我们把它变成现实

create role [Users];

grant select on tbl_1, tbl2, tbl3 to [public];
grant select, insert, update, delete to [Users];

exec sp_addrolemember @membername = 'yourdomain\Users', @rolename='Users'
exec sp_addrolemember @membername = 'yourdomain\Admins', @rolename='db_owner'
--no need to add people to public; everyone's a member by default

我将创建角色。或者特别是一个角色,因为您描述为来宾的角色已经存在,即公共角色和管理员角色,即db_所有者角色。但让我们把它变成现实

create role [Users];

grant select on tbl_1, tbl2, tbl3 to [public];
grant select, insert, update, delete to [Users];

exec sp_addrolemember @membername = 'yourdomain\Users', @rolename='Users'
exec sp_addrolemember @membername = 'yourdomain\Admins', @rolename='db_owner'
--no need to add people to public; everyone's a member by default

我不明白。如果我想将用户添加为来宾,我需要编写exec sp_addrolember'public',对于admin为'Joe',对于public为'db_owner',否;默认情况下,everyone是public角色的成员,但您必须将其作为用户添加到数据库中。但是,对于管理员用户,您可以将其添加到db_所有者角色中。希望你有一个广告组,你可以添加为用户,而不是管理个人。我不明白。如果我想将用户添加为来宾,我需要编写exec sp_addrolember'public',对于admin为'Joe',对于public为'db_owner',否;默认情况下,everyone是public角色的成员,但您必须将其作为用户添加到数据库中。但是,对于管理员用户,您可以将其添加到db_所有者角色中。希望你有一个广告组,你可以添加为用户,而不是管理个人。