Agregar nombres de usuario y usuarios a SQL Server

En Microsoft SQL Server, los administradores de base de datos agregan nombres de usuario a la instancia de SQL Server y estos se asignan a usuarios de bases de datos individuales en la instancia de SQL Server. Los usuarios de la base de datos que creen tablas y clases de entidad deben tener los privilegios necesarios para crear estos objetos en la base de datos y un esquema donde puedan hacerlo. Al usar ArcGIS, ese esquema debe tener el mismo nombre que el usuario de la base de datos.

Puede utilizar la herramienta de geoprocesamiento Crear usuario de base de datos o un script de Python que emplea la función de management.CreateDatabaseUser ArcPy para hacer todo lo siguiente:

  • Cree o agregue un nombre de usuario a la instancia de SQL Server.
  • Cree un usuario asignado al nombre de usuario especificado.
  • Cree un esquema de geocodificación para el usuario en la base de datos que especifique.
  • Otorgue privilegios suficientes al usuario para crear tablas, clases de entidad y vistas en la base de datos especificada.

Agregar un usuario que puede crear datos

Puede ejecutar la herramienta Crear usuario de base de datos desde ArcGIS Pro o invocar la función management.CreateDatabaseUser de Python en un script de ArcPy para crear un usuario de la base de datos que puede crear tablas, clases de entidad y vistas.

Debe conectarse a la base de datos con un nombre de usuario que tenga privilegios sysadmin en la instancia de SQL Server para ejecutar la herramienta Crear usuario de base de datos o la función management.CreateDatabaseUser.

Para crear un usuario de la base de datos para un nombre de usuario de Microsoft Windows, el nombre de usuario ya debe existir antes de ejecutar la herramienta o la función.

Utilice la herramienta Crear usuario de base de datos

Siga estos pasos para crear un usuario de base de datos en SQL Server utilizando la herramienta Crear usuario de base de datos:

  1. Inicie ArcGIS Pro.
  2. Conéctese a la base de datos o geodatabase con un nombre de usuario que tenga privilegios sysadmin en la instancia de SQL Server.
  3. Abra la herramienta Crear usuario de base de datos.

    La herramienta está en el conjunto de herramientas Administración de geodatabase de la caja de herramientas Administración de datos.

  4. Especifique la conexión de base de datos de Conexión de la base de datos de entrada.
  5. Elija si desea crear un nombre de usuario autenticado de SQL Server o usar un nombre de usuario autenticado de Windows existente.
    • Deje Crear un usuario autenticado del sistema operativo desactivado para crear un nombre de usuario autenticado de SQL Server. Tenga en cuenta que, de forma predeterminada, las instancias de SQL Server usan solo la autenticación de Windows. Si su instancia no está configurada para usar la autenticación de SQL Server y Windows, no podrá crear un nombre de usuario autenticado de la base de datos.
    • Marque Crear un usuario autenticado del sistema operativo para usar un nombre de usuario autenticado de Windows existente.
  6. Escriba el nombre del usuario de la base de datos que la herramienta creará.

    Si elige crear un nombre de usuario autenticado de SQL Server, el nombre que escriba aquí también se usará para el inicio de sesión.

  7. Escriba una contraseña para el usuario de la base de datos.
  8. Si ya tiene un rol de base de datos al que desea agregar este usuario, especifique dicho rol.
  9. Haga clic en Ejecutar.

Ejecutar un script de Python

Para crear usuarios mediante una secuencia de comandos, siga estos pasos:

  1. Cree un archivo de texto en un equipo cliente de ArcGIS y copie uno de los siguientes bloques de código en el archivo.

    Modifique el código para utilizar información específica de su sitio

    En los ejemplos se presupone que usted dispone de un archivo de conexión a la base de datos que se conecta como un usuario que tiene privilegios de sysadmin en la instancia de SQL Server. Si no dispone de ningún archivo de conexión, cree uno antes de ejecutar el script.

    # 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")

  2. Guarde el archivo con una extensión .py.
  3. Ejecute el script desde un equipo que tenga instalado ArcGIS Pro (Standard o Advanced) o ArcGIS Server.

    Para obtener más información sobre cómo ejecutar Python desde un equipo ArcGIS Server, consulte ArcGIS Server y ArcPy.

Su base de datos dispone ahora de un usuario que puede crear tablas y clases de entidad.

Una vez que existen las tablas y las clases de entidades, el propietario de los datos puede conceder privilegios sobre los datasets a otros usuarios. Consulte Otorgar y revocar privilegios sobre datasets en bases de datos y geodatabases corporativas para obtener instrucciones.

Crear nombres de usuario y usuarios con las herramientas de SQL Server

Para crear un usuario con privilegios distintos de los otorgados por la herramienta Crear usuario de base de datos o sin privilegios otorgados directamente al usuario, puede utilizar las herramientas de SQL Server para hacerlo. Hay algunos aspectos a tener en cuenta cuando crea sus propios nombres de usuario y usuarios para usarlos con ArcGIS:

  • Todos los usuarios de la base de datos que creen datos deben tener un esquema en la base de datos. El nombre del esquema debe coincidir con el nombre de usuario.
  • Puede otorgar a un grupo de Windows acceso a SQL Server en lugar de inicios de sesión individuales de Windows, lo que simplifica la creación y administración de los inicios de sesión. Todos los miembros del grupo de Windows pueden iniciar sesión en SQL Server. Los privilegios sobre servidores, bases de datos y datasets otorgados al grupo se aplican automáticamente a todos sus miembros. Sin embargo, tenga en cuenta que no puede crear un esquema para almacenar los datos creados por todos los miembros del grupo. Cada usuario del grupo que crea datos en la geodatabase debe tener su propio esquema en el que almacena los datos. SQL Server crea un usuario y un esquema en la base de datos la primera vez que un miembro del grupo crea datos. Esto ocurre automáticamente; no cree un esquema y usuario manualmente.

Para obtener instrucciones sobre el uso de las herramientas de SQL Server para crear nombres de usuario, usuarios y esquemas, consulte la documentación de Microsoft SQL Server.