В 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 для создания учетных записей и пользователей. Например, используйте SQL для создания пользователей, которые имеют права доступа, отличные от тех, которые предоставлены инструментом Создать пользователя базы данных, или не имеют прав доступа, предоставленных непосредственно пользователю. Вот несколько моментов, которые следует учитывать при использовании SQL для создания учетных записей и пользователей, которые будут использоваться в ArcGIS:
- Все пользователи, которые будут создавать данные, должны иметь схему базы данных. Эта схема должна иметь то же имя, что и пользователь.
- Вы можете предоставить группе Windows доступ к SQL Server, вместо использования отдельных учетных записей Windows, что упростит создание и управление учетными записями. Все участники группы Windows могут войти в SQL Server. Права доступа к серверу, базе данных или набору данных предоставленные группе, автоматически применяется к каждому участнику группы. Тем не менее, вы не можете создать одну схему для хранения данных, созданных всеми участниками группы. Каждый пользователь в группе, который создает данные в базе геоданных, должен иметь собственную схему, где хранятся данные. SQL Server создает пользователя и схему в базе данных при первой попытке создания данных участником группы. Это происходит автоматически; вручную создавать схему и пользователя не нужно.
- Вы можете предоставлять права доступа базы данных непосредственно пользователям или предоставлять их посредством ролей базы данных. Информацию о требуемых правах см. в разделе Права доступа для баз геоданных в SQL Server.
Инструкции по использованию инструментов SQL Server для создания учетных записей, пользователей и схем см. в документации Microsoft SQL Server.
Новые пользователи могут подключиться к базе данных. Пользователи, имеющие права на создание объектов, могут создавать таблицы и классы объектов, а также предоставлять права на них другим пользователям. Инструкции см. в Предоставление и отзыв прав доступа к наборам данных в базах данных и многопользовательских базах геоданных.