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

Используется MS SQL 2008.

есть учётная запись sa. Зашёл под sa, создал новую БД test_sa. БД создалась, но если посмотреть
список пользователей в этой БД (security), то среди них отсутствует пользователь БД sa , зато есть:
dbo, guest, INFORMATION_SCHEMA, sys.

Как создать владельца бд test sa?

пробовал в свойствах учётной записи sa (Login Properties) указать в User Mapping вместо dbo sa.
Получил сообщение об ошибке: Cannot the alter user dbo

К сообщению приложен файл. Размер - 23Kb
21 фев 13, 13:39    [13960711]     Ответить | Цитировать Сообщить модератору
 Re: Как создать владельца БД sa?  [new]
Glory
Member

Откуда:
Сообщений: 104751
sa - это логин, а не пользователь базы
Владелец базы назначается через ALTER AUTHORIZATION или sp_changedbowner
И владелец виден в свойствах базы. А не в списке пользователей
21 фев 13, 13:44    [13960768]     Ответить | Цитировать Сообщить модератору
 Re: Как создать владельца БД sa?  [new]
invm
Member

Откуда: Москва
Сообщений: 9845
Владелец БД и так sa.
Члены серверной роли sysadmin всегда мапятся на dbo.

Какая цель преследуется?
21 фев 13, 13:45    [13960777]     Ответить | Цитировать Сообщить модератору
 Re: Как создать владельца БД sa?  [new]
sa как владелец БД
Guest
Пробовал создать нового пользователя в БД test_sa, выбрав логин sa, но получил ошибку:

К сообщению приложен файл. Размер - 123Kb
21 фев 13, 13:45    [13960778]     Ответить | Цитировать Сообщить модератору
 Re: Как создать владельца БД sa?  [new]
Glory
Member

Откуда:
Сообщений: 104751
sa как владелец БД
Пробовал создать нового пользователя в БД test_sa, выбрав логин sa, но получил ошибку:

sa и так имеет все права. Которые невозможно ни добавить, ни отнять
21 фев 13, 13:46    [13960798]     Ответить | Цитировать Сообщить модератору
 Re: Как создать владельца БД sa?  [new]
sa как владелец БД
Guest
Glory
sa - это логин, а не пользователь базы
Владелец базы назначается через ALTER AUTHORIZATION или sp_changedbowner
И владелец виден в свойствах базы. А не в списке пользователей


я хочу чтобы в списке пользователей БД появился пользователь sa как на картинке, но при этом
логин для пользователя sa также должен быть sa:

К сообщению приложен файл. Размер - 23Kb
21 фев 13, 13:54    [13960860]     Ответить | Цитировать Сообщить модератору
 Re: Как создать владельца БД sa?  [new]
sa как владелец БД
Guest


К сообщению приложен файл. Размер - 22Kb
21 фев 13, 13:55    [13960866]     Ответить | Цитировать Сообщить модератору
 Re: Как создать владельца БД sa?  [new]
Гость333
Member

Откуда:
Сообщений: 3683
sa как владелец БД,

Из вашей картинки не видно, что пользователю sa соответствует именно логин sa.
21 фев 13, 14:07    [13960998]     Ответить | Цитировать Сообщить модератору
 Re: Как создать владельца БД sa?  [new]
Glory
Member

Откуда:
Сообщений: 104751
sa как владелец БД
я хочу чтобы в списке пользователей БД появился пользователь sa как на картинке, но при этом
логин для пользователя sa также должен быть sa:

1. Логину sa вы не можете ни назначить прав, ни отобрать
2. Пользователя базы sa вы можете сделать. И отмапить его вы любой логин. Кроме sa
21 фев 13, 14:17    [13961077]     Ответить | Цитировать Сообщить модератору
 Re: Как создать владельца БД sa?  [new]
Александр52
Member

Откуда: Кокосовые острова ส็็็็็
Сообщений: 5136
USE your_DB;
GO
EXEC sp_change_users_login 'Update_One', 'sa, 'sa';
GO

сам не пробовал именно с sa, но должно работать)
21 фев 13, 14:30    [13961193]     Ответить | Цитировать Сообщить модератору
 Re: Как создать владельца БД sa?  [new]
Александр52
Member

Откуда: Кокосовые острова ส็็็็็
Сообщений: 5136
А вообще советую в целях безопасности отключить sa и завести юзера роли sysadmin с другим именем
21 фев 13, 14:31    [13961201]     Ответить | Цитировать Сообщить модератору
 Re: Как создать владельца БД sa?  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Александр52
USE your_DB;
GO
EXEC sp_change_users_login 'Update_One', 'sa, 'sa';
GO

сам не пробовал именно с sa, но должно работать)

Ну попробуйте. У меня вышла ошибка:
автор
Msg 15287, Level 16, State 1, Procedure sp_change_users_login, Line 35
Terminating this procedure. 'sa' is a forbidden value for the login name parameter in this procedure.
21 фев 13, 14:45    [13961308]     Ответить | Цитировать Сообщить модератору
 Re: Как создать владельца БД sa?  [new]
X-Cite
Member

Откуда: Минск
Сообщений: 1843
Зачем пользователь sa в БД, если он sysadmin и так имеет полные права на БД ?????
22 фев 13, 18:50    [13968683]     Ответить | Цитировать Сообщить модератору
 Re: Как создать владельца БД sa?  [new]
X-Cite
Member

Откуда: Минск
Сообщений: 1843
Вот скрипт, которым СТУДИЯ отображает пользователей БД. Можете покопаться и посмотреть, почему не отображает sa

exec sp_executesql N'
        DECLARE @is_policy_automation_enabled bit
        SET @is_policy_automation_enabled  = (SELECT CONVERT(bit, current_value)
                                              FROM msdb.dbo.syspolicy_configuration
                                              WHERE name = ''Enabled'')
      


SELECT
u.name AS [Name],
''Server[@Name='' + quotename(CAST(
        serverproperty(N''Servername'')
       AS sysname),'''''''') + '']'' + ''/Database[@Name='' + quotename(db_name(),'''''''') + '']'' + ''/User[@Name='' + quotename(u.name,'''''''') + '']'' AS [Urn],
case when 1=@is_policy_automation_enabled and exists (select * from msdb.dbo.syspolicy_system_health_state where target_query_expression_with_id like ''Server'' + ''/Database\[@ID='' + convert(nvarchar(20),dtb.database_id) + ''\]''+ ''/User\[@ID='' + convert(nvarchar(20),u.principal_id) + ''\]%'' ESCAPE ''\'') then 1 else 0 end AS [PolicyHealthState],
u.create_date AS [CreateDate],
u.principal_id AS [ID],
CAST(CASE dp.state WHEN N''G'' THEN 1 WHEN ''W'' THEN 1 ELSE 0 END AS bit) AS [HasDBAccess]
FROM
master.sys.databases AS dtb,
sys.database_principals AS u
LEFT OUTER JOIN sys.database_permissions AS dp ON dp.grantee_principal_id = u.principal_id and dp.type = @_msparam_0
WHERE
(u.type in (''U'', ''S'', ''G'', ''C'', ''K''))and((db_name()=@_msparam_1)and(dtb.name=db_name()))
ORDER BY
[Name] ASC',N'@_msparam_0 nvarchar(4000),@_msparam_1 nvarchar(4000)',@_msparam_0=N'CO',@_msparam_1=N'Admin'
22 фев 13, 18:53    [13968705]     Ответить | Цитировать Сообщить модератору
 Re: Как создать владельца БД sa?  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
X-Cite
Зачем пользователь sa в БД, если он sysadmin и так имеет полные права на БД ?????
ТСу занятся нечем наверное.
23 фев 13, 01:08    [13969727]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить