Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Смена имени Экземпляра после переименования Сервера (change SQL Server Instance Name)  [new]
_WinD_
Member

Откуда:
Сообщений: 7
Целый вечер рыл инет - как поменять имя экземпляра?

Ситуация была такой: Было несколько серваков с настронной репликацией транзакциями. Скопировали виртуалку с серваком - как назло тем, который раздачей занимался. Необходимо было новый(копию) сервак тоже подключить к репликации, но как и все остальные уже в роли подписчика. Репликация требует уникального имени. Пытался сменить имя - никак, то одно, то другое. С разных форумов иностранного инета накидал инфу для коллег, т.к. им таких серваков еще много переделывать. Думаю, что и в русском такая инфа пригодится(копи паст из OneNote):

Показать имя сервака и другие параметры
sp_helpserver
Переименовать Instance Name(имя Экземпляра)
sp_dropserver 'старое имя';
go
sp_addserver 'новое имя','local';
go
Ошибка
Msg 15190, Level 16, State 1, Procedure sp_dropserver, Line 56
There are still remote logins or linked logins for the server 'DB'.
Указывает, что есть удаленные логины относящиеся к этой БД по имени Экземпляра
Решение
Проверить - есть ли такие логины?
-- Query to check remote login
select
srl.remote_name as RemoteLoginName,
sss.srvname
from sys.remote_logins srl join sys.sysservers sss on srl.server_id = sss.srvid
Если есть, то
-- Query to remove the remote login
--Default Instance
sp_dropremotelogin old_physical_server_name
GO
Или
--Named Instance
sp_dropremotelogin 'old_physical_server_name\instancename'
GO
Ошибка
Msg 15185, Level 16, State 1, Procedure sp_dropremotelogin, Line 68
There is no remote user '(null)' mapped to local user '(null)' from the remote server 'DB'.
Решение
Возможно этот логин был создан вручную - удалите вручную из логинов сервера из меню SSMS(студии). Имя узнать по запросу от проверки логинов наличия удалённых логинов.
Ошибка
Msg 20582, Level 16, State 1, Procedure sp_MSrepl_check_server, Line 31
Cannot drop server 'DB' because it is used as a Publisher in replication.
Указвает на то, что на сервере есть репликации и нельзя менять имя Экземпляра
Решение
Проверьте наличие репликаций
-- Query to check if the SQL Instance databases are involved in replication
select name,is_published,is_subscribed,is_distributor from sys.databases
where is_published = 1 or is_subscribed =1 or is_distributor = 1
GO
Если такие есть, то попробуйте удалить вручную через меню SSMS(студии).
Если не получается, то есть запрос, который удаляет репликации не обращая внимание на ошибки
--Drop Replication without alarm
EXEC sp_dropdistributor @no_checks = 1, @ignore_distributor = 1
GO
Есть ещё вариант, что есть зеркальные сервера - у меня не было, но инфу все же скину
--Query to find out the databases involved in DB mirroring
select database_id, db_name(database_id)
from sys.database_mirroring where mirroring_guid is not null
--Query to turn off the database mirroring
ALTER DATABASE SET PARTNER OFF
Теперь должно все получиться!
5 дек 13, 03:46    [15243203]     Ответить | Цитировать Сообщить модератору
 Re: Смена имени Экземпляра после переименования Сервера (change SQL Server Instance Name)  [new]
Glory
Member

Откуда:
Сообщений: 104760
_WinD_
Переименовать Instance Name(имя Экземпляра)
sp_dropserver 'старое имя';
go
sp_addserver 'новое имя','local';
go

Это не переименование экземпляра.
Это переименование машины, на которой установлен экземпляр.
Именованный экземпляр нельзя переименовать
5 дек 13, 10:10    [15243892]     Ответить | Цитировать Сообщить модератору
 Re: Смена имени Экземпляра после переименования Сервера (change SQL Server Instance Name)  [new]
_WinD_
Member

Откуда:
Сообщений: 7
Glory
Это не переименование экземпляра.
Это переименование машины, на которой установлен экземпляр.
Именованный экземпляр нельзя переименовать


Что значит переименование Машины? Физического сервера? так он был уже переименован - когда копии делали виртуалок. Ошибку выдавали другие сервера - говоря, что нельзя к нему сделать коннект, т.к. такое имя уже существует.
5 дек 13, 10:43    [15244214]     Ответить | Цитировать Сообщить модератору
 Re: Смена имени Экземпляра после переименования Сервера (change SQL Server Instance Name)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31435
_WinD_
Что значит переименование Машины? Физического сервера? так он был уже переименован - когда копии делали виртуалок.
Переименование имени физической машины в метаданных экземпляра SQL Server-а
Наверное, так можно сказать.
5 дек 13, 10:44    [15244230]     Ответить | Цитировать Сообщить модератору
 Re: Смена имени Экземпляра после переименования Сервера (change SQL Server Instance Name)  [new]
Glory
Member

Откуда:
Сообщений: 104760
_WinD_
Glory
Это не переименование экземпляра.
Это переименование машины, на которой установлен экземпляр.
Именованный экземпляр нельзя переименовать


Что значит переименование Машины? Физического сервера? так он был уже переименован - когда копии делали виртуалок. Ошибку выдавали другие сервера - говоря, что нельзя к нему сделать коннект, т.к. такое имя уже существует.

BOL - How to: Rename a Computer that Hosts a Stand-Alone Instance of SQL Server
5 дек 13, 10:52    [15244301]     Ответить | Цитировать Сообщить модератору
 Re: Смена имени Экземпляра после переименования Сервера (change SQL Server Instance Name)  [new]
_WinD_
Member

Откуда:
Сообщений: 7
Я что-то неправильно делал или заголовок темы неправильно написал?

Проблема изначально была в том, что не мог сделать репликацию на копии виртуалок - говрил, что имя у сервера другое. При подключении по имени, которое он предлагал я попадал на другой сервер.
5 дек 13, 11:07    [15244440]     Ответить | Цитировать Сообщить модератору
 Re: Смена имени Экземпляра после переименования Сервера (change SQL Server Instance Name)  [new]
Glory
Member

Откуда:
Сообщений: 104760
_WinD_
Я что-то неправильно делал или заголовок темы неправильно написал?

Невозможно сделать "Смена имени Экземпляра"
5 дек 13, 11:09    [15244455]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Смена имени Экземпляра после переименования Сервера (change SQL Server Instance Name)  [new]
Александр Нoв.
Member

Откуда:
Сообщений: 16
Всем знатокам здоровья!

1. переименовал ПК (сервер) с "...272" на "207"
2. переименовал эскуль командами:

sp_dropserver '272';
go
sp_addserver '207','local';
go

3. Глянул в security\logins - пользователей

там вот что:
BUILTIN\Users
272\administrator
272\прочие юзеры
и остальное.

Прошу подсказать
как теперь пользователей грамотно отучить от старого имени сервера?
чтобы: 207\administrator и т.д.
7 апр 17, 14:48    [20377862]     Ответить | Цитировать Сообщить модератору
 Re: Смена имени Экземпляра после переименования Сервера (change SQL Server Instance Name)  [new]
o-o
Guest
можно попробовать alter login [272\acc] with name = [207\acc]
если сиды те же, то поможет.
если нет, дропать старых и создавать новых.
с юзерами все то же самое,
если проканало первым способом, то alter user [272\acc] with login = [207\acc], name = [207\acc]
если нет, пересоздание
7 апр 17, 15:59    [20378309]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить