Uno de los inconvenientes que se presentan durante la
instalación de los sistemas ZEUS® suelen ocurrir en la configuración de la base
de datos. Existen varias características importantes que se deben recordar en
el proceso de instalación del motor MS-SQL, entre ellas la intercalación.
Que
es la intercalación?
Técnicamente hace referencia a la forma como se representa y
almacena cada carácter, y en consecuencia también se refiere a las reglas
utilizadas para ordenar y comparar caracteres.
Podríamos decir que es una propiedad que define los estilos
de ordenación, comparación de texto y la forma como se almacena y leen en la
base de datos. Evidentemente, se trata
de un concepto que afecta sólo a los campos de texto.
La intercalación define además si el motor de SQL distingue mayúsculas
y minúsculas o si trata las vocales acentuadas igual que las no acentuadas.
Porqué
es importante colocar la correcta?
Pensemos inicialmente que la intercalación es como en un
mapa de caracteres, donde cada carácter tiene una posición y hay un número de
posiciones disponibles. En la intercalación latina una posición puede estar
asociada a la ñ mientras que la asiática estar asociado a caracteres chinos lo
cual permite que los latinos veamos la ñ mientras los asiáticos sus caracteres
sin gastar demasiado espacio. Desde luego si tenemos una base de datos asociada
a la latina pero la restauramos en una instancia predefinida como asiática, tendremos
problemas.
Como
saber que intercalación tenemos instalada?
Empecemos por anotar que la intercalación se da no solo a
nivel de instancia de SQL, también a nivel de base de datos e incluso a nivel
de columna. La forma clásica de verificar que intercalación tenemos instalada
es usando el explorador de objetos del “SQL Management Studio” y hacer clic
derecho sobre el nombre del servidor o de la base de datos y seleccionar del
menú contextual la opción “Propiedades”, para ver la intercalación del servidor
y de la base de datos respectivamente. Sin embargo también podemos hacerlo usando
comandos:
Servidor: SELECT SERVERPROPERTY('collation')
Base de
datos: SELECT DATABASEPROPERTYEX('Zeus', 'Collation')
La intercalación requerida por Zeus es: “Orden alfabético, no
distingue mayúsculas de minúsculas,para utilizar con el juego de caracteres
1252” que en las propiedades se ve como SQL_Latin1_General_CP1_CI_AS
Podemos
cambiar la intercalación?
Luego de terminar instalar un servidor SQL podemos encontrar
que la intercalación requerida no quedo instalada. Muchos prefieren desinstalar
e instalar nuevamente con la intercalación correcta, sin embargo es posible
cambiar la intercalación.
Para cambiar la intercalación existen comandos que se
ejecutan desde la línea de comandos, o bien usando un archivo .BAT si lo
prefieres. Lo siguientes muestran como colocar la intercalación requerida por Zeus
Para SQL Server 2008:
D:\ Setup /QUIET /ACTION=REBUILDDATABASE
/INSTANCENAME=NombreDeLaInstancia /SQLSYSADMINACCOUNTS= "BUILTIN\ADMINISTRATORS"
/ SAPWD= ClaveDelsa /SQLCOLLATION= SQL_Latin1_General_Cp1_CI_AS
Para SQL Server 2005:
start /wait
D:\setup.exe /qb INSTANCENAME= NombreDeLaInstancia REINSTALL=SQL_Engine
REBUILDDATABASE=1 SAPWD= ClaveDelsa SQLCOLLATION= SQL_Latin1_General_Cp1_CI_AS
* D:\ : hace referencia a la unidad donde se encuentra el
instalador de SQL.
Es preferible hacer backup antes de hacer todo este proceso,
y tener algunas precuauciones. Para más detalles recomiendo leer este artículo:
http://microsoftsqlsecret.fullblog.com.ar/como-modificar-la-intercalacion-collation-en-sql-server.html
No hay comentarios:
Publicar un comentario