我们在SQLServer实例中有一个数据库应该转移到另一个实例(假设dbname="testdb"
用户为testuser
)。
当我们使用SQL Server Management Studio(在源计算机上备份数据库并在目标计算机上还原它)时,此传输很容易。
现在的问题是我无法连接目标计算机上的testuser
。它是数据库的一部分,但不是SQL Server范围登录的一部分。
现在我的问题。如何将用户从db添加到SQL Server登录?
提前感谢任何评论!
干杯, 赫尔穆特
答案 0 :(得分:3)
最终真正帮助我的是运行以下SQL脚本(恢复后)
USE testdb;
GO
EXEC sp_change_users_login 'Auto_Fix', 'testuser', NULL, 'testpwd';
GO
这将数据库用户“testuser”“连接”到服务器登录名“testuser”。如果没有服务器登录“testuser”,则会创建一个新的。{/ p>
有关文档,请参阅http://msdn.microsoft.com/en-us/library/ms174378.aspx
答案 1 :(得分:1)
我曾经面对同样的问题亲爱的。 他的解决方案是您必须使用下面的语句
在服务器中创建登录使用[testdb] - 您的数据库名称
CREATE USER [testuser] FOR LOGIN [testuser]
这里你的[testuser]是你的数据库用户,第二个[testuser]是你的服务器登录名,我们用这个语句相互映射。