17.04.2003, 17:26 | #1 |
Moderator
|
[MSSQL] object owner
Добрый вечер!
Вопрос, наверное, больше к админам MSSQL. Такая ситуация. Программеры работают через bmssa, который является dbowner`ом для нужной БД. Соответственно, все объекты БД (таблицы и проч.) имеют в качестве владельца того же bmssa. Все бы ничего, пока не приходится переносить базу на другой сервер. Тут возникает известная проблема, когда bmssa на сервере и bmssa из бэкапа - суть разные bmssa. У известной проблемы есть известное решение - поюзать sp_change_users_login 'Update_One','bmssa','bmssa'. Но, видимо, возможны и другие проблемы. Корень у них один - bmssa в качестве owner`а. Слышал где-то, что правильный стиль - у всех объектов владелец dbo. Тогда при восстановлении из бэкапа не возникает никаких проблем. Собственно, вопрос в этом и состоит: как добиться того, чтобы владельцем для создаваемых объектов назначался dbo? И насколько это нужно и правильно вообще? Знаю пока один способ: программеров включить в группу админов компа с MSSQL- сервером и в ODBC настроить не SQL аутентификацию, а Windows. Но это (программеры в группе админов) не всегда возможно. Кто что думает во этому поводу?
__________________
Андрей. |
|
17.04.2003, 17:40 | #2 |
Модератор
|
Цитата:
как добиться того, чтобы владельцем для создаваемых объектов назначался dbo?
|
|
17.04.2003, 18:14 | #3 |
Moderator
|
ОК, спасибо!
Цитата:
Включить создателя объектов в серверную роль System administrators.
Цитата:
А пользователей запускать через логин, являющийся db_datareader, db_datawriter
__________________
Андрей. |
|
17.04.2003, 18:34 | #4 |
Модератор
|
Цитата:
Этого достаточно для обычных пользователей?
|
|
18.04.2003, 00:22 | #5 |
Участник
|
Цитата:
Изначально опубликовано Vadik
Включить создателя объектов в серверную роль System administrators. лучше просто скриптом сменить владельца у каждого объекта на dbo. После этого любой пользователь, принадлежащий роли db_owner сможет изменять структуру базы. согласен, что обычным пользователям хватает db_reader, db_writer |
|
18.04.2003, 10:31 | #6 |
Модератор
|
Цитата:
лучше просто скриптом сменить владельца у каждого объекта на dbo. После этого любой пользователь, принадлежащий роли db_owner сможет изменять структуру базы.
Я наверное не совсем удачно выразился - не "включить создателя" в sysadmin, а "создавать объекты sysadmin-ом". Т.е. тут еще и организационный момент, который "надо думать" |
|
18.04.2003, 10:39 | #7 |
Участник
|
Не.
Каждый час скрипт гонять не надо. Отслеживать надо только новые таблицы и индексы. А это не так часто. Попробуй |
|
18.04.2003, 11:13 | #8 |
Модератор
|
Цитата:
Отслеживать надо только новые таблицы и индексы. А это не так часто.
И не совсем понятно, об одном и том же мы говорим - о раздаче полномочий в процессе разработки или о том, как проще на другом сервере базу из бэкапа поднять Если о первом - у нас разработчикам дать права sysadmin на MSSQL не страшно, и это сильно упрощает жизнь. Это не наезд , просто у нас их немного Если о втором - наверное, то, что ты предложил, проще всего |
|
18.04.2003, 11:53 | #9 |
Участник
|
Цитата:
Изначально опубликовано Vadik
Если о первом - у нас разработчикам дать права sysadmin на MSSQL не страшно, и это сильно упрощает жизнь. Это не наезд , просто у нас их немного |
|
18.04.2003, 11:59 | #10 |
Участник
|
И еще.
Цитата:
Изначально опубликовано Vadik
И не совсем понятно, об одном и том же мы говорим - о раздаче полномочий в процессе разработки или о том, как проще на другом сервере базу из бэкапа поднять ... Если о втором - наверное, то, что ты предложил, проще всего sp_change_users_login Auto_Fix, 'bmssa' Я говорил именно о том, чтобы РАЗНЫЕ SQL пользователи могли работать с одной базой. И не только просто работать, но и править структуру тоже под разными логинами. |
|
18.04.2003, 12:37 | #11 |
Модератор
|
Цитата:
Нет, нет, нет. Поднять из бекапа, это не смена владельца, это починить id пользователя. С поднятием справляется простой вызов хранимой процедуры sp_change_users_login Auto_Fix, 'bmssa'
Цитата:
Отслеживать надо только новые таблицы и индексы. А это не так часто. Попробуй
В общем, каждый делает так, как ему удобнее... Вот дорастем до того, что каждое изменение в базе - это целое мероприятие с документом, ответственным и пр., попробуем |
|