-- 替换:ReadOnlyUser 账号名、123456@Abc 自定义强密码CREATE LOGIN ReadOnlyUser WITH PASSWORD = N'123456@Abc',CHECK_EXPIRATION = OFF, -- 密码永不过期(按需开启)CHECK_POLICY = OFF;
USE 你的数据库名; -- 替换为实际业务库名GO-- 创建数据库用户,关联上面的登录名CREATE USER ReadOnlyUser FOR LOGIN ReadOnlyUser;-- 分配内置只读角色 db_datareader(仅查询所有表/视图,无修改权限)EXEC sp_addrolemember 'db_datareader', 'ReadOnlyUser';
USE 你的数据库名;GO-- 仅开放表1、表2查询权限GRANT SELECT ON dbo.表1 TO ReadOnlyUser;GRANT SELECT ON dbo.表2 TO ReadOnlyUser;-- 回收全库读权限(如果之前加过db_datareader)EXEC sp_droprolemember 'db_datareader', 'ReadOnlyUser';
USE 你的数据库名;GRANT VIEW DEFINITION TO ReadOnlyUser;
GRANT VIEW SERVER STATE TO ReadOnlyUser;
-- 查看用户拥有的角色USE 你的数据库名;EXEC sp_helprolemember;-- 测试:只读账号只能SELECT,执行INSERT/UPDATE/DELETE会直接报错SELECT * FROM dbo.表名; -- 正常执行INSERT INTO dbo.表名 VALUES(1); -- 权限拒绝
db_datareader(只读),不要勾选 db_owner/db_datawriterCREATE USER + sp_addrolemember 绑定权限。-- 修改只读账号密码ALTER LOGIN ReadOnlyUser WITH PASSWORD=N'新密码@123';-- 临时禁用账号ALTER LOGIN ReadOnlyUser DISABLE;-- 删除账号(先删库用户,再删登录)USE 你的数据库名;DROP USER ReadOnlyUser;GODROP LOGIN ReadOnlyUser;
服务器地址: 127.0.0.1,1433身份验证: SQL Server 身份验证用户名: ReadOnlyUser密码: 123456@Abc数据库: 你的数据库名
以上就是SQL Server创建只读账号完整操作的两种方法的详细内容,更多关于SQL Server创建只读账号方法的资料请关注本站其它相关文章!
