Leer datos versionados en SQL Server con vistas multiversionadas

Puede ejecutar las declaraciones SQL SELECT contra vistas multiversionadas para acceder a los datos multiversionados.

Las vistas multiversionadas acceden automáticamente a la versión DEFAULT. Antes de hacer cualquier consulta contra la vista, debe asegurarse de que está consultando la versión requerida.

Para acceder a un estado específico de una versión particular, ejecute el procedimiento de ArcSDE set_current_version almacenado. Este procedimiento valida el nombre de versión proporcionado y configura internamente el estado de la base de datos correspondiente. Se puede ejecutar directamente desde un cliente SQL. La sintaxis para que el procedimiento almacenado configure la versión actual es la que se describe en la geodatabase de esquema sde:

EXEC sde.set_current_version '<version_name>'

Para geodatabases de esquema dbo, el procedimiento almacenado pertenece a dbo, de modo que la sintaxis es la siguiente:

EXEC dbo.set_current_version '<version_name>'

Este procedimiento se puede invocar otra vez para cambiar a otras versiones según se requiera, y se puede invocar cada vez que el espacio de trabajo se actualice para devolver el estado actual de la tabla versionada a la aplicación que la invoca.

Si configura la versión como DEFAULT, el estado actual se almacena en memoria caché y sólo se puede ver el estado de la versión DEFAULT. Si no configura la versión, aparece una vista dinámica de la versión DEFAULT. Por lo tanto, se pueden ver los cambios en la versión DEFAULT mientras edita.

PrecauciónPrecaución:

Las vistas multiversionadas no deberían utilizarse para acceder a entidades complejas o modificarlas, como las entidades que participan en redes geométricas, topologías, terrenos, estructuras catastrales, datasets de red, relaciones, o entidades con un comportamiento de geodatabase específico. Debería usar ArcGIS para visualizar y modificar estos tipos de entidades.

Pasos:
  1. Ejecute en una ventana de comando de MS-DOS la utilidad sdetable para crear una vista multiversionada.
    sdetable –o create_mv_view –T code_mv –t code_enf  –i sde:sqlserver:myserver\ssinst –D code –u sarja –p not4u
  2. Abra una ventana de consulta de Transact SQL y ejecute el procedimiento almacenado set_current_version.
    EXEC sde.set_current_version 'version2'
    NotaNota:

    Si no configura la versión actual, verá el último estado de la versión DEFAULT cada vez que realice una consulta. Si configura la versión actual, el estado se almacena en la memoria caché y la vista de la versión que especificó permanece estática.

  3. Emita la declaración SELECT contra la vista multiversionada para leer los datos versionados desde la geodatabase.
    SELECT owner, site_address, region FROM code_mv WHERE region = 'b'

Temas relacionados


3/6/2012