数据库创建只读用户

来源:本站原创 点击数: 发布时间:2026年06月10日

解决办法一:使用 SSMS 界面操作


请确认你是否漏掉了第一步。正确的操作顺序是:


  1. 先建登录名: 在左侧导航栏,展开 “安全性” (Security) -> 右键“登录名” (Logins) -> “新建登录名”。在这里创建一个名叫 dbrd1 的账号,选择 SQL Server 身份验证并设置密码。

  2. 后映射用户: 创建登录名的窗口先别关,直接点击该窗口左侧的 “用户映射” (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