Авторизация

Логин:
Пароль:
Восстановить пароль
Регистрация
  • Форум
  • Блоги
  • Контакты
  • Новости
  • Продукты
  • Отрасли
  • Обучение
  • Поддержка
  • События
  • О компании
  • Рекомендации по соединению SDE с Microsoft SQL Server

    Для управления пространственными базами данных приложение ArcSDE хранит системные таблицы и хранимые процедуры в СУБД Microsoft SQL Server. Для создания и управление этими системными таблицами необходимо, чтобы процесс ArcSDE giomgr соединился с SQL Server под пользователем с именем SDE. Ниже дается ряд рекомендаций, помогающих создать пользователя SDE, определить регистрационные имена и права доступа, чтобы избежать конфликтов и сообщений об ошибках.

    Для работы с каждой базой геоданных ArcSDE необходим пользователь SDE. Если Вы предпочтете вручную установить ArcSDE для работы с базой данных SQL Server, то будет необходимо создать как базу данных SDE, так и пользователя SDE. Проведение такой установки с помощью специального Мастера позволяет автоматизировать этот процесс. Пользователь SDE владеет правами на все таблицы хранилища данных (репозитария), хранящиеся в базе данных SDE. Таблицы репозитария ArcSDE, в названии которых имеется префикс SDE_ или GDB_, хранят информацию о пространственных и непространственных данных базы геоданных, а также схему базы геоданных. Права доступа и владения объектом базы данных контролируются правами пользователя в SQL Server. Для каждой базы данных может быть задан уникальный набор пользователей, имеющих права владения содержащимися в ней объектами.

    Для пользователя SDE задайте следующие права на базу данных SDE – Создать таблицу (Create Table), Создать хранимую процедуру (Create Stored Procedure), и Создать Вид (Create View). Для SQL Server 2000 также включите в этот список разрешение на Создание функции (Create Function). Тогда пользователь SDE получит возможность создать таблицы репозитария ArcSDE. Кроме того, пользователь SDE должен иметь доступ ко всем базам данных, в которых хранятся пространственные данные.

    Пользователю SDE не следует давать права владельца базы данных (dbo) ни для какой базы данных. Это регистрационное имя используется для проверки прав на соединение с базой данных SQL Server. Когда в SQL Server создается база данных, права на соединение и работу с ней предоставляются пользователю, имеющему соответствующие права владельца базы данных (dbo). Следовательно, регистрационное имя SDE никогда не следует использовать для создания базы данных SDE, так как в этом случае таблицы репозитария нельзя будет создать в базе данных SDE.

    Кроме того, пользователю SDE не должна быть приписана роль sysadmin fixed server role, или любая другая роль, которая присваивает такое разрешение. [Роли являются наборами пользователей с подобными разрешениями, которые используются для облегчения администрирования]. При присваивании этой роли регистрационному имени SDE автоматически приписывается пользователь с правами владения (dbo) для каждой базы данных и всех объектов, создаваемых при использовании регистрационного имени SDE, владельцем которых теперь будет являться пользователь dbo. Если регистрационное имя SDE приписывается пользователю dbo в базе данных SDE, то в процессе сжатия версии будут возникать конфликты с правами доступа. Пользователь SDE автоматически получает права на владение версией базы данных по умолчанию (sde.DEFAULTS) и получает доступ ко всем версиям, создаваемым в базе геоданных. Поэтому, если регистрационное имя SDE соответствует пользователю dbo, то уже этот пользователь будет владеть правами на версию по умолчанию (DEFAULT). В таблице sde_versions в поле владельца версии по умолчанию будет записан пользователь dbo, а сама версия будет называться dbo.DEFAULT. Если для проведения сжатия Вы создадите соединение как пользователь SDE, то получите сообщение об ошибке на недостаток прав, так как регистрационное имя SDE не будет соответствовать имени владельца (то есть dbo), которое хранится в таблице версий sde (sde_versions).

    Замечание: Проведение сжатия из ArcCatalog или с использованием программируемого метода сжатия приведет к появлению сообщения об ошибке в случае, когда пользователь является пользователем dbo. В этом случае следует использовать альтернативный метод сжатия: команду сжатия «sdeversion –o compress».

    Суммируем изложенное выше. Для работы с базой геоданных через ArcSDE необходим пользователь SDE. Ниже в таблице перечислены некоторые рекомендации, которые помогут облегчить процедуру создания и администрирования пользователя SDE. Дополнительная информации по использованию ArcSDE с Microsoft SQL Server содержится в интерактивной Справке ArcSDE Online Developer Help, руководствах Microsoft SQL Server Books Online, и на сайте технической поддержки ESRI (support.esri.com).

    Общие рекомендации по управлению пользователем SDE

    Дайте пользователю SDE права Create Table, Create View, Create Stored Procedure и Create Function в базе данных SDE.

    Установите известный только вам пароль для пользователя SDE и предотвратите его изменение.

    Установите пользователя SDE как пользователя каждой базы данных с пространственными данными.

    НЕ создавайте базу данных SDE под пользователем SDE.

    НЕ загружайте данные под пользователем SDE.

    НЕ позволяйте пользователю SDE выступать в роли пользователя dbo (владельца базы данных).


    Таблица 1. Права пользователя SDE на базу данных SDE.

    Роль

    Create Table

    Create Stored Procedure

    Create Default

    Create Rule

    Create Function

    Qc9

    X

     
     
     
     

    SDE

    X

    X

     
     

    X

    St1

    X

     
     
     
     

    St10

    X

     
     
     
     

    По статье Кельдаха Хедстстрема и Олена Смита, Центр обучения ESRI
    Журнал ArcUser, октябрь-декабрь 2003 г.


    Вернуться к списку