El modelo de base de datos espaciales múltiple de SQL Server
El modelo de base de datos espaciales múltiple de una geodatabase en SQL Server era cómo se implementaron inicialmente las geodatabases ArcSDE en SQL Server. Aunque este modelo todavía es compatible, Esri le recomienda que utilice el modelo de base de datos espaciales simple, en el que se almacenan todas las tablas de geodatabases en una base de datos de SQL Server.
Para almacenar datos espaciales en una geodatabase de ArcSDE, debe estar presente un conjunto de tablas, procedimientos almacenados, vistas y funciones (conocidas conjuntamente como el repositorio de ArcSDE). El conjunto de datos definidos por el usuario y el repositorio de ArcSDE relacionado forma una geodatabase.
Antes de ArcSDE 9, las geodatabases en SQL Server siempre se almacenaban con el modelo de base de datos espaciales múltiple. Para ArcSDE 9 y versiones posteriores, debe utilizar el modelo de base de datos espaciales simple. Sin embargo, debido a que el modelo de base de datos espaciales múltiple todavía es compatible (aunque no se recomienda), la siguiente es una descripción de este modelo.
En el modelo de base de datos espaciales múltiple, el repositorio de ArcSDE se almacena en una base de datos llamada sde. Los datos definidos por el usuario, tales como clases de entidades, ráster y tablas no espaciales, residen en otras bases de datos. El repositorio de ArcSDE en la base de datos sde almacena las referencias a la ubicación de todos los datos definidos por el usuario para una instancia particular de ArcSDE. La base de datos sde y cualquier otra base de datos relacionada forman una geodatabase simple. Este modelo de almacenamiento de datos es conocido como el modelo de base de datos espaciales múltiple porque toma varias bases de datos de SQL Server para hacer una geodatabase de ArcSDE.
El modelo de base de datos espaciales simple que se explicó en la sección anterior es la forma recomendada de almacenar sus geodatabases. Sin embargo, si desea utilizar el modelo de base de datos espaciales múltiple, las siguientes son las reglas y pautas para su uso y creación.
Reglas para utilizar una instancia de base de datos espaciales múltiple
- La base de datos que almacena los metadatos ArcSDE debe llamarse sde. Las bases de datos adicionales que almacenan datos definidos por el usuario pueden tener cualquier nombre que siga las reglas de SQL Server para los identificadores y que no comience con un número.
- Cada instancia de SQL Server puede alojar una instancia de base de datos espaciales múltiple. Los nombres de base de datos de SQL Server deben ser únicos y, por lo tanto, sólo pueden ser compatibles con una base de datos llamada sde. Si desea almacenar varias geodatabases en la misma instancia de SQL Server, puede tener una instancia de base de datos espaciales múltiple y varias instancias de bases de datos espaciales simples.
- En las instancias de bases de datos espaciales múltiple, el repositorio ArcSDE debe residir en el esquema sde. Estas instancias no son compatibles con los repositorios ArcSDE en un esquema dbo. Consulte Una comparación de propietarios de geodatabase en SQL Server para ver un debate de los dos tipos de esquemas que se pueden utilizar para el repositorio de geodatabase de ArcSDE.
- Las tablas del sistema de geodatabase de ArcSDE deben pertenecer a un usuario llamado sde. (En SQL Server 2005 o versiones posteriores, asegúrese de que el esquema predeterminado del usuario sde también se llame sde).
- El usuario sde debe tener acceso garantizado a todas las bases de datos que almacenan los datos ArcSDE definidos por el usuario.
- Todos los usuarios que se conectan a esta instancia de geodatabase deben agregarse a la base de datos sde, incluso si los datos definidos por el usuario no están almacenados en la base de datos sde. Si los usuarios almacenarán los datos en la base de datos sde, debe crearse un nuevo esquema para ese usuario en la base de datos sde. Una vez más, el nombre de usuario y el nombre del esquema deben ser iguales.
- Cuando se conecta a una de las bases de datos, tiene acceso a todas las clases de entidades de cualquier base de datos a las que se le dio el acceso garantizado, siempre y cuando el parámetro CROSS_DB_QUERY_FILTER de la tabla SDE_dbtune esté establecido a 0. Sin embargo, sólo puede acceder a la tablas no espaciales que se encuentran en la base de datos que especificó en su conexión de base de datos espaciales, sin importar a qué parámetro se estableció CROSS_DB_QUERY_FILTER.
- Se permiten las consultas de bases de datos cruzadas y las vistas ArcSDE pueden hacer referencia a los datos desde varias bases de datos siempre y cuando el parámetro CROSS_DB_QUERY_FILTER de la tabla SDE_dbtune esté establecido a 0.
- Las declaraciones SELECT, INSERT, UPDATE y DELETE (también conocido como lenguaje de manipulación de datos (DML)) pueden utilizarse a través de los límites de la base de datos. Por ejemplo, si se conecta a la base de datos public_works, puede visualizar y editar los datos desde la base de datos de planificación. Sin embargo, no puede ejecutar las declaraciones CREATE, ALTER y DROP (DDL) a través de los límites de la base de datos.
- Cuando se conecta a una geodatabase de base de datos espaciales múltiple con una conexión directa, debe especificar las bases de datos a las que se conectará. Si utiliza un servicio ArcSDE para conectarse, la base de datos sde se establece como la base de datos predeterminada a la cual conectarse en el registro del servidor; por lo tanto no debe especificar un nombre de base de datos siempre y cuando el parámetro CROSS_DB_QUERY_FILTER de la tabla SDE_dbtune esté establecido a 0.
- El conjunto de la base de datos sde y otras bases de datos relacionadas forma una geodatabase simple. Un conjunto de tablas del sistema de geodatabase de ArcSDE es compatible con todos los datos definidos por el usuario a los que hace referencia. Por lo tanto, las operaciones de respaldo y restablecimiento deben aplicar a toda la geodatabase. Si todas las bases de datos no se respaldan y se restablecen simultáneamente, se arriesga a que se dañe la geodatabase.
- Las bases de datos sde y otras relacionadas deben utilizar la misma compaginación.
- Todas las bases de datos que contienen una columna ArcSDE o una columna XML de SQL Server nativa indexada debe tener su propio catálogo de texto completo.
- Para ver una lista de los permisos necesarios para los usuarios sde y otros, consulte Permisos del usuario para las geodatabases en SQL Server.
Pautas para crear una instancia de base de datos espaciales múltiple
A continuación se enumeran algunas pautas para crear una base de datos para almacenar los datos espaciales.
- Utilice el asistente de postinstalación ArcSDE para crear la base de datos que almacenará el repositorio ArcSDE. El asistente creará la base de datos sde, garantizará el acceso de inicio de sesión sde a la misma e instalará las tablas del sistema de ArcSDE. Asegúrese de llamar a esta base de datos sde.
- Otorgue a los archivos de datos un tamaño inicial grande, después use SQL Server Management Studio para aumentar el incremento de crecimiento automático del archivo de registro de la transacción y la base de datos. En este momento, realice una copia de seguridad inicial.
- Para crear bases de datos adicionales que almacenan datos definidos por el usuario, utilice las herramientas de SQL Server como Management Studio. El usuario sde debe agregarse a cada base de datos adicional que cree. Este usuario no requiere permisos especiales en estas bases de datos. Los permisos se conceden automáticamente al usuario sde cuando se crean o se registran los datasets como versionados.
Migrar desde el modelo de base de datos espaciales múltiple al simple
Como se mencionó anteriormente, el modelo de base de datos simple es el modelo recomendado para que utilice para sus geodatabases. Si almacena una geodatabase existente con el modelo de base de datos múltiple y desea migrar al modelo de base de datos simple, siga los pasos siguientes:
- Cree una copia de seguridad de base de datos completa de todas las bases de datos ArcSDE.
- Cree un nuevo modelo de geodatabase de base de datos única con el asistente de postinstalación. Asegúrese de ejecutar el asistente de postinstalación para la misma versión que esté utilizando. Por ejemplo, si está utilizando el modelo de base de datos múltiple con ArcSDE 9.1 y desea moverse al modelo de base de datos simple, ejecute el asistente de postinstalación 9.1 para crear la geodatabase simple. Además, asegúrese de realizar estos pasos dentro de la misma instancia de SQL Server.Nota:
Si actualmente está utilizando ArcSDE 8.3, primero actualice al menos a ArcSDE 9, luego migre al modelo de base de datos simple.
- Utilice la Interfaz del catálogo para trasferir los datos a la nueva geodatabase del modelo de base de datos simple.
El asistente de postinstalación crea una nueva base de datos en SQL Server, por lo tanto cree un servicio o establezca una conexión directa con la cuál acceder a la nueva geodatabase. Luego, inicie ArcMap, abra la ventana Catálogo y realice una conexión al modelo de base de datos múltiple anterior y al nuevo modelo de base de datos simple. Después, transfiera los datos entre las geodatabases utilizando copiar/pegar, importar, exportar o varios otros métodos de migración de datos.
Nota:El usuario que inició sesión en la nueva geodatabase cuando se le transfirieron los datos será el propietario de los datos. Por lo tanto, si desea preservar la misma propiedad de los datos, los usuarios individuales deben transferir sus propios datos.