Як перейменувати екземпляр SQL Server 2008?


28

Як я можу перейменувати екземпляр SQL Server 2008 без перевстановлення?

Наприклад, якщо на db посилається як "MySQLServer \ MSSQL2008", як я можу перейменувати його на "MySQLServer \ SQL2008"?

Відповіді:


31

Я не думаю, що неможливо перейменувати без встановлення.

До імені залишилися сліди в кількох внутрішніх базах даних, таких як реплікація, і згодом ви можете виявити помилки.

Якщо ви можете, якщо у вас більше ніж один примірник, вам краще перевстановити та знову імпортувати всі ваші бази даних.


3
Віл правильно. Немає способу перейменувати екземпляр. Вам потрібно видалити екземпляр та встановити новий екземпляр. (Або встановіть новий екземпляр, перемістіть бази даних до нового екземпляра, потім вимкніть або видаліть старий екземпляр).
— мрденний

робити видалення та повторну інсталяцію з названим екземпляром насправді не дуже складно. просто утримуйте каталог каталогів Дані (а може бути, резервну копію) у старому екземплярі.
— djangofan

9

Я знаю, що цей скрипт є всюдисущим через мережу, але щоразу, коли я переглядаю його, я придумую складні збережені програми, які є надмірними для моїх потреб - ось ось команди, необхідні для перейменування екземпляра SQL Server для нащадків:

  • Отримайте поточне ім'я екземпляра SQL Server для подальшого порівняння.
    SELECT @@servername
  • Видаліть сервер зі списку відомих віддалених та зв'язаних серверів на локальному екземплярі SQL Server.
    EXEC master.dbo.sp_dropserver ‘[SERVER NAME]‘
  • Визначте ім'я локального екземпляра SQL Server.
    EXEC master.dbo.sp_addserver ‘[NEW SERVER NAME]‘, ‘local’
  • Отримайте нове ім'я екземпляра SQL Server для порівняння. SELECT @@servername

І кілька приміток, що стосуються їх використання:
sp_dropserver :

  1. Ця збережена процедура може видалити як віддалені, так і пов'язані сервери;
  2. Використання параметра "Drologlogins" вказує на те, що пов'язані віддалені та пов'язані вхідні дані сервера для [SERVER NAME] також повинні бути видалені.

sp_addserver :

  1. Щоб визначити пов'язаний сервер, використовуйте sp_addlinkedserver (оскільки ця функція буде знецінена у версії вище SQL Server 2005);
  2. sp_addserver не можна використовувати всередині визначеної користувачем транзакції.

Я також рекомендую наступне при перейменуванні SQL Server:
Якщо ви виконуєте це завдання як частину перейменування машини, спочатку перейменуйте машину, а потім перейменуйте SQL Server. Після того, як ви перейменували SQL Server, проведіть повний перезапуск SQLServer, включаючи будь-яку залежну службу.

Цю інформацію я отримав за посиланням нижче:

https://web.archive.org/web/20141116031942/http://modhul.com/2008/01/15/renaming-a-sql-server-instance/


1

Просто коротка примітка, що ви можете додати "псевдонім" і використовувати його під обома назвами:

введіть тут опис зображення


0

select @@servername покаже нове ім'я, але ім'я сервера в ERRORLOG покаже старе ім'я, і ​​ви не можете підключитися, використовуючи нове ім'я.

Єдине рішення - перевстановити.



-4

Ви хочете використовувати АЛЬТАРНУ ДАТАБАЗУ.

http://msdn.microsoft.com/en-us/library/ms174269.aspx

У цій ситуації, для вашого прикладу вище, я спробую:

ALTER DATABASE MSSQL2008 MODIFY NAME = 'SQL2008'

Удачі!


6
Я думаю, що мова йде про зміну імені бази даних, а не про екземпляр SQL-сервера
— Вільям Хілсум,

так ... я хочу перейменувати екземпляр двигуна сервера sql, а не лише ім'я таблиці або бази даних.
— Скотт Марлоу

Ти прав. І я згоден з @Wil - я не знаю, як це зробити без перевстановлення.
— Ніколяс Вебб
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.