ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Collations en SQL Server, ¿Es importante?, ¿Cuán importante es?


Enviado por   •  22 de Mayo de 2017  •  Documentos de Investigación  •  1.176 Palabras (5 Páginas)  •  289 Visitas

Página 1 de 5

Collations en SQL Server, ¿Es importante?, ¿Cuán importante es?

Hace unos días me preguntaban al respecto: Collation en SQL Server, ¿Es importante? o ¿Cuán importante es?, bueno, después de haberle explicado de manera general decidí compartir algo más con todo aquel interesadoa través de este post. El collation (intercalación) es una propiedad que gobierna/define los estilos de ordenación, comparación de texto y la forma como se almacena y leen los datos de las páginas. El collation que se debe elegir tiene que soportar la configuración de idioma del sistema Windows, y en esta elección ayuda bastante el programa de instalación de SQL Server, pues durante el proceso recomienda el collation adecuado y compatible al sistema windows. El estandard para sistemas en español e inglés recomendado es SQL_Latin1_General*, y siendo más específico el más usado es SQL_Latin1_General_CP1_CI_AS (proporciona compatibilidad con versiones anteriores). De esta propiedad depende muchos resultados de consultas pues define el patrón de bits para cada caracter posible de representar de acuerdo a los páginas de códigos que soporte. Por lo tanto, póngale bastante atención, aunque parezca insignificante para la mayoría de personas, una inadecuada configuración de este tipo puede impactar bastante, causar conflictos de resolución de intercalaciones y hasta podría dejarle sin servicio. 

El collation puede configurarse/ajustarse a varios niveles tanto servidor, base de datos, columnas, y expresiones. A nivel de servidor puede configurarse durante la instalación ó reconfigurarse fácilmente con una o dos líneas de código usando la consola cmd. Para lo demás podemos usar simple T-SQL.  Ahora bien existen tipos de collations: collations  de SQL Server, Windows Collations, Collations binarios. Si el nombre (o etiqueta) del collation empieza con “SQL” entonces estamos hablando de una intercalación de SQL Server, si tiene sufijo _BIN ó _BIN2 será una intercalación Binaria, en caso contrario será una intercalación windows. Más información al respecto usted puede leer lo siguiente: http://msdn.microsoft.com/es-es/library/ms143515.aspx  y tambien sería bueno que revise las directrices para utilizar intercalaciones BIN y BIN2

En este mundo es posible que usted desee reconfigurar el collation instalado a nivel de servidor ya sea por equivocación o simplemente estandarización, para tal fin, primero verificar el collation instalado a nivel de servidor SELECT SERVERPROPERTY('collation') o dándole un click derecho en el nodo a nivel de server, pestaña General, item “Server Collation”.  Es importante enfatizar que el collation instalado a nivel de servidor es heredado para todas las bases de datos del sistema, entre ellas las bases de datos model. El collation para cualquier nueva base de datos que se vaya a crear será heredada de la base de datos model (a menos que se indique otro explicitamente) y no del collation a nivel de servidor como lo he leído y escuchado en varios lugares. En fin… sigamos. Sírvase de los siguientes contenidos para reconfigurar su server.

  • Reconfigurar collation a nivel de servidor en SQL Server 2000: http://msdn.microsoft.com/en-us/library/aa197950(SQL.80).aspx . durante el rebuild de la base de datos master usted puede indicar el nuevo collation.
  • Reconfigurar collation a nivel de servidor en SQL Server 2005: http://technet.microsoft.com/en-us/library/ms179254(SQL.90).aspx óhttp://blogs.digineer.com/blogs/jasons/archive/2007/10/18/change-sql-server-collation.aspx 
  • Reconfigurar collation a nivel de servidor en SQL Server 2008: http://technet.microsoft.com/en-us/library/ms179254.aspx

Debo dejar bastante claro que este proceso implica prácticamente actividades de reinicios automáticos del servidor, recreación de las bases de datos del sistema, y detachar del servidor todas las bases de datos de usuario. Por lo tanto, luego de terminar, usted tendrá que atacharlas nuevamente, tome sus precauciones!. Es posible que requiera verificar el collation de alguna base de datos, es sencillo:SELECT DATABASEPROPERTYEX('DBInventory', 'Collation'); Si la propiedad AUTO_CLOSE de la base de datos está configurada en TRUE y no existen alguna conexion abierta entonces la consulta anterior le devolverá NULL. Para solucionar el tema usted debe iniciar la base de datos o abrir una conexión, una forma práctica es:

...

Descargar como (para miembros actualizados) txt (7 Kb) pdf (78 Kb) docx (14 Kb)
Leer 4 páginas más »
Disponible sólo en Clubensayos.com