Establecer la intercalación de bases de datos definidas por el usuario para que coincidan con las de las bases de datos modelo y maestra

Esta regla comprueba si las bases de datos definidas por el usuario se definen utilizando una intercalación de base de datos que es igual a la intercalación de las bases de datos maestra o modelo.

Prácticas recomendadas

Recomendamos que las intercalaciones de bases de datos definidas por el usuario coincidan con la intercalación de las bases de datos maestra o modelo. De lo contrario, pueden producirse conflictos de intercalación que podrían impedir que el código se ejecute. Por ejemplo, cuando un procedimiento almacenado combina una tabla a una tabla temporal, es posible que SQL Server finalice el lote y devuelva un error de conflicto de intercalación si las intercalaciones de la base de datos definida por el usuario y la base de datos modelo son diferentes. Esto se debe a que las tablas temporales se crean en tempdb, que basa su intercalación en la de la base de datos modelo.

Si experimenta errores de conflictos de intercalación, considere una de las soluciones siguientes:

  • Exporte los datos de la base de datos de usuario e impórtelos en tablas nuevas que tengan la misma intercalación que las bases de datos modelo y maestra.

  • Vuelva a generar las bases de datos del sistema para utilizar una intercalación que coincida con la intercalación de las bases de datos de usuario. Para obtener más información sobre cómo recompilar las bases de datos del sistema, vea Recompilación de las bases de datos del sistema.

  • Modifique cualquier procedimiento almacenado que una las tablas de usuario a las tablas en tempdb para crear las tablas en tempdb utilizando la intercalación de la base de datos de usuario. Para ello, agregue la cláusula COLLATE database_default a las definiciones de columna de la tabla temporal, como se muestra en el ejemplo siguiente:

    CREATE TABLE #temp1 ( c1 int, c2 varchar(30) COLLATE database_default )  
    

Para obtener más información

Establecer o cambiar la intercalación de base de datos

Establecer o cambiar la intercalación de columnas

ALTER DATABASE (Transact-SQL)

COLLATE (Transact-SQL)

sys.databases (Transact-SQL)

Artículo de Microsoft Knowledge Base 325335

Cómo instalar SQL Server 2008 desde el símbolo del sistema

Consulte también

Supervisar y aplicar las prácticas recomendadas usando la administración basada en directivas