SQL 配置分发连接问题



我正在尝试配置SQL Server(2016)的发行版。这是一个 Azure SQL VM。但是,这样做时出现以下错误:

TITLE: Configure Distribution Wizard
------------------------------
SQL Server is unable to connect to server 'COMPANY-SQL'.
SQL Server replication requires the actual server name to make a connection to the server. Specify the actual server name, ''. (Replication.Utilities)

(请注意,它实际上不是COMPANY-SQL而是类似的命名格式)。我已经尝试过,正如许多帖子中所建议的那样sp_dropserversp_addserver.这将成功创建设置为company-sql-2@@SERVERNAME,这是我的两个 Azure 资源的名称(不确定COMPANY-SQL来源)。尽管已经连接到数据库,但我仍然不知道如何在此处连接以及为什么错误说实际的服务器名称只是"。

SQL

Server 无法连接到服务器"COMPANY-SQL"。

SQL Server 复制需要实际的服务器名称才能与服务器建立连接。指定实际服务器名称 ''。(复制.实用程序)

SERVERPROPERTY:Windows 服务器和实例名称共同构成特定的服务器实例,由 ServerName 属性提供。

@@SERVERNAME:现在设置的本地服务器的名称由@@SERVERNAME提供。

一起运行以下命令,您将获得两个不同的名称。

SELECT SERVERPROPERTY(N'servername')
SELECT @@SERVERNAME

然后通过删除@@SERVERNAME命令获取的名称来更改服务器名称sp_dropserver并使用sp_addserver过程设置SERVERPROPERTY命令获取的名称,然后重新启动SQL Server服务

我知道回答已经很晚了,但也许它可以帮助新访客。

应将 SQL Server 服务器名称替换为计算机的正确网络名称

让我们在 master 数据库上执行此查询。

-- 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';

这对我有用。

参考 : MSSQLSERVER_18483

在下一步中,如果您遇到RegCreateKeyEx()错误,请在此处阅读解决方案

相关内容

  • 没有找到相关文章

最新更新