brl*_*rl8 16 sql-server permissions sql-server-2008-r2
我有一个测试数据库,但我遇到了权限问题。
我无法访问报告数据库,并且应用程序的帮助文档说要执行以下操作:
Resolution:
1. Launch the SQL Server Management Studio and connect to the database server(s) hosting the Vision and Reporting Server databases.
2. Expand the security folder.
3. Select logins and right click on the <username> user and choose properties.
4. Click the User Mapping tab
5.Make sure the following databases are selected in the Users mapped to this Login:
ReportServer
ReportServerTempDB
Your Vision databases
This maps the login/user to the respective databases.
6. As you select each database (including your Vision database), select the db_owner role in the Database role membership for: section. You must select this option for each database.
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我收到以下错误:
"Create failed for user '<servername>\<username>'. User, group, or role '<servername>\<username>' already exists in the current database. (Microsoft SQL Server, Error: 15023)"
Run Code Online (Sandbox Code Playgroud)
我用谷歌搜索了这个错误并在每个数据库上尝试了以下命令:
ALTER USER [<username>] WITH LOGIN = [<username>]
Run Code Online (Sandbox Code Playgroud)
该消息表明命令已成功完成,但当我尝试按照上述说明映射每个数据库时,仍然出现上述错误。
我错过了什么?
Per Kin 的评论(谢谢)我试过这个: - 我右键单击用户并选择:脚本登录为 > 删除并创建到 > 新查询窗口。- 我运行了结果查询并尝试通过再次选择其他两个数据库和 db_owner 来映射用户角色,但我仍然收到与上述相同的错误消息。
想法??
Cou*_*000 12
您可以尝试多种方法,每种方法的成功与否可能取决于您拥有的服务器角色。
对于初学者来说,如果只有一两个用户,那么老实说,最简单的方法是从恢复的数据库中删除数据库用户,并提供现有的服务器登录名,使用 SSMS 将数据库用户重新映射到服务器登录名。如果服务器登录名不存在,则只需创建它,映射用户,然后就可以了!我们走吧。
下一个选项:如果要迁移大量用户,请使用 sp_help_revlogin。sp_help_revlogin 是 Microsoft 提供的存储过程,可帮助将登录名从一台服务器迁移到另一台服务器,包括密码和 SID。这是一篇关于它的好文章SP_HELP_REVLOGIN
归档时间: |
|
查看次数: |
61673 次 |
最近记录: |