MSSQLSERVER_18483
Область применения: SQL Server
Сведения
Атрибут | Значение |
---|---|
Название продукта | SQL Server |
ИД события | 18483 |
Источник событий | MSSQLSERVER |
Компонент | SQLEngine |
Символическое имя | REMLOGIN_INVALID_USER |
Текст сообщения | Невозможно подключиться к серверу "%.ls", так как "%.ls" не определено как удаленное имя входа на сервер. Убедитесь, что имя входа указано правильно. %.*ls. |
Описание
Эта ошибка возникает при попытке настроить распространитель репликации в системе, которая была восстановлена с помощью образа жесткого диска другого компьютера, на котором изначально был установлен экземпляр SQL Server. Пользователю выводится сообщение об ошибке наподобие следующего:
SQL Server Management Studio не удалось настроить "<Экземпляр> сервера><" в качестве распространителя для экземпляра< сервера><>. Ошибка 18483. Не удалось подключиться к серверу "<Экземпляр> сервера><", так как "distributor_admin" не определен как удаленное имя входа на сервере. Убедитесь, что имя входа указано правильно. %.*ls.
Причина
При развертывании SQL Server с образа жесткого диска другого компьютера, на котором установлен SQL Server, в новой установке сохраняется сетевое имя образа компьютера. Неправильное имя сети приводит к сбою настройки распространителя репликации. Эта же проблема возникает при переименовании компьютера после установки SQL Server.
Действие пользователя
Чтобы обойти эту проблему, замените имя сервера SQL Server правильным сетевым именем компьютера. Для этого выполните следующие шаги:
Войдите на компьютер, на котором вы развернули SQL Server с образа диска, а затем выполните следующую инструкцию Transact-SQL в SSMS:
-- 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';
Перезапустите компьютер под управлением SQL Server.
Чтобы убедиться, что имя SQL Server и сетевое имя компьютера совпадают, выполните следующую инструкцию Transact-SQL:
SELECT @@SERVERNAME, SERVERPROPERTY('ServerName');
Дополнительные сведения
Вы можете использовать глобальную @@SERVERNAME
переменную или SERVERPROPERTY
функцию ('ServerName') в SQL Server, чтобы найти сетевое имя компьютера под управлением SQL Server. Свойство SERVERPROPERTY
ServerName функции автоматически сообщает об изменении сетевого имени компьютера при перезапуске компьютера и службы SQL Server. Глобальная @@SERVERNAME
переменная сохраняет исходное имя компьютера SQL Server до тех пор, пока имя SQL Server не будет сбрасывается вручную.
Шаги для воспроизведения проблемы
На компьютере, на котором вы развернули SQL Server с образа диска, выполните следующие действия.
Запустите Среду Management Studio.
В обозреватель объектов разверните имя экземпляра SQL Server.
Щелкните правой кнопкой мыши папку Репликация и выберите пункт Configure distribution Replication (Настроить репликацию распространения), а затем — Configure Publishing, Subscribers, and Distribution (Настроить публикацию, подписчиков и распространение).
В диалоговом окне мастера Настройка распространения нажмите кнопку Далее.
В диалоговом окне распространителя щелкните, чтобы выбрать "<Экземпляр> сервера><" будет выступать в качестве собственного распространителя; SQL Server создаст базу данных распространителя и переключатель журнала, а затем нажмите кнопку "Далее".
В диалоговом окне Запуск агента SQL Server нажмите кнопку Далее.
В диалоговом окне Папка моментальных снимков нажмите кнопку Далее.
Примечание.
Если появится сообщение с подтверждением пути к папке моментальных снимков, нажмите кнопку Да.
В диалоговом окне База данных распространителя нажмите кнопку Далее.
В диалоговом окне Издатели щелкните Далее.
В диалоговом окне Действия мастера нажмите кнопку Далее.
В диалоговом окне Завершение работы мастера нажмите кнопку Завершить.