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

9 Comments

  1. Armando

    Как Вы обрадуете админа, если даете роль 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

    Reply
  2. fd13

    От предложения дать роль sysadmin тихо выпал в осадок.

    Согласен с (1) — реально нужны только public, dbcreator, processadmin.

    Reply
  3. Danila-Master

    (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

    Reply
  4. Armando

    (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 — будет читать состояние флага и если он установлен глобально, то плафторма не будет его устанавливать в каждом соединении.«

    Reply
  5. h00k

    (3)

    1С 8.3.9 требует права sysadmin для sql 2014 и выше.

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

    Reply
  6. juker

    У меня прекрасно работает dbcreator, public и всё. Все, т.е. все админские функции к коим относятся и киляние процессов/соединений делаются из под соответствующей учетной записи.

    SA (как уже говорили) отключен и функции админа выполняет другая учетная запись.

    Базы создаются из под учетки с dbcreator и public. В процессе создания пользователь получает овнера вновь созданной базы.

    Reply
  7. nvv1970

    А с проблемами обновленияй/реструктуризаций никто не сталкивался? Есть примеры поврежденных баз с ограниченными правами в sql… Ответственные люди подробно расследовать причину не смогли. Может просто совпадение…, но осадочек, как говорится, остался…

    Reply
  8. h00k

    (7)

    А с проблемами обновленияй/реструктуризаций никто не сталкивался?

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

    Reply
  9. inomaratadeath

    на платформе 8-3-12-1685 и MS SQL 2014 проблема так и осталась, без назначения права sysadmin не позволяет создавать базы. На 2008 MS SQL такой проблемы нет.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *