Сравнение владельцев баз геоданных в SQL Server

Базы геоданных представляют собой набор таблиц, видов, функций и сохраненных процедур внутри базы данных. В базах геоданных в базе данных Microsoft SQL Server этот набор объектов может принадлежать пользователю sde или dbo. Кто именно будет собственником базы геоданных, зависит от администратора. Так как имена пользователей и имена схем должны совпадать в базе геоданных, базы геоданных, принадлежащие пользователю sde называются базами геоданных со схемой sde, а принадлежащие dbo называются, соответственно, базы геоданных со схемой dbo.

Примечание:

Важно понимать, как SQL Server управляет доступом к данным и другим объектам. Поэтому, если вы не знакомы с моделью безопасности SQL Server, обратитесь к документации по Microsoft SQL Server. SQL Server проверяет имя пользователя на уровне экземпляра, затем авторизует соответствующего пользователя на уровне базы данных. Экземпляру, определенным базам данных или данным внутри базы данных могут предоставляться различные права. Это может влиять на выбор типа пользователя базы геоданных.

Имя пользователя, из-под которого вы подключаетесь, когда создаете базу геоданных, определяет пользователя, который будет владельцем базы геоданных. Если имя пользователя операционной системы или SQL Server, из-под которого вы подключаетесь, сопоставлено с пользователем dbo, создается база геоданных со схемой dbo. Если имя пользователя операционной системы или SQL Server, из-под которого вы подключаетесь, сопоставлено с пользователем sde, создается база геоданных со схемой sde.

Пользователь sde

Пользователь sde базы данных может быть связан с именем пользователя, проверяемым в SQL Server или средствами операционной системы. Пользователь sde должен иметь права на схему sde, а эта схема должна быть схемой пользователя sde по умолчанию. Пользователь sde также должен обладать правами в базе данных, которые позволяют ему создавать и администрировать базу геоданных.

Пользователь dbo

Пользователь dbo и его схема по умолчанию автоматически присутствуют во всех базах данных. Имена пользователя могут быть связаны с dbo одним из двух способов:

  • С помощью создания или назначения владельца определенной базы данных
  • С помощью участия в фиксированной серверной роли sysadmin

Имена пользователей, которые сопоставляются с пользователем dbo в определенной базе данных, имеют в ней максимально возможные права, поэтому их достаточно для создания и администрирования базы геоданных. Имена пользователей, которые сопоставляются с пользователем dbo в определенной базе данных, не имеют дополнительных прав в экземпляре SQL Server или в других базах данных, если только дополнительные права не были специально предоставлены.

Имена пользователей, которые являются участниками фиксированной серверной роли sysadmin, сопоставляются с пользователем dbo в каждой базе данных экземпляра SQL Server, и также имеют максимально возможные права во всем экземпляре SQL Server. Такие пользователи имеют права, достаточные для создания и администрирования базы геоданных, и могут создавать, изменять, удалять и администрировать другие защищенные данные в экземпляре.

Все объекты базы данных, принадлежащие пользователю dbo, хранятся в схеме dbo.

Какому пользователю должна принадлежать база геоданных?

Между этими двумя типами схем баз геоданных не существует различий в производительности и функциональности. Каждая имеет свои преимущества и недостатки. Выберите пользователя (и, соответственно, схему) которая лучше всего подходит в вашей системе и модели безопасности.

Ниже дается сравнение двух типов схем, основанных на типе использованной аутентификации:

СхемаАутентификацияПлюсыМинусы

Dbo (член sysadmin)

Операционная система или имя пользователя SQL Server

  • Если администратор базы данных SQL Server также является администратором базы геоданных, имеет смысл использовать схему dbo, чтобы одному пользователю не пришлось использовать два различных имена, в зависимости от выполняемой задачи.
  • Если требуются несколько администраторов базы геоданных, можно добавить в серверную роль sysadmin несколько пользователей.
  • Пользователь имеет расширенные права над всем защищенным содержимым в экземпляре SQL Server.
  • Имя пользователя должно быть создано и добавлено в роль sysadmin перед запуском инструмента Создать многопользовательскую базу геоданных.
  • Если используется локальная учетная запись пользователя вместо доменной учетной записи она присутствует только на сервере, где установлен SQL Server. Поэтому, клиенты ArcGIS должны быть установлены на тот же самый сервер, и все задачи администрирования базы геоданных должны выполняться при входе с использованием локальной учетной записи на этом сервере.
  • Базы геоданных со схемой dbo не поддерживаются в Amazon Relational Database Service (RDS) for SQL Server.

Dbo (сопоставленный с dbo в определенной базе данных)

Операционная система или имя пользователя SQL Server

  • В определенной базе данных администратор базы геоданных может администрировать и базу данных.
  • Расширенные права не выходят за рамки указанной базы данных.
  • Если требуются несколько администраторов базы геоданных, можно добавить в серверную роль sysadmin других пользователей, также сделав их пользователями dbo.
  • Пользователь имеет расширенные права в базе данных.
  • Имя пользователя и база данных должны быть созданы перед запуском инструмента Создать многопользовательскую базу геоданных, а имя пользователя должно быть назначено владельцем базы данных.
  • Если используется локальная учетная запись пользователя вместо доменной учетной записи она присутствует только на сервере, где установлен SQL Server. Поэтому, клиенты ArcGIS должны быть установлены на тот же самый сервер, и все задачи администрирования базы геоданных должны выполняться при входе с использованием локальной учетной записи на этом сервере.
  • Базы геоданных со схемой dbo не поддерживаются в Amazon RDS for SQL Server.

Sde

учетная запись SQL Server

  • Пользователю sde требуются несколько разрешений в определенной базе данных для администрирования базы геоданных.
  • Пользователь sde в SQL Server, пользователь базы данных и схема могут быть созданы с помощью инструмента Создать многопользовательскую базу геоданных при создании базы геоданных в базе данных. Или администратор базы данных может создать базу данных, пользователя sde (с требуемыми правами) и схему sde, и разрешить пользователю sde создать базу геоданных, используя инструмент геообработки Включить многопользовательскую базу геоданных.
  • Учетная запись sde SQL Server может быть использована для создания базы геоданных в Amazon RDS for SQL Server.
  • Только одно имя пользователя может быть сопоставлено с пользователем sde.
  • Экземпляр SQL Server должен допускать аутентификацию смешанного типа.
  • Инструмент Создать многопользовательскую базу геоданных должен быть запущен администратором базы данных.

Sde

Имя пользователя операционной системы

  • Пользователю sde требуются несколько разрешений в определенной базе данных для создания и администрирования базы геоданных. Администратор базы данных может создать базу данных, пользователя sde (с требуемыми правами) и схему sde, и разрешить пользователю sde создать базу геоданных, используя инструмент геообработки Включить многопользовательскую базу геоданных.
  • Можно сопоставить имя пользователя в домене с пользователем sde.
  • Имя пользователя sde с идентификацией средствами операционной системы можно использовать для сайтов, где экземпляр SQL Server допускает только идентификацию средствами операционной системы.
  • Может потребоваться создание имени пользователя операционной системы, которое не связано непосредственно с определенным пользователем.*
  • База данных, пользователь sde, пользователь и схема должны быть созданы до запуска инструмента Создать многопользовательскую базу геоданных.
  • Только одно имя пользователя может быть сопоставлено с пользователем sde.
  • Вы должны выполнить вход в Windows с именем пользователя sde, чтобы запустить инструмент Создать многопользовательскую базу геоданных.
  • Если используется локальная учетная запись пользователя вместо доменной учетной записи она присутствует только на сервере, где установлен SQL Server. Поэтому, клиенты ArcGIS должны быть установлены на тот же самый сервер, и все задачи администрирования базы геоданных должны выполняться при входе с использованием локальной учетной записи на этом сервере.

*Большинство учетных записей операционных систем, особенно доменных учетных записей, принадлежат определенным пользователям. Это имя используется сотрудником для входа в компьютер и доступа к приложениям, включая SQL Server. Соответственно этот сотрудник всегда подключается к базе геоданных как пользователь sde. Если один и тот же человек является и администратором базы геоданных и создает данные в базе геоданных, вам возможно, потребуется создать другую учетную запись операционной системы, и сопоставить с ней другого пользователя базы данных, с правами меньшего уровня, соответственно дав сотруднику два имени пользователя. Однако это означает, что пользователь должен будет переключаться между учетными записями в компьютере, в зависимости от того, какую задачу он в данный момент выполняет в базе геоданных. Во многих организациях не допускается создание нескольких учетных записей для одного пользователя, поскольку это влияет на безопасность и усложняет управление учетными записями пользователей. В этом случае идентификация пользователя sde средствами операционной системы не очень подходит для сотрудника, если он выполняет несколько ролей в базе геоданных.