Как переименовать компьютер с MS SQL Server

Как переименовать компьютер с MS SQL Server

При установке Microsoft SQL Server, внутреннее имя экземпляра SQL сервера создается на основании текущего имени хоста. Однако, при переименовании компьютера/сервера, имя SQL сервера в метаданных (хранится в sys.servers ) не обновляется автоматически, в результате чего при работе с SQL могут возникать разные проблемы. В этой инструкции мы покажем, как корректно обновить метаданные в SQL и изменить имя сервера без полной переустановки MSSQL. Инструкция применима для отдельно стоящего (не кластерного) SQL Server версий от MS SQL 2000 до 2012.

Совет. Можно сменить только имя севера, изменить имя экземпляра (инстанса) SQL Server без переустановки нельзя.

Откройте консоль SQL Server Management Studio и с помощью следующего запроса проверьте текущее имя хоста и имя инстанса SQL:

Select @@ServerName ServerName, Host_name() HostName

d0bad0b0d0ba d0bfd0b5d180d0b5d0b8d0bcd0b5d0bdd0bed0b2d0b0d182d18c d0bad0bed0bcd0bfd18cd18ed182d0b5d180 d181 ms sql server 65d23b7be2dbd

Как вы видите:

  • Имя сервера (HostName): DESKTOP-V2OE3P0
  • Полное имя экземпляра SQL (ServerName): DESKTOP-V2OE3P0SQLDB

Переименуем имя компьютер и перезагрузим его:

Rename-Computer -NewName Sql-Srv1 -Restart

Совет. Имя компьютера можно сменить и из свойств My Computer.

После перезагрузки попробуйте подключится к старому имени сервера SQL: DESKTOP-V2OE3P0SQLDB. Появится ошибка, ведь имя сервера изменилось.

d0bad0b0d0ba d0bfd0b5d180d0b5d0b8d0bcd0b5d0bdd0bed0b2d0b0d182d18c d0bad0bed0bcd0bfd18cd18ed182d0b5d180 d181 ms sql server 65d23b7c53339

Cannot connect to DESKTOP-V2OE3P0SQLDB.
A network-related or Instant-specific error occurred when establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interface, error: 26 – Error Locating Server/Instance Specified) (Microsoft SQL Server)

Еще раз проверим имя хоста и имя инстанса:

Select @@ServerName ServerName, Host_name() HostName

d0bad0b0d0ba d0bfd0b5d180d0b5d0b8d0bcd0b5d0bdd0bed0b2d0b0d182d18c d0bad0bed0bcd0bfd18cd18ed182d0b5d180 d181 ms sql server 65d23b7c85089

В данном случае имя инстанса не соответствует имени компьютера и ссылается на старое имя компьютера DESKTOP-V2OE3P0.

Чтобы изменить имя для именованного экземпляра SQL, выполните следующую команду TSQL.

Удалить старое имя:

sp_dropserver "DESKTOP-V2OE3P0SQLDB";
Go

Добавим новое имя:

sp_addserver "Sql-Srv1SQLDB", local;
GO


d0bad0b0d0ba d0bfd0b5d180d0b5d0b8d0bcd0b5d0bdd0bed0b2d0b0d182d18c d0bad0bed0bcd0bfd18cd18ed182d0b5d180 d181 ms sql server 65d23b7cb5f55

Если нужно сменить имя сервера у дефолтного экземпляра SQL Server команда такая:

sp_dropserver ″OldName″;
GO
sp_addserver ″NewName″, local;
GO

Дополнительные шаги

Если при выполнении команды sp_dropserver появится ошибка:

Msg 15190, Level 16, State 1, Procedure sp_dropserver, Line 56

Скорее всего, имеются удаленные подключения к серверу DESKTOP-V2OE3P0. Сбросить их можно такими командами. Для дефолтного инстанса:

sp_dropremotelogin DESKTOP-V2OE3P0;
GO

Для именованного:

sp_dropremotelogin DESKTOP-V2OE3P0SQLDB;
GO

Проверим, что имя сервера в метаданных обновилось:

SELECT @@SERVERNAME AS ‘ServerName’

d0bad0b0d0ba d0bfd0b5d180d0b5d0b8d0bcd0b5d0bdd0bed0b2d0b0d182d18c d0bad0bed0bcd0bfd18cd18ed182d0b5d180 d181 ms sql server 65d23b7ce5ff3

SELECT * FROM SYS.SERVERS

d0bad0b0d0ba d0bfd0b5d180d0b5d0b8d0bcd0b5d0bdd0bed0b2d0b0d182d18c d0bad0bed0bcd0bfd18cd18ed182d0b5d180 d181 ms sql server 65d23b7d3b4b5

Как вы видите, имя сервера изменилось. Осталось перезапустить службу SQL Server:

net stop MSSQL$SQLDB && net start MSSQL$SQLDB

d0bad0b0d0ba d0bfd0b5d180d0b5d0b8d0bcd0b5d0bdd0bed0b2d0b0d182d18c d0bad0bed0bcd0bfd18cd18ed182d0b5d180 d181 ms sql server 65d23b7d6b649

Важно!

  • Этот способ подойдет только для переименования отдельностоящего SQL сервера. Для переименования SQL Server в кластере Failover Cluster нужно использовать консоль Cluster Management.
  • Нельзя изменить имя сервера, участвующего в репликации или зеркалировании
  • Если установлены службы отчетов Reporting services, после переименования они будут недоступны (https://msdn.microsoft.com/en-us/library/ms345235.aspx)

Qiziqarli malumotlar
Как переименовать компьютер с MS SQL Server