Создание базы геоданных в SQL Server

Доступно с лицензией Standard или Advanced.

Чтобы создать базу геоданных в базе данных Microsoft SQL Server, запустите инструмент геообработки или скрипт Python из клиентского приложения ArcGIS.

Если вы создадите базу геоданных из ArcGIS AllSource версии 3.5, версия этой базы геоданных будет 11.5.0.x.

Начните с чтения предварительных требований, а затем выполните действия, соответствующие вашей ситуации.

Предварительные условия

Перед созданием базы геоданных в SQL Server, сделайте следующее:

  1. Убедитесь в том, что используемые вами версии ArcGIS, SQL Server и операционной системы соответствуют требованиям.
  2. Загрузите ODBC-клиент SQL Server, необходимый для подключения к версии SQL Server, которую вы будете использовать для сохранения соответствубщей базы геоданных.
  3. Получите файл ключей ArcGIS Server и поместите его в такое место, где он будет доступен для клиента ArcGIS, который будет использоваться для создания базы геоданных.
  4. Определите, кто будет создавать базу геоданных, так как это влияет на то, кто создавал базу данных и каким инструментом база данных создавалась. Следуйте инструкциям, которые соответствуют вашей ситуации.

Вы администратор SQL Server и базы геоданных

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

Инструмент Создать многопользовательскую базу геоданных позволяет вам настроить базу геоданных, создает объекты базы данных и предоставляет вам необходимые права. Для этого инструмент использует следующие настройки по умолчанию и создает следующие объекты базы данных:

  • Он создает файлы базы данных (MDF и LDF) в месте установки SQL Server на сервере по умолчанию.
  • Он активирует опции базы данных SQL Server READ_COMMITTED_SNAPSHOTи ALLOW_SNAPSHOT_ISOLATION.
  • Он применяет размеры файлов базы данных по умолчанию, заданные для модели базы данных SQL Server или задает 500 МБ для файла MDF и 125 МБ для файла LDF, в зависимости от того, что больше.
  • Если вы решите создать базу геоданных в схеме sde, инструмент создаст в экземпляре SQL Server учетную запись для этой базы геоданных, создаст пользователя sde в этой базе данных и привяжет его к учетной записи sde, создаст в этой базе данных схему sde и предоставит пользователю sde права доступа для создания базы геоданных и сброса подключений к экземпляру SQL Server.
  • Он создает объекты базы геоданных в экземпляре SQL Server.

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

Установка и настройка SQL Server

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

Примечание:

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

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

Для получения информации об установке и настройке обратитесь к документации Microsoft для SQL Server.

После установки и настройки SQL Server установите клиенты ArcGIS и SQL Server.

Установка клиентов

Вы можете установить ArcGIS AllSource (Desktop Standard или Desktop Advanced) или ArcGIS Server (enterprise edition) и запустить скрипт Python для создания базы геоданных. Чтобы запустить инструмент геообработки Создать многопользовательскую базу геоданных вместо скрипта, установите ArcGIS AllSource.

Примечание:

Вам потребуется файл ключей ArcGIS Server (версия enterprise) для авторизации базы геоданных в следующем разделе. Даже если вы не запускаете скрипт Python с компьютера ArcGIS Server для создания базы геоданных, вы должны установить и авторизовать ArcGIS Server для того, чтобы получить файл ключей. Может потребоваться скопировать файл с ключами с ArcGIS Server в директорию, к которой есть доступ у инструмента геообработки Создать многопользовательскую базу геоданных.

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

Чтобы подключиться к SQL Server на компьютере Microsoft Windows, можно загрузить клиент SQL Server с My Esri или из Microsoft Download Center. Чтобы подключиться к SQL Server на компьютере с Linux, можно загрузить клиент SQL Server из Microsoft Download Center. Следуйте инструкциям Microsoft по установке клиента SQL Server на вашем клиентском компьютере ArcGIS.

Выполните следующие действия, чтобы установить и настроить клиент, который вам требуется для создания базы геоданных. Если у вас нет прав доступа для установки программного обеспечения, это должна сделать ваша служба IT.

  1. Установите клиентское приложение ArcGIS, которое вы будете использовать для создания базы геоданных.

    Следуйте инструкциям руководств по установке программного обеспечения.

  2. Установите клиент SQL Server на клиентском компьютере ArcGIS.

    Если вы устанавливаете клиент SQL Server на 64-разрядную операционную систему, используйте exe-файл 64-разрядного клиента SQL Server. Если вы запускаете 32-разрядный клиент SQL Server на 64-разрядной операционной системе, произойдет сбой.

Теперь вы можете создать базу геоданных.

Создание базы геоданных

Вы можете запустить инструмент геообработки Создать многопользовательскую базу геоданных из ArcGIS AllSource (Desktop Standard или Desktop Advanced), либо скрипт Python из ArcGIS AllSource (Desktop Standard или Desktop Advanced) или клиента ArcGIS Server для создания базы геоданных.

Запустите инструмент Создать многопользовательскую базу геоданных (Create Enterprise Geodatabase)

Если у вас есть доступ к ArcGIS AllSource, для создания базы геоданных вы можете запустить инструмент геообработки.

Следуйте приведенным шагам по созданию базы геоданных с помощью инструмента Создать многопользовательскую базу геоданных в ArcGIS AllSource:

  1. Запустите ArcGIS AllSource.
  2. Откройте инструмент Создать многопользовательскую базу геоданных.

    Этот инструмент вы найдете в группе инструментов Администрирование баз геоданных набора инструментов Управление данными. Для основной информации об открытии инструментов геообработки см. Поиск инструмента геообработки.

  3. Из ниспадающего списка Платформа базы данных выберите SQL Server.
  4. В поле Экземпляр введите имя экземпляра SQL Server, к которому вы будете подключаться.
  5. В поле База данных введите имя базы данных, в которой вы хотите хранить вашу базу геоданных.

    Если на экземпляре SQL Server нет базы данных с этим именем, то она будет создана. Если база данных есть, инструмент использует ее для хранения базы геоданных.

  6. Подключитесь к SQL Server в качестве системного администратора. Используйте либо учетную запись с аутентификацией средствами операционной системы, включенную в фиксированную серверную роль sysadmin в SQL Server, либо введите имя пользователя базы данных и пароль пользователя sysadmin.
    • Чтобы пройти аутентификацию в качестве пользователя с ролью системного администратора, введите имя пользователя sysadmin в текстовом поле Администратор базы данных и соответствующий пароль в текстовом поле Пароль администратора базы данных.
    • Чтобы войти в систему с использованием учетной записи с аутентификацией средствами операционной системы, отметьте опцию Аутентификация средствами операционной системы. Чтобы использовать эту опцию, необходимо выполнить вход в Windows с соответствующим именем.
  7. Выберите схему, которая будет содержать базу геоданных.
    • Если вы хотите, чтобы администратором базы геоданных был пользователь с именем sde, и чтобы база геоданных хранилась в схеме пользователя sde, выберите опцию Схема, принадлежащая Sde.
    • Если вы хотите, чтобы администратором базы геоданных был пользователь dbo, и чтобы база геоданных хранилась в схеме dbo, отключите опцию Схема SDE.

    Подробнее о хранении базы геоданных в схемах sde или dbo см. в разделе Сравнение владельцев баз геоданных на SQL Server.

  8. При выборе схемы sde в текстовом окне Администратор базы геоданных будет автоматически введено sde. Если пользователя с таким именем нет, инструмент создаст его и соответствующую схему, а также предоставит ему права доступа, необходимые для создания базы геоданных.

    Если вы используете аутентификацию в базе данных и схему dbo для хранения базы геоданных, введите имя пользователя, являющегося dbo в экземпляре SQL Server в текстовом окне Администратор базы геоданных.

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

  9. Введите пароль администратора базы геоданных в поле Пароль администратора базы геоданных.

    Если указанный вами администратор базы геоданных уже существует в базе данных, вам необходимо ввести правильный пароль существующего пользователя; этот инструмент не изменяет пароль.

  10. Чтобы указать файл в поле Файл авторизации, найдите и выберите файл keycodes, который был создан при авторизации ArcGIS Server (версия enterprise).

    Этот файл записывается в папку \\Program Files\ESRI\License<release#>\sysgen на серверах Windows и в папку /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release#>/sysgen на серверах Linux. Скопируйте этот файл ключей в местоположение, к которому у вас доступ из инструмента Создать многопользовательскую базу геоданных. Если вы еще не сделали этого, авторизуйте ArcGIS Server для создания этого файла.

  11. Щелкните Запустить.

    Сообщения, относящиеся к созданию базы геоданных, записываются в файл sde_setup.log, который создается в каталоге, указанном для переменной %TEMP%, на том компьютере, где запущен инструмент. При наличии проблем с созданием базы геоданных изучите этот файл журнала для их устранения.

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

Затем вы можете создать пользователя, который будет загружать данные в базу геоданных.

Запустите скрипт Python

Вы можете скопировать, сохранить и запустить указанный здесь скрипт для создания базы геоданных из ArcGIS AllSource (Standard или Advanced) или ArcGIS Server (enterprise).

Подсказка:

Для получения дополнительной информации о запуске Python на компьютере ArcGIS Server см. ArcGIS Server и ArcPy.

  1. Создайте текстовый файл на клиентском компьютере ArcGIS и скопируйте следующий скрипт в файл, предоставив специфичные для вашего сайта опции и информацию:
    """
    Name: create_enterprise_gdb.py
    Description: Create an enterprise geodatabase in SQL Server with provided DBMS connection information
    Author: Esri
    """
    
    # Import system modules
    import arcpy, os
    
    # Local variables
    # Replace the path with the location of your keycodes file
    # Replace all arcpy.management.CreateEnterpriseGeodatabase information except "SQL_SERVER" and license with values specific to your site
    license = os.fsencode("\\Program Files\\path\\to\\authorization_file\\keycodes")
    
    try:
        arcpy.management.CreateEnterpriseGeodatabase("SQL_SERVER",
                                                     "gisprod",
                                                     "entgdb",
                                                     "DATABASE_AUTH",
                                                     "sa",
                                                     "N0pe3king!",
                                                     "SDE_SCHEMA",
                                                     "sde",
                                                     "sdepwdGLSCfhjWXQGQ",
                                                     "",
                                                     license
    
    )
        for i in range(arcpy.GetMessageCount()):
            arcpy.AddReturnMessage(i)
        arcpy.AddMessage("+++++++++\n")
    except:
        for i in range(arcpy.GetMessageCount()):
            arcpy.AddReturnMessage(i)
  2. Замените значения, как указано в скрипте.
  3. Сохраните файл с расширением .py.
  4. Запустите скрипт.

    Вы можете найти сообщения, относящиеся к созданию базы геоданных, в файле sde_setup.log, который создается в каталоге, указанном для переменной TEMP или TMP, на том компьютере, где запущен скрипт. При наличии проблем с созданием базы геоданных изучите этот файл журнала для их устранения.

Теперь у вас есть база геоданных в SQL Server.

Затем вы можете создать пользователя, который будет загружать данные в базу геоданных.

Администратор SQL Server создает базу данных, а администратор базы геоданных создает базу геоданных

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

Далее администратору базы геоданных необходимо подключиться в базе данных как администратору базы геоданных и создать базу геоданных с помощью инструмента геообработки Включить многопользовательскую базу геоданных или скрипта Python.

Инструмент Включить многопользовательскую базу геоданных(Enable Enterprise Geodatabase) используют файл подключения к базе данных и создает системные таблицы базы геоданных, представления, функции и процедуры.

Установка и настройка SQL Server

Прежде чем администратор базы геоданных сможет ее создать, администратор SQL Server должен сделать следующее:

  • Установить SQL Server и настроить экземпляр. Как вы настроите этот экземпляр, зависит от требований вашей организации. Прежде чем продолжить, изучите Системные требования ArcGIS и убедитесь в совместимости системы управления базами данных, ArcGIS и сочетаний аппаратных средств, которые вы намереваетесь использовать. Настройте экземпляр SQL Server на прием удаленных подключений; по умолчанию удаленные подключения не разрешены. Для получения информации об установке и настройке обратитесь к документации Microsoft для SQL Server.

    Примечание:

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

  • Создайте базу данных.
  • Установите для опций READ_COMMITTED_SNAPSHOT и ALLOW_SNAPSHOT_ISOLATION базы данных SQL Server значение ON. Если администратор SQL Server не установит для этих опций значение ON, но выдаст администратору базы геоданных права ALTER в базе данных, инструмент Включить многопользовательскую базу геоданных изменит эти настройки базы данных при запуске. Если администратор SQL Server не включит эти опции, а администратор базы геоданных не будет иметь права на их изменение, база геоданных не будет создана.
  • Добавьте или создайте учетную запись, которая соответствует пользователю базы данных sde или пользователю базы данных, являющемуся владельцем этой базы данных.
  • При использовании базы геоданных в схеме sde, создайте в базе данных схему sde. Установите ее как схему пользователя sde по умолчанию.
  • При использовании sde-схемы базы геоданных, пользователь sde должен иметь, как минимум, следующие права: CREATE FUNCTION, CREATE PROCEDURE, CREATE TABLE и CREATE VIEW. Более подробно о других правах см. в разделе Права доступа для баз геоданных на SQL Server.

Установка клиентов

Администратор базы геоданных (или персонал ИТ) может установить ArcGIS AllSource (Desktop Standard или Desktop Advanced) или ArcGIS Server (версия enterprise) для создания базы геоданных, запустив скрипт Python. Чтобы вместо скрипта запустить инструмент геообработки Включить многопользовательскую базу геоданных, установите ArcGIS AllSource.

Примечание:

Вам потребуется файл ключей ArcGIS Server (версия enterprise) для авторизации базы геоданных в следующем разделе. Даже если вы не запускаете скрипт Python с компьютера ArcGIS Server для создания базы геоданных, вы должны установить и авторизовать ArcGIS Server для того, чтобы получить файл ключей. Может потребоваться скопировать файл с ключами с ArcGIS Server в директорию, к которой есть доступ у инструмента геообработки Включить многопользовательскую базу геоданных.

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

Чтобы подключиться к SQL Server на компьютере Microsoft Windows, можно загрузить клиент SQL Server с My Esri или из Microsoft Download Center. Чтобы подключиться к SQL Server на компьютере с Linux, можно загрузить клиент SQL Server из Microsoft Download Center. Следуйте инструкциям Microsoft по установке клиента SQL Server на вашем компьютере.

  1. Установите клиентское приложение ArcGIS, которое вы будете использовать для создания базы геоданных.

    Следуйте инструкциям руководств по установке программного обеспечения.

  2. Установите клиент SQL Server на клиентском компьютере ArcGIS.

    Если вы устанавливаете клиент SQL Server на 64-разрядную операционную систему, используйте exe-файл 64-разрядного клиента SQL Server. Если вы запускаете 32-разрядный клиент SQL Server на 64-разрядной операционной системе, произойдет сбой.

Клиент ArcGIS готов подключиться к базе данных и создать базу геоданных. Для этого используйте один из способов, описанных в следующем разделе.

Создание базы геоданных

Администратор базы геоданных может запустить инструмент Включить многопользовательскую базу геоданных из ArcGIS AllSource (Desktop Standard или Desktop Advanced), либо запустить скрипт Python из ArcGIS AllSource (Desktop Standard или Desktop Advanced) или на компьютере ArcGIS Server (enterprise) для создания базы геоданных в текущей базе данных.

Запустите инструмент Включить многопользовательскую базу геоданных (Enable Enterprise Geodatabase)

Можно запустить инструмент Включить многопользовательскую базу геоданных из ArcGIS AllSource, чтобы создать базу геоданных в существующей базе данных SQL Server.

Следуйте приведенным шагам по созданию базы геоданных с помощью инструмента Включить многопользовательскую базу геоданных в ArcGIS AllSource:

  1. Запустите ArcGIS AllSource.
  2. Подключитесь к базе данных SQL Server как администратор базы геоданных.

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

  3. Откройте инструмент Включить многопользовательскую базу геоданных.

    Для основной информации об открытии инструментов геообработки см. Поиск инструмента геообработки.

  4. Перетащите подключение к базе данных, созданное в шаге 2, в поле Входное подключение к базе данных.
  5. Перейдите к файлу авторизации ArcGIS Server, который был создан при авторизации ArcGIS Server и добавьте его в текстовое поле Файл авторизации.

    При использовании мастера для авторизации ArcGIS Server файл ключей записывается на сервер, где установлено программное обеспечение. Файл ключей записывается в папку Program Files\ESRI\License<release>\sysgen на серверах Windows и в папку /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release#>/sysgen на серверах Linux. Скопируйте файл в местоположение, к которому можно получить доступ из инструмента Включить многопользовательскую базу геоданных. Если вы еще не сделали этого, авторизуйте ArcGIS Server для создания этого файла.

  6. Щелкните Запустить.

    Сообщения, относящиеся к созданию базы геоданных, записываются в файл sde_setup.log, который создается в каталоге, указанном для переменной %TEMP%, на том компьютере, где запущен инструмент. При наличии проблем с созданием базы геоданных изучите этот файл журнала для их устранения.

В базе данных создается база геоданных.

Затем администратор базы данных может создать пользователя, который будет загружать данные в базу геоданных.

Запустите скрипт Python

Чтобы создать базу геоданных, запустив скрипт из ArcGIS AllSource (Desktop Standard или Desktop Advanced), либо ArcGIS Server (enterprise), установленный на компьютере Windows, можно использовать представленный здесь скрипт.

Подсказка:

Для получения дополнительной информации о запуске Python на компьютере ArcGIS Server см. ArcGIS Server и ArcPy.

Выполните следующие шаги, чтобы запустить скрипт Python для создания базы геоданных в существующей базе данных SQL Server:

  1. Создайте текстовый файл на клиентском компьютере ArcGIS и скопируйте следующий скрипт в файл, предоставив специфичные для вашего сайта опции и информацию:

    # Name: enable_enterprise_gdb.py
    # Description: Create an enterprise geodatabase in an existing SQL Server database
    
    # Import system modules
    import arcpy, os
    
    # Local variables
    # Replace paths with those appropriate to your site
    license = "\\Program Files\\path\\to\\authorization_file\\keycodes"
    tempdir = "C:\\temp\\"
    connection_file_name = "egdb_connection.sde"
    
    # Check for the .sde file and delete it if present
    connection_file_name_path = os.path.join(tempdir, connection_file_name)
    
    arcpy.env.overwriteOutput=True
    if os.path.exists(connection_file_name_path):
    	os.remove(connection_file_name_path)
    
    # Create a connection to the geodatabase as the geodatabase administrator
    # Replace all values except tempdir, connection_file_name, "SQL_SERVER", and "SAVE_USERNAME"
    arcpy.CreateDatabaseConnection_management(tempdir,
                                              connection_file_name,
                                              "SQL_SERVER",
                                              "gisprod",
                                              "DATABASE_AUTH",
                                              "sde",
                                              "Tgdbst@rtsh3r3",
                                              "SAVE_USERNAME",
                                              "entgdb"
    )
    # Enable geodatabase
    try:
        arcpy.EnableEnterpriseGeodatabase_management(connection_file_name_path, license)
    except:
        for i in range(arcpy.GetMessageCount()):
            arcpy.AddReturnMessage(i)

  2. Замените значения, как указано в скрипте.
  3. Сохраните файл с расширением .py.
  4. Запустите скрипт.

    Вы можете найти сообщения, относящиеся к созданию базы геоданных, в файле sde_setup.log, который создается в каталоге, указанном для переменной TEMP или TMP, на том компьютере, где запущен скрипт. При наличии проблем с созданием базы геоданных изучите этот файл журнала для их устранения.

Теперь у вас есть база геоданных в базе данных SQL Server.

Затем администратор базы данных может создать пользователя, который будет загружать данные в базу геоданных.