Jodidas Intercalaciones.

04/06/2004 - 13:01 por Dukof | Informe spam
Poco a poco me voy aclarando.

Estoy migrando un servidor el problema es que el viejo SQL
Server estaba en ingles con la
intercalación "SQL_Latin1_General_CP1_CI_AS"

Pues el nuevo SQL Serve lo he instalado en español con la
intercalación: "Moderm Spanish"

Bueno pues ahí es donde aparece el error en algunas
consultas.

Es necesaria reconstruir la BBDD Master. Crear previamente
la BBDD, generar los scripts, ejecutar la creación de
objetos, importar los datos, ejecutar los scripts de
indices etc, importar los logins, aplicar las seguridad ...
Y claro como tengo definidas columnas tipo varchar con
otra intercalación todo es más complejo.

Esto es demasiado, yo lo flipo.

¿No se puede hacer de alguna forma más sencilla?

Dukof - God save the Queen. - Estoy Desesperado.

Preguntas similare

Leer las respuestas

#6 Miguel Egea
06/06/2004 - 10:30 | Informe spam
Dukof, no hay ningún problema excepto en que uses consultas cruzadas entre
campos que tienen distintas intercalaciones.

Fundamentalmente el problema se presenta cuando se hace un uso poco adecuado
(el que hacemos casi todos) de las tablas temporales, creadas a partir de
select * into XXX from YYY.

Por esto tu problema se reduce a revisar los procedimientos almacenados que
hacen uso de tempdb en donde debes cambiar el select * into por un create
table tal cual con el collate adecuado (el mismo que tengas en tutabla)

Si lo haces así ya puedes despreocuparte de a donde vaya tu BBDD.

Sigue siendo un trabajo tedioso, pero el problema lo tienes bastante más
acotado y reducido.

Tienes otra opción, pero es 'no soportada' por lo que si la pruebas hazlo
con mucho cuidado y garantizandote que puedes volver atrás.
La opción es.
1.- BAckup de model y restore de model con otro nombre por ejemplo model2.
2.- Alter database de model2 para que tenga el collate que tienen tus BBDDs
3.- restore de model 2 sobre model
4.- arrancar y parar los servicios de sql, con esto consigues que tempbd
tenga el collate que le has puesto a model, sin embargo es un collate
distinto al de master y el resto de BBDDs del sistema.

Otra cosa es que el paso 2 de tinoco no te obliga a cambiar nada de lo que
decías, ni procedimientos ni linked ni nada, solamente tienes que quitar la
integridad referencial siempre y cuando tengas claves alfanuméricas con esa
integridad
Además el script se construye bastante fácil, revisa este link
http://www.configuracionesintegrale...?articuloy


-

Miguel Egea Gómez
Webmaster de PortalSQL

(lo de online sobra)
Brigada Anti-Cursores
Microsoft SqlServer M.V.P.

"Dukof" escribió en el mensaje
news:182ec01c44a31$031383c0$
Opcion 1.- Es la que estoy barajando, ahi es donde no veo
las ventajas de tener una intercalación u otra.
Seguramente siga con esta, que es como estaba, aunque
ahora W2003 lo tengo en español y no sé si me dará algún
problema.

Lo curioso es que no encuntro esta
intercalacion "SQL_Latin1_General_CP1_CI_AS" la que veo
es "Latin1_General_CI_AS" y con incompatibles, me dan el
mismo error si el servidor tiene una y las BBDD otra.

Opción 2.- !!! AMOR DE DIOS !!! ¿y te parece sencillo?
demasiado tedioso. Son 6 BBDD con proc. alm., jobs, linked
servers, seguridades, etc...

Menudo lio.

Dukof - God save the Queen.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida