Ken*_*dor 4 sql-server-2008 log-shipping
原谅我的绿色...但会很感激这方面的一些帮助...
我们正在对 SQL Server 2008 实例进行开发工作,并且该服务器上有多个数据库,这些数据库是我们应用程序的核心,以及在某些情况下拥有数据库的特定用户,并且在某些情况下可以只对它们运行查询。
有一个特定的数据库驻留在我们不想接触的生产服务器上,因此我们设置了日志传送以将其数据复制到我们的开发箱。该数据库已在我们的开发盒上正确恢复并接收持续更新。
在生产设备上,我们将开发设备上所需的用户添加到进行日志传送的数据库中
当我们尝试从开发箱上的应用程序查询数据库的日志传送版本(只读)时,我们的用户无法在“当前安全上下文”下访问数据库。
我运行了一个存储过程来验证我的用户确实是孤儿......
我之前在将数据库还原到另一台机器时遇到过这种情况,并运行了一个存储过程来修复“孤立”用户;但是,因为数据库的开发盒版本是只读的,所以存储过程将不起作用。
有关如何处理此问题的任何建议?
小智 6
如果您正在运行sp_change_users_login 'Report'以获取孤立用户的列表,它将返回预期的 SID。
只需使用该 SID 并使用相同的 SID 创建您的登录:
CREATE LOGIN [mylogin] WITH PASSWORD='', SID = <SID for orphaned user>
Run Code Online (Sandbox Code Playgroud)
这应该允许您登录到mapped数据库中的该用户并允许您访问数据库。
如果您想copy从生产登录到您的开发盒,您可以查询sys.syslogins以获取 SID,或仅使用KB918992 中的sp_help_revlogin过程。
| 归档时间: |
|
| 查看次数: |
1284 次 |
| 最近记录: |