Cómo determinar si una instancia de SQL Server distingue entre mayúsculas y minúsculas o no
-
10-07-2019 - |
Pregunta
¿Cómo puedo saber si una instancia de SQL Server 2005 permite bases de datos sensibles a mayúsculas o minúsculas?
Por mayúsculas y minúsculas, me refiero a mayúsculas y minúsculas de los objetos en la base de datos, es decir, las siguientes dos declaraciones no son equivalentes:
SELECT * FROM TABLE
SELECT * FROM table
Busqué en las páginas de propiedades del servidor (en Management Studio) pero no pude verlo.
Solución
SELECT DATABASEPROPERTYEX('DatabaseNameHere', 'Collation') SQLCollation;
Devuelve " SQL_Latin1_General_CP1_CI_AS " ;, el CI es lo que indica insensibilidad a mayúsculas y minúsculas
Otros consejos
En Management studio, haga clic con el botón derecho en Instance en el explorador de objetos y luego haga clic en " properties " para ver las propiedades del servidor. En el " General " sección mira el cotejo. La configuración de mayúsculas y minúsculas predeterminada es SQL_Latin1_General_CP1_CI_AS. La configuración de mayúsculas y minúsculas es Latin1_General_CS_AS.
La clasificación de una base de datos puede ser diferente a la clasificación del servidor. No hay restricción.
Cuando CREA BASE DE DATOS, la especifica allí o asume la clasificación de las bases de datos modelo (que debería ser la clasificación del servidor).
SELECT
DATABASEPROPERTYEX('MyDB', 'Collation'),
SERVERPROPERTY ('Collation')