我已使用 SSMS 将数据库恢复(完整)到新服务器。当我执行此操作时,我们收到错误,表明帐户无法登录,可能是由于 SID 错误,因为我们确认该帐户在恢复期间确实进行了转移并具有适当的权限。我们尝试通过 SSMS 的 GUI 删除并重新添加用户,并从我们的应用程序收到相同的登录错误(用户不存在)。要解决此问题,我能找到的唯一解决方案是指定使用特定 SID 创建登录名,如下面的查询所示。当我执行此命令时,SQL Server 似乎域中的“”有问题。我找不到另一种方法来指定有效的方法。我缺少语法吗?如果不接受语法“”,如何使用指定的 SID 进行 AD 服务帐户登录?
CREATE LOGIN [AD_DOMAIN\login]
WITH PASSWORD = 'password_here', SID = SID_HERE;
SELECT * FROM sys.sql_logins WHERE name = 'AD_DOMAIN\login';
GO
此时,在 AD 中创建一个全新的服务帐户会更容易,但在这里查询看看我是否遗漏了一些愚蠢的东西......