Создание пользователя СУБД MS SQL

Опубликовал Альберт Хайров (hayroff) в раздел Администрирование - Системное

Создание пользователя MS SQL для развертывания базы 1С.

При развертывании информационных баз предприятий на основе решений 1С в клиент-серверном режиме с использованием СУБД MS SQL иногда бывает нужно, чтобы разные базы создавались от имени разных пользователей. Т.е. нам бывает нужно завести в SQL Management Studio пользователя, отличного от sa и ввести его данные в поля окна добавления новой ИБ. (рис1.)

Рис. 1

Каковы минимальные права, при которых это всё будет функционировать?

В материалах методической поддержки ИТС говорится, что «этот пользователь должен иметь не только полные права на базу данных информационной базы, но и права на создание баз данных в SQL-сервере и на чтение таблиц базы данных Master». Чтобы посмотреть, как это работает на практике, проведем тестовую установку ИБ в клиент-серверном варианте, используя MS SQL Server 2008 R2 Express. Можно, конечно же, тупо скопировать параметры пользователя sa, но давайте сделаем это осмысленно, это всегда полезно.

Запустим среду SQL Management Studio 2008 R2, установим соединение с SQL-сервером и откроем раздел Безопасность->Имена входа и выберем команду контекстного меню «Создать имя входа», зададим имя пользователя и установим права  dbcreator, public (рис.2)

Рис. 2 

На странице свойств пользователя «Сопоставление пользователей» отметим флажком «Схема» все базы в таблице сопоставленных пользователей master, model, msdb, tempdb, и для каждой базы из таблицы отметим членство в ролях public, db_owner (рис.3)

Рис. 3

Теперь можно вернуться к окну, изображенному на рис. 1 и применить введенные параметры. Нажимаем Далее->Готово и... база создана, список баз увеличился на одну позицию.

Таким образом, мы сможем обрадовать и успокоить системного администратора, ведь указанная комбинация прав пользователя MS SQL минимально достаточна для использования с платформой 1С в клиент-серверном режиме, и пароль «sa» останется не скомпрометированным, а у нас есть нужные нам права пользователя MS SQL.

См. также

PowerTools от 1 000
Комментарии
1. Armando Armando (Armando) 1374 16.02.17 00:22 Сейчас в теме
Как Вы обрадуете админа, если даете роль sysadmin?
Здесь http://its.1c.ru/db/metod8dev#content:5904:hdoc вообще пишут, что public и dbcreator достаточно. Хотя я бы еще processadmin добавил, т.к. удаление сеанса сопровождается командой KILL на SQL.

Учетку sa рекомендуют переименовывать или вовсе отключать.
Disabling or Renaming the Built-in sa Account
In SQL Server 2005, the built-in system administrator (sa) account was maintained for backward compatibility. Unless necessary for other purposes, this account should be disabled or renamed.
https://msdn.microsoft.com/en-us/library/cc966485.aspx
cleaner_it; h00k; swiss-garant; japopov; shalimski; +5 Ответить 2
2. Павел Королев (fd13) 16.02.17 11:31 Сейчас в теме
От предложения дать роль sysadmin тихо выпал в осадок.
Согласен с (1) - реально нужны только public, dbcreator, processadmin.
3. Danil (Danila-Master) 72 16.02.17 12:52 Сейчас в теме
(1)
(2)
1С 8.3.9 требует права sysadmin для sql 2014 и выше.
downloads.v8.1c.ru/content//Platform/8_3_9_2170/1cv8upd.htm#7c1b8dd6-9531-11e6-a3f7-0050569f678a
4. Armando Armando (Armando) 1374 16.02.17 13:29 Сейчас в теме
(3)
1С 8.3.9 требует права sysadmin для sql 2014 и выше.
downloads.v8.1c.ru/content//Platform/8_3_9_2170/1cv8upd.htm#7c1b8dd6-9531-11e6-a3f7-0050569f678a

Да, и партнеры этим уже недовольны https://partners.v8.1c.ru/forum/topic/1553566
Вроде бы разработчики собираются исправить это недоразумение
"Одна из следующих версий 8.3.9 - будет читать состояние флага и если он установлен глобально, то плафторма не будет его устанавливать в каждом соединении."
5. Андрей (h00k) 43 24.02.17 02:44 Сейчас в теме
(3)
1С 8.3.9 требует права sysadmin для sql 2014 и выше.

Только для MS SQL 2014. Оптимизатор в MS SQL 2016 работает нормально "из коробки". А на MS SQL 2014 начинает работать нормально только после установки флага трассировки 4199.