数据库创建只读用户
来源:本站原创
点击数: 次
发布时间:2026年06月10日
解决办法一:使用 SSMS 界面操作
请确认你是否漏掉了第一步。正确的操作顺序是:
先建登录名: 在左侧导航栏,展开 “安全性” (Security) -> 右键“登录名” (Logins) -> “新建登录名”。在这里创建一个名叫
dbrd1的账号,选择 SQL Server 身份验证并设置密码。后映射用户: 创建登录名的窗口先别关,直接点击该窗口左侧的 “用户映射” (User Mapping),在右边勾选你的数据库,并在下方勾选
db_datareader。点击确定,这样它会自动帮你把登录名和数据库用户一并建好,绝不会报 15007 错误。
解决办法二:直接用 T-SQL 脚本搞定
如果你刚才是在某个数据库下右键新建用户报错的,可以关掉那个报错窗口,直接点击 SSMS 顶部的 “新建查询” (New Query),把下面的代码复制进去。
注意修改代码里的 [你的数据库名] 和 N'你的密码',然后点击执行:
SQL
-- 【第一步】切换到 master 数据库,创建服务器级别的“登录名”
USE [master];
GO
CREATE LOGIN [dbrd1]
WITH PASSWORD = N'替换成你的强密码_123', -- 这里写你想设置的密码
DEFAULT_DATABASE = [你的数据库名], -- 替换为你的目标数据库名
CHECK_EXPIRATION = OFF,
CHECK_POLICY = OFF;
GO
-- 【第二步】切换到你的目标数据库,创建“用户”并关联刚才的登录名 USE [你的数据库名]; -- 替换为你的目标数据库名 GO CREATE USER [dbrd1] FOR LOGIN [dbrd1]; GO -- 【第三步】将该用户加入只读角色 ALTER ROLE [db_datareader] ADD MEMBER [dbrd1]; GO
