📅  最后修改于: 2023-12-03 15:32:59.305000             🧑  作者: Mango
在MS SQL Server中,权限是指用户或用户组对数据库对象进行操作的权利,比如SELECT、UPDATE等操作。有不同类型的权限,如登录权限、数据库级别的权限和对象级别的权限。
要创建新的登录账户并授予权限,可以使用以下脚本:
CREATE LOGIN [testuser] WITH PASSWORD = 'mypassword'
可以授予登录权限,例如:
USE [master];
GO
CREATE LOGIN [myLogin] WITH PASSWORD=N'myPassword',
DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF;
GO
GRANT CONNECT SQL TO [myLogin];
GO
以下示例演示如何创建新用户和授予对数据库读取、写入和执行的权限:
步骤1:为用户创建登录名称和密码
USE [master]
GO
CREATE LOGIN [newuser] WITH PASSWORD=N'mypassword',
DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
步骤2:为用户创建数据库用户/用户
USE [mydatabase]
GO
CREATE USER [newuser] FOR LOGIN [newuser]
GO
步骤3:授予用户对特定数据库的权限
USE [mydatabase]
GO
GRANT SELECT, INSERT, EXECUTE TO [newuser]
GO
以下示例演示如何授予对表、视图或存储过程等对象的不同权限:
授予SELECT权限:
USE [mydatabase]
GO
GRANT SELECT ON [dbo].[mytable] TO [newuser]
GO
授予INSERT、UPDATE或DELETE权限:
USE [mydatabase]
GO
GRANT INSERT, UPDATE, DELETE ON [dbo].[mytable] TO [newuser]
GO
授予EXECUTE权限:
USE [mydatabase]
GO
GRANT EXECUTE ON [dbo].[myprocedure] TO [newuser]
GO
以上示例演示了如何分配权限,以便用户可以对数据库和其中的对象进行访问和操作。这些脚本可以方便地在SQL Server Management Studio中执行,也可以放入存储过程中进行批量分配。