Если не получается сконфигурировать репликацию баз данных на Microsoft SQL Server

Если сервера кластера были клонированы как виртуальные машины или, в случае реальных серверов, были клонированы на уровне дисков, не будет работать репликация серверов Microsoft SQL. Эта же проблема может появиться, если после установки SQL Server компьютер был переименован. Причем сообщение об ошибке напрямую на проблемы в конфигурации сервера не указывает. Проблема описана в Microsoft Knowledge Base: Replication setup is not successful when SQL Server is deployed by using a disk image. Если возникает подобная проблема настройки репликации (например, при настройке в Manitou Database Manager (MDM) или напрямую средствами SQL), необходимо проверить соответствие имени SQL-сервера и имени компьютера. На проблемном сервере сделать запрос:

SELECT @@SERVERNAME, SERVERPROPERTY('ServerName');

Оба полученных результата должны совпадать! Если они отличаются, проблема решается переименованием 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'
--
-- Verify that the SQL Server name and the network name of the computer are the same
-- SELECT @@SERVERNAME, SERVERPROPERTY('ServerName')

После внесения изменений сервер необходимо перезагрузить. После перезагрузки проверяем совпадение имени SQL-сервера и имени машины. Если они совпадают, проблема решена.

Leave a comment

Your comment