Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как у dbo поменять с windows_user на sql_user в sys.database_principals ?  [new]
Jhonny-2005
Member

Откуда: Москва
Сообщений: 72
Делаем запрос:
select type_desc from sys.database_principals where name = 'dbo'

В итоге выводит WINDOWS_USER. Не знаю почему, но это так.
Как его заменить на SQL_USER ? Проблема именно с одной БД.
В связи с этим похоже как то не корректно происходит запуск вида with execute as owner в ХП, т.е. выходит ошибка:
Cannot execute as the database principal because the principal "dbo" does not exist, this type of principal cannot be impersonated, or you do not have permission.
18 сен 14, 09:30    [16588667]     Ответить | Цитировать Сообщить модератору
 Re: Как у dbo поменять с windows_user на sql_user в sys.database_principals ?  [new]
aleks2
Guest
Jhonny-2005
Делаем запрос:
select type_desc from sys.database_principals where name = 'dbo'

В итоге выводит WINDOWS_USER. Не знаю почему, но это так.
Как его заменить на SQL_USER ? Проблема именно с одной БД.
В связи с этим похоже как то не корректно происходит запуск вида with execute as owner в ХП, т.е. выходит ошибка:
Cannot execute as the database principal because the principal "dbo" does not exist, this type of principal cannot be impersonated, or you do not have permission.


Ну дык, смени владельца базы.
18 сен 14, 09:33    [16588679]     Ответить | Цитировать Сообщить модератору
 Re: Как у dbo поменять с windows_user на sql_user в sys.database_principals ?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Jhonny-2005
or you do not have permission.

А что вы сделали, чтобы у текущего пользователя былди права на execute as ?
18 сен 14, 09:35    [16588685]     Ответить | Цитировать Сообщить модератору
 Re: Как у dbo поменять с windows_user на sql_user в sys.database_principals ?  [new]
aleks2
Guest
Changes the owner of the current database.

Note:
This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Use ALTER AUTHORIZATION instead.


Syntax

sp_changedbowner [ @loginame = ] 'login'
[ , [ @map = ] remap_alias_flag ]


Arguments
[ @loginame = ] 'login'
Is the login ID of the new owner of the current database. login is sysname, with no default. login must be an already existing SQL Server login or Windows user. login cannot become the owner of the current database if it already has access to the database through an existing user security account within the database. To avoid this, drop the user within the current database first.

[ @map = ] remap_alias_flag
The remap_alias_flag parameter is deprecated because login aliases have been removed from SQL Server. Using the remap_alias_flag parameter does not cause an error but has no effect.
18 сен 14, 09:35    [16588689]     Ответить | Цитировать Сообщить модератору
 Re: Как у dbo поменять с windows_user на sql_user в sys.database_principals ?  [new]
Jhonny-2005
Member

Откуда: Москва
Сообщений: 72
Glory,

Запуск происходит от SA допустим.
18 сен 14, 09:45    [16588732]     Ответить | Цитировать Сообщить модератору
 Re: Как у dbo поменять с windows_user на sql_user в sys.database_principals ?  [new]
Jhonny-2005
Member

Откуда: Москва
Сообщений: 72
В общем создали тестового пользователя, навесили на него owner, потом обратно на dbo. В итоге стало всё гуд.
22 сен 14, 10:17    [16603481]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить