MSSQLSERVER_18483
适用于:SQL Server
详细信息
属性 | 值 |
---|---|
产品名称 | SQL Server |
事件 ID | 18483 |
事件来源 | MSSQLSERVER |
组件 | SQLEngine |
符号名称 | REMLOGIN_INVALID_USER |
消息正文 | 由于没有在服务器 '%.ls' 上将 '%.ls' 定义为远程登录名,所以无法连接到该服务器。 请确保指定的登录名正确无误。 %.*ls。 |
说明
当你尝试在使用初始安装了 SQL 实例的另一台计算机的硬盘映像进行还原的系统上配置复制分发服务器时,将出现此错误。 将向用户报告如下错误消息:
SQL Server Management Studio 无法将“服务器实例”<配置为“服务器><><实例>”<的分发>服务器。 错误 18483:无法连接到服务器“<服务器><实例>”,因为“distributor_admin”未定义为服务器上的远程登录名。 请确保指定的登录名正确无误。 %.*ls。
原因
从安装了 SQL Server 的另一计算机的硬盘映像部署 SQL Server 时,映像计算机的网络名称将保留在新安装中。 不正确的网络名称会导致复制分发服务器配置失败。 如果在安装 SQL Server 后重命名计算机,则会出现相同的问题。
用户操作
若要解决此问题,请将 SQL Server 服务器名称替换为计算机的正确网络名称。 为此,请按照以下步骤操作:
登录到从磁盘映像部署 SQL Server 的计算机,然后在 SSMS 中运行以下 Transact-SQL 语句:
-- Use the Master database USE master GO -- Declare local variables DECLARE @serverproperty_servername varchar(100), @servername varchar(100); -- Get the value returned by the SERVERPROPERTY system function SELECT @serverproperty_servername = CONVERT(varchar(100), SERVERPROPERTY('ServerName')); -- Get the value returned by @@SERVERNAME global variable SELECT @servername = CONVERT(varchar(100), @@SERVERNAME); -- Drop the server with incorrect name EXEC sp_dropserver @server=@servername; -- Add the correct server as a local server EXEC sp_addserver @server=@serverproperty_servername, @local='local';
重启运行 SQL Server 的计算机。
若要验证计算机的 SQL Server 名称和网络名称是否相同,请运行以下 Transact-SQL 语句:
SELECT @@SERVERNAME, SERVERPROPERTY('ServerName');
详细信息
可以使用 SQL Server 中的 @@SERVERNAME
全局变量或 SERVERPROPERTY
ServerName 属性会自动报告计算机网络名称中的更改。 全局 @@SERVERNAME
变量将保留原始 SQL Server 计算机名称,直到手动重置 SQL Server 名称。
重现此问题的步骤
在从磁盘映像部署 SQL Server 的计算机上,执行以下步骤:
启动 Management Studio。
在对象资源管理器中,展开 SQL Server 实例名称。
右键单击“复制”文件夹,然后依次单击“配置分发复制”、“配置发布、订阅服务器和分发”。
在“配置分发向导”对话框中,单击“下一步”。
在“分发服务器”对话框中,单击以选择“服务器><实例>”<将充当其自己的分发服务器;SQL Server 将创建分发数据库和日志单选按钮,然后单击“下一步”。
在“SQL Server 代理启动”对话框中,单击“下一步”。
在“快照文件夹”对话框中,单击“下一步”。
注意
如果收到确认快照文件夹路径的消息,请单击“是”。
在“分发数据库”对话框中,单击“下一步。
在“发布服务器”对话框中,单击“下一步”。
在“向导操作”对话框中,单击“下一步”。
在“完成向导”对话框中,单击“完成”。