COLLATION en SQL 2005

12/02/2009 - 11:07 por Jordi Raja | Informe spam
Buenas,

Una consulta: Que influencia tiene la configuraciond e COLLATION en la raiz
del servidor de sql server 2005, si luego en cada base de datos ya le puedes
indicar el COLLATION individual.

Solo tiene afectacion para las bases de datos del sistema o hay alguna cosa
más?

Preguntas similare

Leer las respuestas

#1 Carlos Sacristan
12/02/2009 - 11:21 | Informe spam
Sirve para establecer la intercalación de las nuevas bases de datos que
crees. Si buscas el tema "Establecer y cambiar la intercalación de servidor"
en los BOL confirmarás lo que te estoy comentando


Un saludo
-
www.navento.com
Servicios de Localización GPS


"Jordi Raja" wrote:

Buenas,

Una consulta: Que influencia tiene la configuraciond e COLLATION en la raiz
del servidor de sql server 2005, si luego en cada base de datos ya le puedes
indicar el COLLATION individual.

Solo tiene afectacion para las bases de datos del sistema o hay alguna cosa
más?
Respuesta Responder a este mensaje
#2 Jordi Raja
12/02/2009 - 11:37 | Informe spam
ok, carlos, pero luego puedo indicarle cualquier otro formato y no se la
influencia de la del servidor sobre la de la base de datos nueva.

Te comento: en el servidor esta configurada LATIN1 General BIN, pero en las
10 bbdd que tengo cada una utiliza su propio Collation (modern spanish cias,
latin 1 general ci ai, latin general cias, ...) y a priori no tengo ningu
problema con ellas.

Ayer cree una nueva base de datos con MODERN_SPANISH_CI_AS, pero la
aplicacion que corre con esta base de datos se ve influenciada con la
configuracion del collation del servidor, y con el resto de aplicaciones esto
no ocurre. Puedo forzar de alguna forma a que solo coja la configuracion de
la base de datos y no la del servidor?

Gracias por todo.
Respuesta Responder a este mensaje
#3 Carlos Sacristan
12/02/2009 - 11:50 | Informe spam
Efectivamente, siempre podrás crear la base de datos con otra intercalación
diferente de la del servidor, aunque yo prefiero que sean las mismas.

Los problemas de tener diferentes intercalaciones es a la hora de comparar
valores alfanuméricos, ya que te dará error. En ese caso tendrás que forzar
la intercalación a usar poniendo después de la columna la cláusula COLLATE
seguido del nombre de intercalación a usar. Por ejemplo

SELECT ...
FROM t1 INNER JOIN t2 ON t1.a COLLATE MODERN_SPANISH_CI_AS = t2. COLLATE
MODERN_SPANISH_CI_AS

¿A qué te refieres exactamente con que esa aplicación "se ve influenciada
por la intercalación del servidor? ¿qué problemas tienes?


Un saludo
-
www.navento.com
Servicios de Localización GPS


"Jordi Raja" wrote:


ok, carlos, pero luego puedo indicarle cualquier otro formato y no se la
influencia de la del servidor sobre la de la base de datos nueva.

Te comento: en el servidor esta configurada LATIN1 General BIN, pero en las
10 bbdd que tengo cada una utiliza su propio Collation (modern spanish cias,
latin 1 general ci ai, latin general cias, ...) y a priori no tengo ningu
problema con ellas.

Ayer cree una nueva base de datos con MODERN_SPANISH_CI_AS, pero la
aplicacion que corre con esta base de datos se ve influenciada con la
configuracion del collation del servidor, y con el resto de aplicaciones esto
no ocurre. Puedo forzar de alguna forma a que solo coja la configuracion de
la base de datos y no la del servidor?

Gracias por todo.
Respuesta Responder a este mensaje
#4 Maxi
12/02/2009 - 12:19 | Informe spam
Hola Jordi, si cada base de datos tiene un collation distinto al del
servidor el problema que podrias llegar a tener es por ejemplo si creas
tablas temporales y haces join contra ellas, si las creas por default las
tablas temporales (o sea sin indicar el collation) se crearan con el
collation de la tempdb que es el collation del servidor, como ese collation
es distinto al de tu base cuando haces un join te pinchara a menos que en la
sentencia join indiques el collate



Maxi Accotto
Microsoft MVP en SQL Server
Consultor en SQL Total Consulting



"Jordi Raja" escribió en el mensaje de
noticias:

ok, carlos, pero luego puedo indicarle cualquier otro formato y no se la
influencia de la del servidor sobre la de la base de datos nueva.

Te comento: en el servidor esta configurada LATIN1 General BIN, pero en
las
10 bbdd que tengo cada una utiliza su propio Collation (modern spanish
cias,
latin 1 general ci ai, latin general cias, ...) y a priori no tengo ningu
problema con ellas.

Ayer cree una nueva base de datos con MODERN_SPANISH_CI_AS, pero la
aplicacion que corre con esta base de datos se ve influenciada con la
configuracion del collation del servidor, y con el resto de aplicaciones
esto
no ocurre. Puedo forzar de alguna forma a que solo coja la configuracion
de
la base de datos y no la del servidor?

Gracias por todo.
Respuesta Responder a este mensaje
#5 Jordi Raja
12/02/2009 - 12:51 | Informe spam
te cuento.

Servidor 1
Collation: LATIN1 General Bin
Base de datos: Modern Spanish CI AS

(CON ESTO NO FUNCIONA)

Servidor 2
Collation: Modern Spanish CI AS
Base de datos: Modern Spanish CI AS

(Funciona perfectamente)

Solo le veo el motivo de fallo por la collation de configuracion del servidor.

He visto que cambiar la collation del servidor es un pollo, tengo que
desconectar las bbdd y luego aplicar el script de canvio de collation y
volver a adjuntar las bbdd y cruzar los dedos.


"Carlos Sacristan" wrote:


Efectivamente, siempre podrás crear la base de datos con otra intercalación
diferente de la del servidor, aunque yo prefiero que sean las mismas.

Los problemas de tener diferentes intercalaciones es a la hora de comparar
valores alfanuméricos, ya que te dará error. En ese caso tendrás que forzar
la intercalación a usar poniendo después de la columna la cláusula COLLATE
seguido del nombre de intercalación a usar. Por ejemplo

SELECT ...
FROM t1 INNER JOIN t2 ON t1.a COLLATE MODERN_SPANISH_CI_AS = t2. COLLATE
MODERN_SPANISH_CI_AS

¿A qué te refieres exactamente con que esa aplicación "se ve influenciada
por la intercalación del servidor? ¿qué problemas tienes?


Un saludo
-
www.navento.com
Servicios de Localización GPS


"Jordi Raja" wrote:

>
> ok, carlos, pero luego puedo indicarle cualquier otro formato y no se la
> influencia de la del servidor sobre la de la base de datos nueva.
>
> Te comento: en el servidor esta configurada LATIN1 General BIN, pero en las
> 10 bbdd que tengo cada una utiliza su propio Collation (modern spanish cias,
> latin 1 general ci ai, latin general cias, ...) y a priori no tengo ningu
> problema con ellas.
>
> Ayer cree una nueva base de datos con MODERN_SPANISH_CI_AS, pero la
> aplicacion que corre con esta base de datos se ve influenciada con la
> configuracion del collation del servidor, y con el resto de aplicaciones esto
> no ocurre. Puedo forzar de alguna forma a que solo coja la configuracion de
> la base de datos y no la del servidor?
>
> Gracias por todo.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida