IE2017

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

Администрирование - Системное

Создание пользователя 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.

См. также

Комментарии
1. Armando Armando (Armando) 1378 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
juker; Solovyeff; cleaner_it; h00k; swiss-garant; japopov; shalimski; +7 Ответить 2
2. Павел Королев (fd13) 16.02.17 11:31 Сейчас в теме
От предложения дать роль sysadmin тихо выпал в осадок.
Согласен с (1) - реально нужны только public, dbcreator, processadmin.
3. Danil (Danila-Master) 76 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) 1378 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) 44 24.02.17 02:44 Сейчас в теме
(3)
1С 8.3.9 требует права sysadmin для sql 2014 и выше.

Только для MS SQL 2014. Оптимизатор в MS SQL 2016 работает нормально "из коробки". А на MS SQL 2014 начинает работать нормально только после установки флага трассировки 4199.
6. Вячеслав Салин (juker) 193 02.04.17 23:29 Сейчас в теме
У меня прекрасно работает dbcreator, public и всё. Все, т.е. все админские функции к коим относятся и киляние процессов/соединений делаются из под соответствующей учетной записи.
SA (как уже говорили) отключен и функции админа выполняет другая учетная запись.
Базы создаются из под учетки с dbcreator и public. В процессе создания пользователь получает овнера вновь созданной базы.
7. Uladzimir - (nvv1970) 22.05.17 09:19 Сейчас в теме
А с проблемами обновленияй/реструктуризаций никто не сталкивался? Есть примеры поврежденных баз с ограниченными правами в sql... Ответственные люди подробно расследовать причину не смогли. Может просто совпадение..., но осадочек, как говорится, остался...
8. Андрей (h00k) 44 22.05.17 12:26 Сейчас в теме
(7)
А с проблемами обновленияй/реструктуризаций никто не сталкивался?

Если пользователь, от имени которого настроено подключение к БД, имеет права dbo в подключаемой базе, то никаких проблем быть не должно.
Оставьте свое сообщение