Когато инсталирате Microsoft SQL Server, вътрешното име на екземпляра на SQL Server се създава въз основа на текущото име на хост. Въпреки това, при преименуване на компютър / сървър, името на SQL сървъра в метаданните (съхранявани в sys.servers) не се актуализира автоматично, в резултат на което при работа със SQL могат да възникнат различни проблеми. В това ръководство ще покажем как правилно да актуализирате метаданните в SQL и да промените името на сървъра, без да преинсталирате напълно MSSQL. Инструкцията е приложима за самостоятелни (некластерирани) версии на SQL Server от MS SQL 2000 до 2012 г..
съвет. Можете да промените само името на север, не можете да промените името на инстанцията (инстанцията) на SQL Server без да инсталирате отново.Отворена конзола Студио за управление на SQL Server и използвайки следната заявка проверете текущото име на хост и име на SQL:
Изберете @@ ServerName ServerName, Host_name () HostName
Както можете да видите:
- Име на сървъра (HostName): DESKTOP-V2OE3P0
- Пълно име на инстанция на SQL (име на сървър): DESKTOP-V2OE3P0 \ SQLDB
Преименувайте името на компютъра и го рестартирайте:
Преименуване-Компютър -NewName Sql-Srv1 -Рестартиране
След рестартиране опитайте да се свържете със старото име на SQL сървър: DESKTOP-V2OE3P0 \ SQLDB. Ще се появи грешка, защото името на сървъра се е променило.
Не може да се свърже с DESKTOP-V2OE3P0 \ SQLDB.Възникнала е свързана с мрежата или моментална грешка при установяване на връзка със SQL Server. Сървърът не е намерен или не е достъпен. Проверете дали името на екземпляра е правилно и SQL Server е конфигуриран да позволява отдалечени връзки. (доставчик: Мрежов интерфейс SQL, грешка: 26 - Грешка при намиране на сървър / указан инстанция) (Microsoft SQL Server)
Проверете отново името на хоста и име на потребител:
Изберете @@ ServerName ServerName, Host_name () HostName
В този случай името на екземпляра не съвпада с името на компютъра и се отнася до старото име на компютъра DESKTOP-V2OE3P0.
За да промените името за име на име на SQL, изпълнете следната TSQL команда.
Изтриване на старо име:
sp_dropserver "DESKTOP-V2OE3P0 \ SQLDB";
Go
Добавете ново име:
sp_addserver "Sql-Srv1 \ SQLDB", локален;
GO
Ако трябва да промените името на сървъра на стандартния екземпляр на SQL Server, командата е следната:
sp_dropserver "OldName";
GO
sp_addserver "NewName", локален;
GO
Допълнителни стъпки
Ако възникне грешка при изпълнение на командата sp_dropserver:
Msg 15190, ниво 16, състояние 1, процедура sp_dropserver, ред 56Най-вероятно има отдалечени връзки към DESKTOP-V2OE3P0 сървъра. Можете да ги нулирате с такива команди. За пример по подразбиране:
sp_dropremotelogin DESKTOP-V2OE3P0;
GO
За име:
sp_dropremotelogin DESKTOP-V2OE3P0 \ SQLDB;
GO
Проверете дали името на сървъра в метаданните е актуализирано:
SELECT @@ SERVERNAME КАТО „Име на сървъра“
ИЗБЕРЕТЕ * ОТ SYS.SERVERS
Както можете да видите, името на сървъра се е променило. Остава да рестартирате услугата SQL Server:
net stop MSSQL $ SQLDB && net start MSSQL $ SQLDB
Важно е!
- Този метод е подходящ само за преименуване на самостоятелен SQL сървър. За да преименувате SQL Server в клъстер с откази, трябва да използвате конзолата за управление на клъстери.
- Не може да се промени името на сървъра, участващ в репликация или огледално предаване
- Ако услугите за отчитане са инсталирани, те няма да бъдат достъпни след преименуването (https://msdn.microsoft.com/en-us/library/ms345235.aspx)