MSSQL_ENG014010

Сведения о сообщении

Название продукта SQL Server
Идентификатор события 14010
Источник события MSSQLSERVER
Компонент Система управления базами данных SQL Server
Символическое имя
Текст сообщения Сервер%sне определен как сервер подписки.

Объяснение

Репликация ожидает, что все серверы в топологии будут зарегистрированы по имени компьютера с необязательным именем экземпляра. В случае кластеризованного экземпляра репликация ожидает использование имени виртуального сервера SQL Server с необязательным именем экземпляра. Чтобы репликация работала правильно, значение, возвращаемое SELECT @@SERVERNAME для каждого сервера в топологии, должно совпадать с именем компьютера или виртуального сервера, включая необязательное имя экземпляра.

Репликация не поддерживается, если вы зарегистрировали любой из экземпляров SQL Server по IP-адресу или полному доменному имени (FQDN). Если у вас есть экземпляры SQL Server, зарегистрированные ПО IP-адресу или полное доменное имя в SQL Server Management Studio при настройке репликации, эта ошибка может быть вызвана.

Действие пользователя

Убедитесь, что все экземпляры SQL Server в топологии зарегистрированы правильно. Если сетевое имя компьютера и имя экземпляра SQL Server отличаются, либо:

  • Добавьте имя экземпляра SQL Server в качестве допустимого сетевого имени. Один из способов задать альтернативное сетевое имя — добавить его в файл локальных узлов. Файл локальных узлов находится по умолчанию в WINDOWS\system32\drivers\etc или WINNT\system32\drivers\etc. Дополнительные сведения см. в документации по Windows.

    Например, если имя компьютера равно comp1, а компьютер имеет IP-адрес 10.193.17.129, а имя экземпляра — inst1/instname, добавьте следующую запись в файл узлов:

    10.193.17.129 inst1

  • Удалите репликацию, зарегистрируйте каждый экземпляр SQL Server и повторите репликацию. Если значение @@SERVERNAME неправильно для некластеризованного экземпляра, выполните следующие действия.

    sp_dropserver '<old_name>', 'droplogins'  
    go  
    sp_addserver '<new_name>', 'local'  
    go  
    

    После выполнения хранимой процедуры sp_addserver (Transact-SQL) необходимо перезапустить службу SQL Server, чтобы изменение @@SERVERNAME вступило в силу.

    Если значение @@SERVERNAME неправильно для кластеризованного экземпляра, необходимо изменить имя с помощью администратора кластера. Дополнительные сведения см. в статье Экземпляры отказоустойчивого кластера (режим AlwaysOn) (SQL Server).

См. также

@@SERVERNAME (Transact-SQL)
Справочник по ошибкам и событиям (репликация)