В Microsoft SQL Server администратор базы данных добавляет учетные записи к экземпляру SQL Server, эти учетные записи сопоставляются с пользователями в отдельных базах данных в экземпляре SQL Server. Пользователи базы данных, которые создают таблицы и классы объектов, должны иметь соответствующие права доступа для создания объектов в базе данных и схему, в которой будут созданы эти объекты. При использовании в ArcGIS имя схемы должно совпадать с именем пользователя базы данных.
Для этого вы можете использовать инструмент геообработки Создать пользователя базы данных или скрипт Python, который вызывает функцию management.CreateDatabaseUser ArcPy, чтобы выполнить следующие операции:
- Создать или добавить учетную запись к экземпляру SQL Server.
- Создать пользователя, соответствующего указанной учетной записи.
- Создать схему сопоставления для пользователя в указанной базе данных.
- Предоставить пользователю права доступа, необходимые для создания таблиц, классов объектов или представлений в указанной базе данных.
Добавить пользователя, который может создавать данные.
Вы можете запустить инструмент Создать пользователя базы данных из ArcGIS Pro или вызвать функцию management.CreateDatabaseUser ArcPy в скрипте Python для создания пользователя базы данных, который может создавать таблицы, классы объектов и представления.
Вы должны подключиться к базе данных используя учетную запись с правами системного администратора в экземпляре SQL Server, чтобы запустить инструмент Создать пользователя базы геоданных или функцию management.CreateDatabaseUser.
Чтобы создать пользователя базы данных для входа в систему Microsoft Windows, имя входа должно существовать до запуска инструмента или функции.
Использование инструмента Создать пользователя базы данных
Следуйте этим инструкциям, чтобы создать пользователя базы геоданных в SQL Server, используя инструмент Создать пользователя базы данных:
- Запустите ArcGIS Pro.
- Подключитесь к базе данных или базе геоданных, используя учетную запись с правами системного администратора в экземпляре SQL Server.
- Откройте инструмент Создать пользователя базы данных.
Инструмент находится в группе инструментов Администрирование базы геоданных набора Управление данными.
- Укажите подключение к базе данных в поле Входное подключение к базе данных.
- Выберите, будете ли вы создавать учетную запись с аутентификацией SQL Server или использовать существующую учетную запись с аутентификацией Windows.
- Оставьте Создать пользователя с аутентификацией средствами операционной системы не отмеченным, чтобы создать учетную запись с аутентификацией средствами SQL Server. Обратите внимание, что по умолчанию экземпляры SQL Server используют только аутентификацию Windows. Если ваш экземпляр не настроен для использования аутентификации SQL Server и Windows, вы не сможете создать пользователя с аутентификацией средствами базы данных.
- Отметьте Создать пользователя с аутентификацией средствами операционной системы, чтобы использовать существующую учетную запись с аутентификацией средствами Windows.
- Введите имя пользователя базы данных, который будет создан инструментом.
Если вы выберите создание учетной записи с аутентификацией SQL Server, имя, которое вы введете, также будет использовано для учетной записи.
- Введите пароль пользователя базы данных.
- Если у вас уже определена роль, к которой вы хотите добавить пользователя, укажите ее.
- Щелкните Запустить.
Запустите скрипт Python
Чтобы создать пользователя с помощью скрипта, выполните следующие шаги:
- Создайте текстовый файл на клиентском компьютере ArcGIS и скопируйте следующие блоки кода в файл.
Измените код, внеся в них информацию о вашем сайте
В примерах предполагается, что у вас есть существующий файл подключения к базе данных, который подключается как пользователь с правами системного администратора в экземпляре SQL Server. Если у вас нет файла подключения, создайте его перед запуском скрипта.
# Name: createdatabaseuser_exampleW.py # Description: Uses existing database connection file # on a Windows computer to create a database user in SQL Server. # Import arcpy module import arcpy # Provide a database connection file for the system administrator user. connection = "C:\\ArcGIS\connection_files\<Connection file>.sde" # Process: Create database user that can create data for an existing operating system login. arcpy.CreateDatabaseUser_management(connection, "OPERATING_SYSTEM_USER", "NETWORKNAME\\username")
# Name: createdatabaseuser_exampleL.py # Description: Uses existing database connection file # on a Linux computer to create a database user in SQL Server. # Import arcpy module import arcpy # Provide a database connection file for the system administrator user. connection = "<user>/connections/<Connection_file>.sde" # Process: Create a new database login and user that can create data. arcpy.CreateDatabaseUser_management(connection, "DATABASE_USER", "dbuser", "t3mpor@rypL@ceholder1")
- Сохраните файл с расширением .py.
- Запустите скрипт на компьютере с установленным ArcGIS Pro (Standard или Advanced) или ArcGIS Server.
Для получения дополнительной информации о запуске Python на компьютере ArcGIS Server см. ArcGIS Server и ArcPy.
Теперь ваша база данных содержит пользователя, который может создавать таблицы и классы пространственных объектов.
Так как таблицы и классы пространственных объектов существуют, их владелец может предоставлять права доступа к данным другим пользователям. Инструкции см. в Предоставление и отзыв прав доступа к наборам данных в базах данных и многопользовательских базах геоданных.
Создание учетных записей и пользователей с помощью инструментов SQL Server
Чтобы создать пользователя, которые имеет права, отличающиеся от предоставляемых инструментом Создать пользователя базы данных, или не имеет прав, предоставленным непосредственно ему, вы можете воспользоваться для этого инструментами SQL Server. Существует несколько вещей, о которых нужно помнить при создании собственных учетных записей и пользователей, которые будут использоваться с ArcGIS:
- Все пользователи базы данных, которые будут создавать данные, должны иметь схему базы данных. Эта схема должна иметь то же имя, что и пользователь.
- Вы можете предоставить группе Windows доступ к SQL Server, вместо использования отдельных учетных записей Windows, что упростит создание и управление учетными записями. Все участники группы Windows могут войти в SQL Server. Права доступа к серверу, базе данных или набору данных предоставленные группе, автоматически применяется к каждому участнику группы. Тем не менее, вы не можете создать одну схему для хранения данных, созданных всеми участниками группы. Каждый пользователь в группе, который создает данные в базе геоданных, должен иметь собственную схему, где хранятся данные. SQL Server создает пользователя и схему в базе данных при первой попытке создания данных участником группы. Это происходит автоматически; вручную создавать схему и пользователя не нужно.
Инструкции по использованию инструментов SQL Server для создания учетных записей, пользователей и схем см. в документации Microsoft SQL Server.