Поделиться через


MSSQL_ENG014117

Область применения: SQL Server Управляемый экземпляр SQL Azure

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

Атрибут Значение
Название продукта SQL Server
ИД события 14117
Источник событий MSSQLSERVER
Компонент Компонент SQL Server Database Engine
Символическое имя
Текст сообщения "%s" не настроена в качестве базы данных распространителя.

Описание

Эта ошибка может произойти, если истинны одно или оба из следующих условий:

  • Отсутствует в msdb..MSdistributiondbsвход для указанной базы данных распространителя.

  • Отсутствует или некорректен вход для локального сервера в базу данных master .

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

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

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

Убедитесь, что экземпляр распространителя зарегистрирован правильно. Если сетевое имя компьютера отличается от имени экземпляра 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

  • Отключите распространение, зарегистрируйте экземпляр и восстановите распространение. Если значение @@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).

После проверки верности регистрации экземпляра распространителя убедитесь в том, что база данных распространителя содержится в списке msdb..MSdistributiondbs. Если базы данных в списке нет:

  1. Создайте скрипт конфигурации распространения. Дополнительные сведения см. в разделе Scripting Replication.

  2. Отключите распространение, а затем включите его снова. Дополнительные сведения см. в разделе Configure Distribution.