关闭

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

648人阅读 评论(0) 收藏 举报
分类:
--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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1738871次
    • 积分:23925
    • 等级:
    • 排名:第267名
    • 原创:697篇
    • 转载:291篇
    • 译文:0篇
    • 评论:175条