AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Администрирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.04.2003, 17:26   #1  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
[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  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
как добиться того, чтобы владельцем для создаваемых объектов назначался dbo?
Включить создателя объектов в серверную роль System administrators. А пользователей запускать через логин, являющийся db_datareader, db_datawriter
Старый 17.04.2003, 18:14   #3  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
ОК, спасибо!
Цитата:
Включить создателя объектов в серверную роль System administrators.
При этом пользователи этого логина будут являться админами всего SQL-сервера, а не только определенной БД? В принципе, вариант нормальный, но как-то... Нет ли чего еще?
Цитата:
А пользователей запускать через логин, являющийся db_datareader, db_datawriter
Этого достаточно для обычных пользователей? Спасибо, попробую.
__________________
Андрей.
Старый 17.04.2003, 18:34   #4  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Этого достаточно для обычных пользователей?
Этого достаточно, чтобы делать select, insert, update, delete. Создавать, редактировать и удалять объекты БД (делать синхронизацию) они не смогут
Старый 18.04.2003, 00:22   #5  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Изначально опубликовано Vadik
Включить создателя объектов в серверную роль System administrators.
Радикально!
лучше просто скриптом сменить владельца у каждого объекта на dbo. После этого любой пользователь, принадлежащий роли db_owner сможет изменять структуру базы.

согласен, что обычным пользователям хватает db_reader, db_writer
Старый 18.04.2003, 10:31   #6  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
лучше просто скриптом сменить владельца у каждого объекта на dbo. После этого любой пользователь, принадлежащий роли db_owner сможет изменять структуру базы.
Это если бы структура раз создалась и больше не "дышала". А то скрипт этот придется гонять по расписанию каждый час

Я наверное не совсем удачно выразился - не "включить создателя" в sysadmin, а "создавать объекты sysadmin-ом". Т.е. тут еще и организационный момент, который "надо думать"
Старый 18.04.2003, 10:39   #7  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Не.
Каждый час скрипт гонять не надо.

Отслеживать надо только новые таблицы и индексы. А это не так часто.

Попробуй
Старый 18.04.2003, 11:13   #8  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Отслеживать надо только новые таблицы и индексы. А это не так часто.
Лично мне сложно было бы держать в голове дату последнего запуска скрипта и созданные с тех пор объекты, особенно индексы, их я часто создаю, если чего-то "тюнинговать" надо. То, что я предлагал, мне самому тоже неудобно было бы, но там вопрос был не про удобство

И не совсем понятно, об одном и том же мы говорим - о раздаче полномочий в процессе разработки или о том, как проще на другом сервере базу из бэкапа поднять

Если о первом - у нас разработчикам дать права sysadmin на MSSQL не страшно, и это сильно упрощает жизнь. Это не наезд , просто у нас их немного
Если о втором - наверное, то, что ты предложил, проще всего
Старый 18.04.2003, 11:53   #9  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Изначально опубликовано Vadik
Если о первом - у нас разработчикам дать права sysadmin на MSSQL не страшно, и это сильно упрощает жизнь. Это не наезд , просто у нас их немного
Тоже выход.
Старый 18.04.2003, 11:59   #10  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
И еще.

Цитата:
Изначально опубликовано Vadik
И не совсем понятно, об одном и том же мы говорим - о раздаче полномочий в процессе разработки или о том, как проще на другом сервере базу из бэкапа поднять
...
Если о втором - наверное, то, что ты предложил, проще всего
Нет, нет, нет. Поднять из бекапа, это не смена владельца, это починить id пользователя. С поднятием справляется простой вызов хранимой процедуры
sp_change_users_login Auto_Fix, 'bmssa'

Я говорил именно о том, чтобы РАЗНЫЕ SQL пользователи могли работать с одной базой. И не только просто работать, но и править структуру тоже под разными логинами.
Старый 18.04.2003, 12:37   #11  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Нет, нет, нет. Поднять из бекапа, это не смена владельца, это починить id пользователя. С поднятием справляется простой вызов хранимой процедуры sp_change_users_login Auto_Fix, 'bmssa'
Ок, был неправ
Цитата:
Отслеживать надо только новые таблицы и индексы. А это не так часто. Попробуй
Это у меня некоторое время будет в базе кавардак с Invalid object name 'Table1', пока sp_changeobjectowner для новых объектов не сделаю?

В общем, каждый делает так, как ему удобнее... Вот дорастем до того, что каждое изменение в базе - это целое мероприятие с документом, ответственным и пр., попробуем
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Dynamics AX: Map Object Sorting - a real issue Blog bot DAX Blogs 7 15.10.2008 12:02
axperf: Debugging X++ Object Leaks Blog bot DAX Blogs 2 07.07.2008 12:35
Axapta Lessons: Application Object Id’s Blog bot DAX Blogs 0 27.06.2007 09:30
Dynamics AX: .Net BC, C# - Working with AxaptaRecord Object Blog bot DAX Blogs 0 20.06.2007 23:13
dynamicsusers: What object belongs to what granule Blog bot DAX Blogs 0 27.05.2007 14:21

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 07:18.