Jos*_*rke 11
这是一个创建新用户的脚本,并为他提供仅对特定视图的选择权限.
USE [master]
GO
CREATE LOGIN [LimitedUser] WITH PASSWORD=N'testPass',
DEFAULT_DATABASE=[master],
CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
USE [TestDB]
GO
CREATE USER [LimitedUser] FOR LOGIN [LimitedUser]
GO
use [TestDB]
GO
GRANT SELECT ON [dbo].[myView] TO [LimitedUser]
GO
Run Code Online (Sandbox Code Playgroud)
而不是为特定用户执行此操作,您可能需要考虑使用角色.
USE [TestDB]
GO
CREATE ROLE [LimitedRole]
GO
GRANT SELECT ON [dbo].[TestView] TO [LimitedRole]
GO
EXEC sp_addrolemember N'LimitedRole', N'LimitedUser'
GO
Run Code Online (Sandbox Code Playgroud)
这样,如果您有多个用户,例如在Windows身份验证模式下,您可能拥有许多用户,则可以授予所有用户访问此角色的权限.这样,在添加/删除视图时,您无需触及每个用户.