MinDbCompatibilityLevel (tipo de datos geography)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Devuelve la compatibilidad de base de datos mínima que reconoce el tipo de datos geography.

Sintaxis

  
. MinDbCompatibilityLevel ( )  

Nota:

Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.

Tipos de valor devuelto

Tipo de valor devuelto de SQL Server: int

Tipo de valor devuelto de CLR: int

Observaciones

Use MinDbCompatibilityLevel() para probar un objeto espacial a efectos de compatibilidad antes de cambiar el nivel de compatibilidad de una base de datos. Un tipo geography no válido devuelve 110.

Ejemplos

A. Probar el tipo CircularString a efectos de compatibilidad con el nivel de compatibilidad 110

En el ejemplo siguiente se prueba una instancia de CircularString a efectos de compatibilidad con versiones anteriores de SQL Server:

DECLARE @g geometry = 'CIRCULARSTRING(-120.533 46.566, -118.283 46.1, -122.3 47.45)';  
IF @g.MinDbCompatibilityLevel() <= 110  
BEGIN  
    SELECT @g.ToString();  
END  

B. Probar el tipo LineString a efectos de compatibilidad con el nivel de compatibilidad 100

En el ejemplo siguiente se prueba una instancia de LineString a efectos de compatibilidad con SQL Server 2008 (10.0.x):

DECLARE @g geometry = 'LINESTRING(-120.533 46.566, -118.283 46.1, -122.3 47.45)';  
IF @g.MinDbCompatibilityLevel() <= 100  
BEGIN  
    SELECT @g.ToString();  
END  

C. Probar el valor de una instancia de Geography a efectos de compatibilidad

En el ejemplo siguiente se muestran los niveles de compatibilidad para dos instancias de geography. Una es menor que un hemisferio y la otra es mayor que un hemisferio:

DECLARE @g geography = geography::Parse('POLYGON((0 -10, 120 -10, 240 -10, 0 -10))');  
DECLARE @h geography = geography::Parse('POLYGON((0 10, 120 10, 240 10, 0 10))');  
IF (@g.EnvelopeAngle() >= 90)  
BEGIN  
SELECT @g.MinDbCompatibilityLevel();  
END     
IF (@h.EnvelopeAngle() < 90)  
BEGIN  
SELECT @h.MinDbCompatibilityLevel();  
END  

La primera instrucción SELECT devuelve 110 y la segunda instrucción SELECT devuelve 100.

Consulte también

Nivel de compatibilidad de ALTER DATABASE (Transact-SQL)
Compatibilidad con versiones anteriores del Motor de base de datos de SQL Server