SQL Server - 还原不同工作组中的数据库 - 修复Windows用户

时间:2013-01-08 13:43:58

标签: sql-server orphaned-objects

有谁知道如何在SQL数据库中修复孤立的本地Windows用户?

我正在尝试将数据库备份和还原到其他计算机。这两台机器都不在域中 - 它们位于不同的工作组中。有几个Windows用户在源计算机上的数据库中拥有权限,为了便于重新连接目标计算机中的用户,我在那里设置了具有相同用户名(但密码不同)的用户。

不幸的是,这不起作用。数据库用户有点无用地恢复,不仅仅是 [用户名] ,而是 [源机器名] \ [用户名] ,阻止了目标机器上的帐户链接。有谁知道如何将这些用户重新连接到正确的Windows帐户?我做了通常的谷歌搜索,但可用的信息通常用于连接孤立的SQL用户,而不是连接孤立的本地Windows用户。

2 个答案:

答案 0 :(得分:1)

围绕此主题的对话摘要......
在我们的网站上,我们“删除”用户并将其重新添加回来。为了使自己更容易,我们在域组(或组)中拥有用户,然后为这些组授予适当的访问权限。

如果这个(移动数据库)是一个相当普遍的事情,通常最好创建一个脚本来执行此操作 - 同事通过查询sysuers表生成这样的脚本 SELECT 'some appropriate text for this user' + name FROM dbo.sysusers where sid is not null
然后,他将该查询的结果粘贴到另一个查询窗口,并将其保存为脚本

答案 1 :(得分:0)

您需要使用sp_change_users_login - 实际调用将取决于您的SQL版本 - 这里是M / S ref的链接 sp_users_login documentation

Troubleshott Orphaned Users