MSSQL_ENG014010
Область применения: SQL Server Управляемый экземпляр SQL Azure
Сведения о сообщении
Атрибут | Значение |
---|---|
Название продукта | SQL Server |
ИД события | 14010 |
Источник событий | MSSQLSERVER |
Компонент | Компонент SQL Server Database Engine |
Символическое имя | |
Текст сообщения | Сервер "%s" не определен как сервер подписок. |
Описание
Репликация ожидает, что все серверы в топологии будут зарегистрированы с помощью имени компьютера с необязательным именем экземпляра (в случае кластеризованного экземпляра имя виртуального сервера SQL Server с необязательным именем экземпляра). Для правильного функционирования репликации необходимо, чтобы значение, возвращаемое SELECT @@SERVERNAME
для каждого сервера в топологии, соответствовало имени компьютера или имени виртуального сервера с необязательным именем экземпляра.
Репликация не поддерживается, если вы зарегистрировали любой из экземпляров SQL Server по IP-адресу или полному доменному имени (FQDN). Если у вас есть экземпляры SQL Server, зарегистрированные ПО IP-адресу или полное доменное имя в SQL Server Management Studio при настройке репликации, эта ошибка может быть вызвана.
Действие пользователя
Убедитесь, что все экземпляры SQL Server в топологии зарегистрированы правильно. Если сетевое имя компьютера отличается от имени экземпляра SQL Server.
Добавьте уникальное имя данного экземпляра SQL Server в качестве допустимого сетевого имени. Один из методов установки альтернативного сетевого имени — это добавление имени в локальный файл hosts. Локальный файл hosts по умолчанию находится в папке
\Windows\system32\drivers\etc
или\WINNT\system32\drivers\etc
. Дополнительные сведения см. в документации по Windows.Например, если имя компьютера — comp1, IP-адрес компьютера — 10.193.17.129, имя экземпляра — inst1/instname, то следует добавить в файл hosts следующую запись:
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 недопустимо для кластеризованного экземпляра, необходимо изменить имя с помощью приложения Cluster Administrator. Дополнительные сведения см. в статье Экземпляры отказоустойчивого кластера AlwaysOn (SQL Server).