Crear una geodatabase de SQL Server

Disponible con una licencia Standard o Advanced.

Para crear una geodatabase en una base de datos de Microsoft SQL Server, ejecute una herramienta de geoprocesamiento o una secuencia de comandos de Python desde un cliente de ArcGIS.

Cuando se crea una geodatabase en ArcGIS AllSource 3.5, la versión de la geodatabase es 11.5.0.x.

Comience por leer los requisitos previos a continuación y luego siga las instrucciones que se correspondan con su situación.

Requisitos previos

Antes de crear una geodatabase en SQL Server, realice lo siguiente:

  1. Confirme que la combinación de ArcGIS, SQL Server y el sistema operativo que desea usar sea compatible.
  2. Descargue el cliente de ODBC de SQL Server necesario para conectarse a la versión de SQL Server que usará para almacenar la geodatabase.
  3. Obtenga un archivo de códigos clave de ArcGIS Server y ubíquelo en una ubicación a la que pueda acceder desde el cliente de ArcGIS que vaya a usar para crear la geodatabase.
  4. Determine quién creará la geodatabase, ya que influye en quién crea la base de datos y qué herramienta ejecuta para crear la geodatabase. Siga las instrucciones que se corresponden con su situación:

Usted es el administrador de SQL Server y de la geodatabase

Si desempeña el rol tanto de administrador de base de datos como de administrador de la geodatabase y, por lo tanto, conoce la contraseña de ambos inicios de sesión, puede usar la herramienta de geoprocesamiento Crear geodatabase corporativa o una función de ArcPy para crear una geodatabase en una base de datos de SQL Server.

La herramienta Crear geodatabase corporativa le permite configurar una geodatabase y crea los objetos de la base de datos y le otorga los privilegios necesarios. Para lograrlo, la herramienta utiliza la siguiente configuración predeterminada y crea los siguientes objetos de base de datos:

  • Crea los archivos de la base de datos (MDF y LDF) en la ubicación predeterminada de SQL Server en el servidor.
  • Establece las opciones de base de datos de SQL Server READ_COMMITTED_SNAPSHOT y ALLOW_SNAPSHOT_ISOLATION en ON.
  • Utiliza los tamaños de archivo predeterminados de la base de datos que ha definido para la base de datos de modeloSQL Server o 500 MB para el archivo MDF y 125 MB para el archivo LDF, lo que sea mayor.
  • Si elige crear una geodatabase en un esquema llamado sde, la herramienta crea un inicio de sesión sde de autenticación de la base de datos en la instancia de SQL Server, crea un usuario sde en la base de datos y lo asigna al nombre de usuario sde, crea un esquema sde en la base de datos y otorga al usuario sde privilegios para crear una geodatabase y anular las conexiones a la instancia de SQL Server.
  • Crea los objetos de geodatabase dentro de la instancia de SQL Server.

Antes de ejecutar la herramienta o función para crear una geodatabase, debe instalar y configurar una instancia de SQL Server.

Instalar y configurar SQL Server

Antes de crear una geodatabase es preciso instalar SQL Server y configurar la instancia. La configuración de la instancia depende de las necesidades de su organización.

Nota:

La instancia de SQL Server debe utilizar una intercalación que no distinga entre mayúsculas y minúsculas y la base de datos no puede utilizar una intercalación turca.

Una vez que usted (o el departamento de TI) hayan instalado SQL Server, asegúrense de que la instancia de SQL Server acepta conexiones remotas; las conexiones remotas no están habilitadas de forma predeterminada.

Consulte la documentación de Microsoft para obtener información de instalación y configuración para SQL Server.

Una vez que SQL Server se haya instalado y configurado, instale los clientes de ArcGIS y SQL Server.

Instalar clientes

Puede instalar ArcGIS AllSource (Desktop Standard o Desktop Advanced) o ArcGIS Server (Enterprise Edition) y ejecutar un script de Python para crear una geodatabase. Para ejecutar la herramienta de geoprocesamiento Crear geodatabase corporativa en lugar de una secuencia de comandos, instale ArcGIS AllSource.

Nota:

Necesita un archivo de códigos clave de ArcGIS Server (Enterprise Edition) para autorizar su geodatabase en la siguiente sección. Incluso si no ejecuta un script de Python desde un equipo con ArcGIS Server para crear la geodatabase, instale y autorice ArcGIS Server para obtener el archivo de códigos clave. Puede que tenga que copiar el archivo de códigos clave desde el equipo de ArcGIS Server en una ubicación a la que pueda acceder la herramienta de geoprocesamiento Crear geodatabase corporativa.

En la mayoría de los casos, los clientes de ArcGIS se instalan en un equipo distinto de SQL Server. Por lo tanto, debe instalar un cliente de SQL Server compatible en el equipo cliente de ArcGIS para conectarse a la base de datos. Consulte Requisitos del sistema de ArcGIS para SQL Server para determinar qué versión del cliente de SQL Server debe instalar para conectarse a la versión de SQL Server que está utilizando.

Para conectar con SQL Server en un equipo Microsoft Windows, puede descargar el cliente de SQL Server desde My Esri o desde el Centro de descargas de Microsoft. Para conectar con SQL Server en un equipo Linux, descargue los archivos de cliente de SQL Server desde el Centro de descargas de Microsoft. Siga las instrucciones de Microsoft para instalar el cliente de SQL Server en el equipo cliente de ArcGIS.

Siga estos pasos para instalar y configurar el cliente que necesite para crear la geodatabase. Si no tiene permisos para instalar software, pida a su departamento de TI que siga los pasos.

  1. Instale el cliente de ArcGIS que utilizará para crear la geodatabase.

    Siga las instrucciones que se proporcionan en las guías de instalación de software.

  2. Instale un cliente de SQL Server en el equipo cliente de ArcGIS.

    Si instala el cliente de SQL Server en un sistema operativo de 64 bits, utilice el cliente de SQL Server ejecutable de 64 bits. Si ejecuta el cliente de SQL Server de 32 bits en un sistema operativo de 64 bits, la instalación no funcionará.

Ahora puede crear una geodatabase.

Crear una geodatabase

Puede ejecutar la herramienta Crear geodatabase corporativa desde ArcGIS AllSource (Desktop Standard o Desktop Advanced), o bien ejecutar un script de Python desde un cliente de ArcGIS AllSource (Desktop Standard o Desktop Advanced) o ArcGIS Server (Enterprise Edition) para crear tanto una base de datos como una geodatabase.

Ejecutar la herramienta Crear geodatabase corporativa

Si tiene acceso a ArcGIS AllSource, puede ejecutar una herramienta de geoprocesamiento para crear la geodatabase.

Siga estos pasos para crear una geodatabase usando la herramienta Crear geodatabase corporativa en ArcGIS AllSource:

  1. Inicie ArcGIS AllSource.
  2. Abra la herramienta Crear geodatabase corporativa.

    Puede buscar o examinar esta herramienta, que se encuentra en el conjunto de herramientas Administración de la geodatabase de la caja de herramientas Administración de datos. Consulte Buscar una herramienta de geoprocesamiento para obtener información general sobre cómo abrir herramientas de geoprocesamiento.

  3. Elija SQL Server de la lista desplegable Plataforma de base de datos.
  4. En el cuadro de texto Instancia, escriba el nombre de la instancia de SQL Server a la que se conectará.
  5. En el cuadro de texto Base de datos, escriba el nombre de la base de datos en la que desea almacenar la geodatabase.

    Si una base de datos con ese nombre aún no existe en la instancia de SQL Server, la herramienta la crea. Si la base de datos existe, la herramienta la usa para almacenar la geodatabase.

  6. Conéctese a SQL Server como un administrador del sistema. Use un inicio autenticado del sistema operativo que es un miembro del rol fijo del servidor sysadmin en SQL Server o escriba una contraseña y nombre de usuario de la base de datos para un usuario sysadmin.
    • Para autenticarse como usuario de la base de datos que desempeña el rol de administrador del sistema, escriba el nombre de usuario de administrador del sistema en el cuadro de texto Administrador de la base de datos y la contraseña correspondiente en el cuadro de texto Contraseña de administrador de la base de datos.
    • Para autenticarse con un inicio de sesión autenticado de sistema operativo sysadmin, marque la opción Autenticación del sistema operativo. Debe haber iniciado sesión en Windows con el inicio de sesión correcto para utilizar esta opción.
  7. Elija el esquema que contendrá la geodatabase.
    • Si desea que un usuario denominado sde sea el administrador de geodatabase y que la geodatabase se almacene en el esquema del usuario sde, active Esquema propio de Sde.
    • Si desea que el usuario dbo sea el administrador de geodatabase y que la geodatabase se almacene en un esquema dbo de, desactive el Esquema propiedad de Sde.

    Para obtener más información sobre cómo almacenar la geodatabase en el esquema sde o dbo, consulte Comparación de propietarios de geodatabase en SQL Server.

  8. Si elige un esquema de sde, el cuadro de texto Administrador de Geodatabase se llena con sde. Si no existe un usuario con ese nombre, la herramienta crea el usuario y su correspondiente esquema, y otorga al usuario los privilegios requeridos para crear una geodatabase.

    Si utiliza la autenticación de la base de datos y un esquema dbo para almacenar la geodatabase, escriba el nombre de un usuario que sea dbo en la instancia SQL Server en el cuadro de texto Administrador de Geodatabase.

    Si utiliza la autenticación del sistema operativo para conectarse a la base de datos, su nombre de usuario actual debe estar en el rol de servidor fijo sysadmin de SQL Server para crear una geodatabase de esquema dbo.

  9. Escriba una contraseña para el administrador de la geodatabase en el cuadro de texto Contraseña del administrador de geodatabase.

    Si el administrador de la geodatabase que especificó ya existe en la base de datos, debe escribir la contraseña correcta para el usuario existente; esta herramienta no cambia la contraseña.

  10. Para especificar un archivo para el campo Archivo de autorización, examine y elija el archivo de códigos clave que se creó al autorizar ArcGIS Server (edición Enterprise).

    Este archivo se crea en la carpeta \\Program Files\ESRI\License<release#>\sysgen en los servidores Windows y en /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release#>/sysgen con servidores Linux. Copie el archivo de códigos clave en una ubicación a la que pueda tener acceso con la herramienta Crear geodatabase corporativa. Si aún no lo ha hecho, autorice ahora a ArcGIS Server a crear este archivo.

  11. Haga clic en Ejecutar.

    Los mensajes relacionados con la creación de la geodatabase se escriben en el archivo sde_setup.log, que se crea en el directorio especificado para la variable %TEMP% del equipo en el que se ejecuta la herramienta. Si tiene algún problema al crear una geodatabase, compruebe este archivo para solucionarlo.

Si no especificó una base de datos existente, se crearán una base de datos y los archivos de registro en la ubicación predeterminada de SQL Server. Se crea una geodatabase en la base de datos. Si eligió una geodatabase de esquema sde, se crean un inicio de sesión sde autenticado por base de datos, una base de datos y un esquema de usuario.

A continuación, puede crear un usuario que puede cargar datos en la geodatabase.

Ejecutar un script de Python

Puede copiar, guardar y ejecutar el script proporcionado aquí para crear una geodatabase desde ArcGIS AllSource (Standard o Advanced) o ArcGIS Server (Enterprise Edition).

Sugerencia:

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

  1. Cree un archivo de texto en el equipo cliente de ArcGIS y copie el siguiente script en él para facilitar opciones e información específica de su sitio:
    """
    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. Reemplace los valores como se indica en el script.
  3. Guarde el archivo con una extensión .py.
  4. Ejecute el script.

    Puede encontrar los mensajes relativos a la creación de la geodatabase en el archivo sde_setup.log, que se crea en el directorio especificado para la variable TEMP o TMP del equipo en el que se ejecuta el script. Si tiene algún problema al crear una geodatabase, compruebe este archivo para solucionarlo.

Ahora tiene una geodatabase en SQL Server.

A continuación, puede crear un usuario que puede cargar datos en la geodatabase.

El administrador de SQL Server crea la base de datos; el administrador de la geodatabase crea la geodatabase

Si la persona que va a crear la geodatabase no tiene acceso a la contraseña del administrador de base de datos, este debe crear la base de datos y crear el nombre de usuario, el usuario y el esquema del administrador de la geodatabase. Si la geodatabase se va a almacenar en el esquema sde, el administrador de base de datos crea un nombre de usuario, un usuario y un esquema. Si la geodatabase se va a almacenar en el esquema dbo, el administrador de base de datos crea un nombre de usuario y un usuario y asigna al usuario el papel de propietario de la base de datos. Consulte Comparación de propietarios de geodatabase en SQL Server para obtener información sobre las opciones de almacenamiento de la geodatabase.

El administrador de la geodatabase se conecta entonces a la base de datos como administrador de la geodatabase y crear una geodatabase con la herramienta de geoprocesamiento Habilitar geodatabase corporativa o un script de Python.

La herramienta Habilitar geodatabase corporativa acepta un archivo de conexión de base de datos como entrada y crea las tablas, vistas, funciones y procedimientos del sistema de geodatabase.

Instalar y configurar SQL Server

Antes de que el administrador de la geodatabase pueda crear una geodatabase, el administrador de SQL Server debe hacer lo siguiente:

  • Instale SQL Server y configure la instancia. La configuración de la instancia depende de las necesidades de su organización. Verifique los requisitos del sistema de ArcGIS antes de continuar, para asegurarse de que el sistema de administración de bases de datos, ArcGIS y las combinaciones de hardware que desea utilizar son compatibles. Configure la instancia de SQL Server para aceptar conexiones remotas; las conexiones remotas no están habilitadas de forma predeterminada. Consulte la documentación de Microsoft para obtener información de instalación y configuración para SQL Server.

    Nota:

    La instancia de SQL Server debe utilizar una intercalación que no distinga entre mayúsculas y minúsculas y la base de datos no puede utilizar una intercalación turca.

  • Cree una base de datos.
  • Establezca las opciones de base de datos de SQL Server READ_COMMITTED_SNAPSHOT y ALLOW_SNAPSHOT_ISOLATION en ON. Si el administrador de SQL Server no establece estas opciones en ON, pero concede permisos ALTER al administrador de la geodatabase, la herramienta Habilitar geodatabase corporativa cambia esta configuración en la base de datos cuando se ejecute. Si el administrador de SQL Server no establece estas opciones y el administrador de la geodatabase no tiene suficientes permisos para cambiarlos, la creación de la geodatabase falla.
  • Agregue o cree un nombre de usuario asociado a un usuario de la base de datos llamado sde o a uno que sea el propietario de esta.
  • Si usa una geodatabase de esquema sde, cree un esquema llamado sde en la base de datos. Establezca este como el esquema predeterminado del usuario sde.
  • Si usa una geodatabase de esquema sde, el usuario sde debe contar, al menos, con los siguientes privilegios: CREATE FUNCTION, CREATE PROCEDURE, CREATE TABLE y CREATE VIEW. Para ver otros privilegios, consulte Privilegios para geodatabases en SQL Server.

Instalar clientes

El administrador de la geodatabase (o su personal de TI) puede instalar ArcGIS AllSource (Desktop Standard o Desktop Advanced) o ArcGIS Server (Enterprise Edition) para crear una geodatabase ejecutando un script de Python. Para ejecutar la herramienta de geoprocesamiento Habilitar geodatabase corporativa en lugar de una secuencia de comandos, instale ArcGIS AllSource.

Nota:

Necesita un archivo de códigos clave de ArcGIS Server (Enterprise Edition) para autorizar su geodatabase en la siguiente sección. Aunque no ejecute un script de Python desde un equipo con ArcGIS Server para crear la geodatabase, debe instalar y autorizar ArcGIS Server para obtener el archivo de códigos clave. Puede que tenga que copiar el archivo de códigos clave desde el equipo de ArcGIS Server en una ubicación a la que pueda acceder la herramienta de geoprocesamiento Habilitar geodatabase corporativa.

En la mayoría de los casos, los clientes de ArcGIS se instalan en un equipo distinto de SQL Server. Por lo tanto, debe tener instalado un cliente de SQL Server compatible en el equipo cliente de ArcGIS para conectarse a la base de datos. Consulte Requisitos del sistema de ArcGIS para SQL Server para determinar qué versión del cliente de SQL Server debe instalar para conectarse a la versión de SQL Server que está utilizando.

Para conectar con SQL Server en un equipo Microsoft Windows, puede descargar el cliente de SQL Server desde My Esri o desde el Centro de descargas de Microsoft. Para conectar con SQL Server en un equipo Linux, descargue los archivos de cliente de SQL Server desde el Centro de descargas de Microsoft. Siga las instrucciones de Microsoft para instalar el cliente de SQL Server en el equipo cliente.

  1. Instale el cliente de ArcGIS que utilizará para crear la geodatabase.

    Siga las instrucciones que se proporcionan en las guías de instalación de software.

  2. Instale un cliente de SQL Server en el equipo cliente de ArcGIS.

    Si instala el cliente de SQL Server en un sistema operativo de 64 bits, utilice el cliente de SQL Server ejecutable de 64 bits. Si ejecuta el cliente de SQL Server de 32 bits en un sistema operativo de 64 bits, no funcionará.

El cliente de ArcGIS está listo para conectarse a la base de datos y crear una geodatabase. Utilice uno de los métodos descritos en la siguiente sección para ello.

Crear una geodatabase

El administrador de la geodatabase puede ejecutar la herramienta Habilitar geodatabase corporativa desde ArcGIS AllSource (Desktop Standard o Desktop Advanced) o ejecutar un script de Python desde un equipo con ArcGIS AllSource (Desktop Standard o Desktop Advanced) o ArcGIS Server (Enterprise Edition) para crear una geodatabase en la base de datos existente.

Ejecutar la herramienta Habilitar geodatabase corporativa

Puede ejecutar la herramienta Habilitar geodatabase corporativa desde ArcGIS AllSource para crear una geodatabase en una base de datos de SQL Server existente.

Siga estos pasos para crear una geodatabase usando la herramienta Habilitar geodatabase corporativa en ArcGIS AllSource:

  1. Inicie ArcGIS AllSource.
  2. Conéctese a la base de datos de SQL Server como administrador de la geodatabase.

    Guarde la contraseña del usuario en el cuadro de diálogo Conexión de base de datos.

  3. Abra la herramienta Habilitar geodatabase corporativa.

    Consulte Buscar una herramienta de geoprocesamiento para obtener información general sobre cómo abrir herramientas de geoprocesamiento.

  4. Arrastre la conexión de base de datos que creó en el paso 2 al campo Conexión de base de datos de entrada.
  5. Navegue al archivo de autorización de ArcGIS Server que se creó cuando autorizó ArcGIS Server y agréguelo al cuadro de texto Archivo de autorización.

    Cuando se utiliza el asistente para autorizar ArcGIS Server, se escribe un archivo de códigos clave en el servidor donde está instalado el software. El archivo de códigos clave se crea en Program Files\ESRI\License<release>\sysgen en los servidores Windows y en /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release#>/sysgen con servidores Linux. Copie el archivo en una ubicación a la que pueda tener acceso la herramienta Habilitar geodatabase corporativa. Si aún no lo ha hecho, autorice ArcGIS Server para crear este archivo.

  6. Haga clic en Ejecutar.

    Los mensajes relacionados con la creación de la geodatabase se escriben en el archivo sde_setup.log, que se crea en el directorio especificado para la variable %TEMP% del equipo en el que se ejecuta la herramienta. Si tiene algún problema al crear una geodatabase, compruebe este archivo para solucionarlo.

Se crea una geodatabase en la base de datos.

A continuación, el administrador de base de datos puede crear un usuario que puede cargar datos en la geodatabase.

Ejecutar un script de Python

Para crear la geodatabase ejecutando un script desde ArcGIS AllSource (Desktop Standard o Desktop Advanced) o ArcGIS Server (Enterprise Edition) instalado en un equipo con Windows, puede usar el script que se proporciona aquí.

Sugerencia:

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

Siga estos pasos para ejecutar un script de Python y crear una geodatabase en una base de datos existente de SQL Server:

  1. Cree un archivo de texto en el equipo cliente de ArcGIS y copie el siguiente script en él para facilitar opciones e información específica de su sitio:

    # 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. Reemplace los valores como se indica en el script.
  3. Guarde el archivo con una extensión .py.
  4. Ejecute el script.

    Puede encontrar los mensajes relativos a la creación de la geodatabase en el archivo sde_setup.log, que se crea en el directorio especificado para la variable TEMP o TMP del equipo en el que se ejecuta el script. Si tiene algún problema al crear una geodatabase, compruebe este archivo para solucionarlo.

Ahora tiene una geodatabase en la base de datos de SQL Server.

A continuación, el administrador de base de datos puede crear un usuario que puede cargar datos en la geodatabase.