Leer datos versionados en SQL Server con vistas versionadas

Puede ejecutar las declaraciones SQL SELECT contra vistas versionadas para acceder a los datos versionados.

Las vistas versionadas obtienen acceso automáticamente al estado actual de la versión DEFAULT Si ejecuta las declaraciones SELECT contra una vista versionada, tendrá acceso al estado actual de DEFAULT. Si otros usuarios están comprometiendo ediciones en la versión DEFAULT (cambiando así el estado al que la versión DEFAULT hace referencia), sus consultas subsiguientes verán el último estado y sus ediciones.

Si desea consultar una versión diferente a la DEFAULT o no desea sus consultas contra la versión DEFAULT para cambiar estados, ejecute el procedimiento almacenado set_current_version. Este procedimiento valida el nombre de versión proporcionado y configura internamente el estado de la base de datos correspondiente. Las consultas que hace contra la versión siempre señalarán al estado de la versión referenciada cuando ejecutó set_current_version.

Set_current_version se puede ejecutar directamente desde un cliente SQL. La sintaxis es la siguiente para una 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.

Pasos:
  1. Asegúrese de que hay una vista versionada para la clase de entidad versionada o tabla a la que desea obtener acceso.

    A partir de ArcGIS 10.1, las vistas versionadas se crean cuando usted versiona datos. Si sus datos fueron versionados antes de 10.1, puede crear una vista versionada al ejecutar la herramienta de geoprocesamiento Crear vista versionada.

  2. Abra una ventana de consulta Transact SQL y ejecute el procedimiento almacenado set_current_version para establecer la versión que desea consultar.

    En este ejemplo,, version2 se establece como la versión a consultar.

    EXEC sde.set_current_version 'version2'
    
  3. Emita la declaración SELECT contra la vista versionada para leer los datos versionados desde la geodatabase.

    En este ejemplo, la vista versionada es code_mv.

    SELECT owner, site_address, region FROM code_mv WHERE region = 'b'
    

Si necesita regresar a consultar el estado actual de la versión DEFAULT, ejecute el procedimiento set_default.

--For sde-schema geodatabases EXEC sde.set_default;  --For dbo-schema geodatabases EXEC dbo.set_default;
Puede luego ejecutar las declaraciones SELECT en la vista versionada y sus consultas verán el estado más reciente de la versión DEFAULT.

Temas relacionados

5/10/2014