Как я могу переименовать экземпляр SQL Server 2008 без переустановки?
Например, если база данных указана как «MySQLServer \ MSSQL2008», как я могу переименовать ее в «MySQLServer \ SQL2008»?
Не думаю, что переименовать без установки возможно.
От имени остались следы в нескольких внутренних базах данных, таких как репликация, и позже вы можете обнаружить ошибки.
Если вы можете, если у вас нет более одного экземпляра, вам лучше переустановить, а затем снова импортировать все свои базы данных.
Я знаю, что этот сценарий повсеместно распространен в сети, но всякий раз, когда я искал его в Google, я придумывал тщательно продуманные хранимые процедуры, которые мне не подходят - так что вот команды, необходимые для переименования экземпляра SQL Server для потомков:
SELECT @@servername
EXEC master.dbo.sp_dropserver ‘[SERVER NAME]‘
EXEC master.dbo.sp_addserver ‘[NEW SERVER NAME]‘, ‘local’
SELECT @@servername
И несколько примечаний, касающихся их использования:
sp_dropserver:
sp_addserver:
Я бы также рекомендовал следующее при переименовании SQL Server:
Если вы выполняете эту задачу как часть переименования машины, сначала переименуйте машину, а затем переименуйте SQL Server. После переименования SQL Server выполните полный перезапуск SQLServer, включая все зависимые службы.
Я получил эту информацию по ссылке ниже:
Замечу, что вы можете добавить «псевдоним» и использовать его под обоими именами:
select @@servername
отобразит новое имя, но имя сервера в ERRORLOG покажет старое имя, и вы не сможете подключиться с использованием нового имени.
Единственное решение - переустановить.
Этот блог, кажется, показывает, что это довольно просто.
http://www.modhul.com/2008/01/15/renaming-a-sql-server-instance/
Вы хотели бы использовать ALTER DATABASE.
http://msdn.microsoft.com/en-us/library/ms174269.aspx
В этой ситуации, для вашего примера выше, я бы попробовал:
ALTER DATABASE MSSQL2008 MODIFY NAME = 'SQL2008'
Удачи!