Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как изменить запись sysusers  [new]
Kpect2
Member

Откуда:
Сообщений: 7
Всем привет!
Сервер: MS SQL 2005
Проблема: у нас на предприятии идет миграция учеток из одного домен в другой. После миграции учетки, ей выделяется новый sid.
Задача: нужно изменить, как я понял поле sid, name в таблице sysusers.
Решение:

exec sp_configure N'allow updates', 1
reconfigure with override

UPDATE sysusers SET id = SUSER_SID(<имя_учетной_записи>) WHERE name = <имя_пользователя_бд>

При выполнении запроса выдает следующую ошибку: Ad hoc updates to system catalogs are not allowed.

ПОМОГИТЕ!!!
24 апр 12, 15:16    [12463448]     Ответить | Цитировать Сообщить модератору
 Re: Как изменить запись sysusers  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3265
Kpect2,

ALTER USER
24 апр 12, 15:23    [12463504]     Ответить | Цитировать Сообщить модератору
 Re: Как изменить запись sysusers  [new]
Glory
Member

Откуда:
Сообщений: 104751
С версии 2005 запрещены прямые изменения системных таблиц.
24 апр 12, 15:23    [12463508]     Ответить | Цитировать Сообщить модератору
 Re: Как изменить запись sysusers  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3265
Kpect2,

ALTER LOGIN
В общем по вкусу.

Хотя непонятно, откуда такая тяга апдейтить системые представления.
24 апр 12, 15:25    [12463525]     Ответить | Цитировать Сообщить модератору
 Re: Как изменить запись sysusers  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3637
Kpect2
Всем привет!
Сервер: MS SQL 2005
Проблема: у нас на предприятии идет миграция учеток из одного домен в другой. После миграции учетки, ей выделяется новый sid.
Задача: нужно изменить, как я понял поле sid, name в таблице sysusers.
Решение:

exec sp_configure N'allow updates', 1
reconfigure with override

UPDATE sysusers SET id = SUSER_SID(<имя_учетной_записи>) WHERE name = <имя_пользователя_бд>

При выполнении запроса выдает следующую ошибку: Ad hoc updates to system catalogs are not allowed.

ПОМОГИТЕ!!!

Удалить старые точки входа, добавить новые
и сопоставить с логином базы ?
sp_change_users_login 'update_one', 'user', 'user'
24 апр 12, 15:26    [12463529]     Ответить | Цитировать Сообщить модератору
 Re: Как изменить запись sysusers  [new]
Kpect2
Member

Откуда:
Сообщений: 7
Ken@t
Kpect2,

ALTER USER


Выдает следующую ошибку: The name change cannot be performed because the SID of the new name does not match the old SID of the principal.

Я не хочу заново заводить пользователей в SQL, мне нужно изменить sid у sql учеток.
24 апр 12, 15:29    [12463558]     Ответить | Цитировать Сообщить модератору
 Re: Как изменить запись sysusers  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3265
Kpect2
Я не хочу заново заводить пользователей в SQL, мне нужно изменить sid у sql учеток.

Автоматизация создания новых логинов дело пяти минут.
24 апр 12, 15:36    [12463610]     Ответить | Цитировать Сообщить модератору
 Re: Как изменить запись sysusers  [new]
Kpect2
Member

Откуда:
Сообщений: 7
Ozerov, при выполнении процедуры пишет, что Завершение процедуры. User с именем "Имя пользователя" отсутствует или не верно.
24 апр 12, 15:59    [12463822]     Ответить | Цитировать Сообщить модератору
 Re: Как изменить запись sysusers  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3637
Kpect2
Ozerov, при выполнении процедуры пишет, что Завершение процедуры. User с именем "Имя пользователя" отсутствует или не верно.


Базу нужную выбрали или по умолчанию master остался ? :)
24 апр 12, 16:06    [12463869]     Ответить | Цитировать Сообщить модератору
 Re: Как изменить запись sysusers  [new]
Kpect2
Member

Откуда:
Сообщений: 7
Ozerov, если я правильно вас понял необходимо было удалить логин СтарыйДомен\user. Добавить новый логин НовыйДомен\user.
Выбрать базу и запустить
exec sp_change_users_login 'update_one', 'СтарыйДомен\user', 'НовыйДомен\user'

Выдает ошибку.
24 апр 12, 16:11    [12463916]     Ответить | Цитировать Сообщить модератору
 Re: Как изменить запись sysusers  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3637
Kpect2
Ozerov, если я правильно вас понял необходимо было удалить логин СтарыйДомен\user. Добавить новый логин НовыйДомен\user.
Выбрать базу и запустить
exec sp_change_users_login 'update_one', 'СтарыйДомен\user', 'НовыйДомен\user'

Выдает ошибку.


Тынц
24 апр 12, 16:13    [12463928]     Ответить | Цитировать Сообщить модератору
 Re: Как изменить запись sysusers  [new]
Kpect2
Member

Откуда:
Сообщений: 7
Ozerov, и?
24 апр 12, 16:22    [12463995]     Ответить | Цитировать Сообщить модератору
 Re: Как изменить запись sysusers  [new]
Glory
Member

Откуда:
Сообщений: 104751
Kpect2
Ozerov, и?

Читайте документацию. 2ой параметер - это UserName.
Вы должны знать имя пользователя в базе.
24 апр 12, 16:24    [12464020]     Ответить | Цитировать Сообщить модератору
 Re: Как изменить запись sysusers  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3637
Kpect2
Ozerov, и?


А там то что не понятно ?
Если выдается ошибка об отсутствии пользователя, значит Вы не так указали его.
Проверяйте. Эта хранимка рабочая (только на выходных использовал).
24 апр 12, 16:25    [12464025]     Ответить | Цитировать Сообщить модератору
 Re: Как изменить запись sysusers  [new]
Kpect2
Member

Откуда:
Сообщений: 7
Ozerov, самое смешное, что ALTER USER работает, а процедура sp_change_users_login никак не хочет
24 апр 12, 16:34    [12464104]     Ответить | Цитировать Сообщить модератору
 Re: Как изменить запись sysusers  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3637
Kpect2
Ozerov, самое смешное, что ALTER USER работает, а процедура sp_change_users_login никак не хочет


USE MYDB
exec sp_change_users_login 'update_one', 'СтарыйДомен\user который присутствует в базе', 'НовыйДомен\user - точка входа на сервер
'

Проверяйте правильность указания базы и логинов.
Если пишется, что нет, значит нет. Серверу не за чем врать...
24 апр 12, 16:39    [12464139]     Ответить | Цитировать Сообщить модератору
 Re: Как изменить запись sysusers  [new]
Kpect2
Member

Откуда:
Сообщений: 7
Ozerov, ошибка (см. файл)

К сообщению приложен файл. Размер - 114Kb
25 апр 12, 10:37    [12467361]     Ответить | Цитировать Сообщить модератору
 Re: Как изменить запись sysusers  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3637
Приношу извинения. Сопоставлял SQL логины.

Процедура sp_change_users_login не может использоваться для сопоставления пользователей базы данных с участниками уровня Windows, сертификатами или асимметричными ключами.
25 апр 12, 13:08    [12468496]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить