duda tempdb

24/01/2008 - 19:17 por JDdios | Informe spam
Hola grupo:

¿Puedo ejecutar un sp_renamedb contra la tempdb?.
Mi intención es cambiar la intercalación de tempdb que está
establecida en modern_spanish_CI_AS a SQL_Latin1_General_CP850_CS_AS.
He leido por ahí que una forma de cambiar la intercalación es crearse
una BD con la intercalación deseada y posteriormente hacer un export
desde la antigua. Lo he hecho con alguna BD y funciona pero no me
atrevo con la tempdb.
Toda esta historia la estoy intentando realizar porque al instalar una
nueva versión de una aplicación que se apoya en sql server 2000, me da
un error:

37000: [Microsoft][ODBC SQL Server Driver][SQL Server]El cursor no ha
sido declarado.37000: [Microsoft][ODBC SQL Server Driver][SQL
Server]No se puede resolver el conflicto de intercalación para el
operador equal to.

37000: [Microsoft][ODBC SQL Server Driver][SQL Server]El cursor no ha
sido declarado.

y creo que se puede deber a que la tempdb (al igual que la instancia)
dispone de modern_spanish_CI_AS mientras que la BD que intenta manejar
la aplicación es SQL_Latin1_General_CP850_CS_AS.

He leido algo sobre la utilidad rebuildm.exe, en la que se dice que
permite cambiar la intercalación de la master; no se si afecta al
resto de bd del sistema como creo que es tmpdb. No tengo claro las
consecuencias de esta utilidad para el resto de BD.


Disculpad el atropello de dudas.


¿que me podeis aconsejar sobre el tema?

Gracias y saludos JDios.
 

Leer las respuestas

#1 Gux (MVP)
24/01/2008 - 20:27 | Informe spam
En base a lo que leo de su problema, no deduzco que el problema esté en la
TempDb.

Parece que el instalador falla al crear un cursor que hace una igualdad
entre columnas de diferentes collations.

Mi recomendación es que encienda una traza de Profiler y lance la
instalación. El Profiler podrá ayudarlo a ver las sentencias SQL que el
instalador ejecuta. Busque alguna sentencia que declare un cursor.

Respecto a cambiar el collation o el nombre de TempDb: Es una muy mala idea
jugar con las bases del sistema.

Gustavo Larriera, Microsoft MVP
https://mvp.support.microsoft.com/profile/gux
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"" wrote:

Hola grupo:

¿Puedo ejecutar un sp_renamedb contra la tempdb?.
Mi intención es cambiar la intercalación de tempdb que está
establecida en modern_spanish_CI_AS a SQL_Latin1_General_CP850_CS_AS.
He leido por ahí que una forma de cambiar la intercalación es crearse
una BD con la intercalación deseada y posteriormente hacer un export
desde la antigua. Lo he hecho con alguna BD y funciona pero no me
atrevo con la tempdb.
Toda esta historia la estoy intentando realizar porque al instalar una
nueva versión de una aplicación que se apoya en sql server 2000, me da
un error:

37000: [Microsoft][ODBC SQL Server Driver][SQL Server]El cursor no ha
sido declarado.37000: [Microsoft][ODBC SQL Server Driver][SQL
Server]No se puede resolver el conflicto de intercalación para el
operador equal to.

37000: [Microsoft][ODBC SQL Server Driver][SQL Server]El cursor no ha
sido declarado.

y creo que se puede deber a que la tempdb (al igual que la instancia)
dispone de modern_spanish_CI_AS mientras que la BD que intenta manejar
la aplicación es SQL_Latin1_General_CP850_CS_AS.

He leido algo sobre la utilidad rebuildm.exe, en la que se dice que
permite cambiar la intercalación de la master; no se si afecta al
resto de bd del sistema como creo que es tmpdb. No tengo claro las
consecuencias de esta utilidad para el resto de BD.


Disculpad el atropello de dudas.


¿que me podeis aconsejar sobre el tema?

Gracias y saludos JDios.


Preguntas similares