修复机器名称中的拼写错误

jus*_*eve 3 sql-server-2008

当我安装 Windows 时,我从系统的“计算机名称/域更改”中更正了机器名称中的拼写错误 - 工作站是工作组的成员,而不是域。从所有我可以看到重命名的机器名称是正确的。

换档.... 我正在将 SQL 登录名从我的远程服务器导入到我的开发工作站,并使用了此处提供的脚本 - 一个为找到的每个登录名生成 CREATE 语句的脚本。当我准备运行这个脚本的输出(从远程框)时,我需要将域名从远程更改为我本地的名称 - 所以我在本地运行了相同的脚本(为了查看我的域名是什么 SQL 内容。

SQL 具有原始机器名称 - 有错字的名称。但是,如果我尝试使用该标识符创建登录,脚本会抛出错误。

CREATE LOGIN [Setve\Admin] FROM WINDOWS WITH DEFAULT_DATABASE = [master]
Run Code Online (Sandbox Code Playgroud)

但是如果我使用更新的机器名称,它可以正常工作:CREATE LOGIN [Steve\Admin] FROM WINDOWS WITH DEFAULT_DATABASE = [master]

所以问题是:我有需要解决的问题吗?在 SQL Server 深处的某个地方,它记录了一个不存在的域名。我应该找到并解决这个差异吗?

谢谢

jsc*_*ott 6

要检查 SQL Server 认为您的计算机的名称,请执行以下命令:

SELECT @@SERVERNAME AS 'Server Name'
Run Code Online (Sandbox Code Playgroud)

如果服务器名称返回拼写错误的名称,您可以更改它:

sp_dropserver <old_name>
GO
sp_addserver <new_name>, local
GO
Run Code Online (Sandbox Code Playgroud)

MSDN 上的这篇文章很好地记录了 SQL Server 重命名。

编辑:根据您的评论,就像重命名 Windows 计算机一样,您需要重新启动 SQL Server 服务才能使更改生效。

REM Stop SQL Server
sc stop mssqlserver

REM Wait a little bit, and/or run
sc query mssqlserver
REM will tell you the status of the service.


REM Start SQL Server
sc start mssqlserver
Run Code Online (Sandbox Code Playgroud)

您还可以从 SSMS 中停止/启动 SQL Server。