Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SQL-логин и переименованная база / 10 сообщений из 10, страница 1 из 1
23.04.2019, 12:20
    #39805313
AndrF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL-логин и переименованная база
Есть база, ее переименовали. SQL-логины, которые были примаплены к этой базе, теперь показываются как непримапленные. Почему слетел маппинг и как вернуть его на место?

P.S
Само-собой что больше никто ничего не трогал - было только переименование базы.
...
Рейтинг: 0 / 0
23.04.2019, 12:28
    #39805319
AndrF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL-логин и переименованная база
По написанному выше соврал - база была из бэкапа другого сервера. Соответственно sid-ы SQL-логинов у нее не совпадают с текущей, хотя имена одинаковые...
...
Рейтинг: 0 / 0
23.04.2019, 12:33
    #39805321
AndrF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL-логин и переименованная база
Достаточно будет поменять sid-ы на нужные в злополучной базе?
...
Рейтинг: 0 / 0
23.04.2019, 12:51
    #39805325
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL-логин и переименованная база
AndrFДостаточно будет поменять sid-ы на нужные в злополучной базе?Для перемапливания есть специальная ХП - sp_change_users_login
Лучше ей, а то мало ли, что там ещё нужно...
...
Рейтинг: 0 / 0
23.04.2019, 12:54
    #39805328
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL-логин и переименованная база
alexeyvgAndrFДостаточно будет поменять sid-ы на нужные в злополучной базе?Для перемапливания есть специальная ХП - sp_change_users_login
Лучше ей, а то мало ли, что там ещё нужно...

MS рекомендует использовать ALTER USER userName WITH LOGIN = loginName вместо sp_change_users_login
...
Рейтинг: 0 / 0
23.04.2019, 12:56
    #39805331
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL-логин и переименованная база
msLexMS рекомендует использовать ALTER USER userName WITH LOGIN = loginName вместо sp_change_users_loginДа, вы правы, эту рекомендацию я всё время забываю, привык к этой процедуре...

Но в приниципе она пока рабочая, просто может внезапно исчезнуть.
...
Рейтинг: 0 / 0
23.04.2019, 13:05
    #39805340
AndrF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL-логин и переименованная база
Спасибо
...
Рейтинг: 0 / 0
23.04.2019, 13:31
    #39805360
AndrF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL-логин и переименованная база
Скриптик:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
DECLARE @Sql	nvarchar(255),
		@uname	sysname

DECLARE cur CURSOR FOR 
				SELECT u.name
					FROM sys.sysusers u
						INNER JOIN master.sys.syslogins l
							ON u.name COLLATE Cyrillic_General_CI_AS = l.name
					WHERE l.isntname = 0
						AND	u.sid <> l.sid

OPEN cur
FETCH NEXT FROM cur INTO @uname
WHILE @@FETCH_STATUS = 0
BEGIN
	SET @Sql = 'ALTER USER [' + @uname + '] WITH LOGIN = [' + @uname + ']'

	PRINT @sql
--	Exec (@sql)

	FETCH NEXT FROM cur INTO @uname
END
CLOSE cur
DEALLOCATE cur
...
Рейтинг: 0 / 0
23.04.2019, 13:33
    #39805361
AndrF
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL-логин и переименованная база
Да, COLLATE - это уже при необходимости. В моем случае потребовалась...
...
Рейтинг: 0 / 0
29.04.2019, 11:50
    #39807533
Сруль.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL-логин и переименованная база
Сетевые логины этой болезнью не страдают.
Для "парольных логинов" есть комманда,
приводящая их баз-юзеров в чувство
Код: sql
1.
2.
3.
use [база]
EXEC sp_change_users_login 'update_one','USER_NAME','USER_NAME'
go



Хотя, до этого лучше не доводить.
Первое действие, при переносе базы бэкапом-
это заскриптить юзеров базы с их ролями,
сохранить в файле, а после рестора выкосить всех юзеров
и прогнать сохранённый скрипт с юзерами.
Тогда, ничего не упустишь.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SQL-логин и переименованная база / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]