创建一个只读的登录名/用户名

--1. 新建登录名
USE [master]
GO
if not exists(select * from sys.server_principals 
              where name = 'r7')
	BEGIN
		PRINT '不存在此登录名'
		CREATE LOGIN r7 WITH PASSWORD=N'r7', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
	END
ELSE
	PRINT '已存在此登录名'
GO
--2. 在指定库新建用户名
USE [db_Study]
GO
if not exists(select * from sys.database_principals
              where name = 'r7')
	BEGIN
		PRINT '不存在此用户'
		CREATE USER r7 FOR LOGIN r7
	END
ELSE
	PRINT '已存在此用户'
GO
--3. 将只读权限给新建用户名
USE [db_Study]
GO
if not exists(
                select *
                from sys.database_role_members rm  
                inner join sys.database_principals dp  
                        on dp.principal_id = rm.role_principal_id  
                   
                inner join sys.database_principals dpp  
                        on dpp.principal_id = rm.member_principal_id 
                where dp.name = 'db_datareader' and dpp.name = 'r7'
	)
	BEGIN
		PRINT '不存在只读权限'
		EXEC sp_addrolemember N'db_datareader', N'r7'	
	END
ELSE
	PRINT '已存在只读权限'
GO

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值