Mensaje de error cuando intenta abrir un catálogo de texto completo después de restaurar una base de datos en SQL Server 2005: "Propiedad IsAccentSensitive no está disponible para FullTextCatalog '[CatalogName]'"


Síntomas


Considere el siguiente escenario. En Microsoft SQL Server 2005, restaura una base de datos desde una copia de seguridad. A continuación, intenta abrir un catálogo de texto completo mediante SQL Server Management Studio. En este escenario, puede recibir el siguiente mensaje de error:
Propiedad IsAccentSensitive no está disponible para FullTextCatalog ' [nombreCatálogo]'. Esta propiedad puede no existe para este objeto, o puede no ser recuperable debido a derechos de acceso insuficientes. (Microsoft.SqlServer.Smo)
Además, cuando intenta consultar la información acerca de la propiedad AccentSensitivity del catálogo de texto completo mediante la función FULLTEXTCATALOGPROPERTY Transact-SQL, recibirá un valor nulo. Por ejemplo, utilizar una instrucción de Transact-SQL que resembels la instrucción siguiente para consultar la información acerca de la
Propiedad AccentSensitivity .
select FULLTEXTCATALOGPROPERTY('<CatalogName>','AccentSensitivity')
Cuando se utiliza esta instrucción, recibe un valor nulo. Sin embargo, al consultar la información acerca de la propiedad AccentSensitivity directamente desde la vista de catálogo de texto completo, SQL Server devuelve la información correcta. Por ejemplo, puede utilizar la siguiente instrucción de Transact-SQL para consultar la información.
select * from sys.fulltext_catalogs
Este problema puede producirse cuando se cumplen las condiciones siguientes:
  • Hacer copia de seguridad de una base de datos y, a continuación, eliminar la base de datos.
  • La base de datos tiene un catálogo de texto completo.
  • Antes de restaurar la base de datos, crear una o más bases de datos. Por lo tanto, se utiliza el identificador de base de datos anterior por las bases de datos recién creadas.

Causa


Este problema se produce porque SQL Server almacena un nombre de catálogo de texto incorrecto para el catálogo de texto existente al restaurar la base de datos.

Solución alternativa


Para evitar este problema, desconecte con seguridad la base de datos restaurada. A continuación, volver a adjuntar la base de datos restaurada. Para ello, siga estos pasos:
  1. Abra SQL Server Management Studio y, a continuación, conectarse a la instancia de SQL Server 2005.
  2. Ejecute la siguiente instrucción para separar la base de datos que contiene el catálogo de texto completo:
    sp_detach_db 'dbname'
    GO
    Nota: El marcador de posición dbname representa el nombre de la base de datos.
  3. Volver a adjuntar la base de datos para restablecer el identificador de catálogo. Para ello, realice una de las acciones siguientes, dependiendo de dónde se encuentran los catálogos de texto completo:
    • Si los catálogos de texto completo se encuentran en la ubicación predeterminada, adjuntar la base de datos especificando la ruta de acceso del archivo de base de datos. Por ejemplo, puede adjuntar la base de datos mediante la ejecución de una de las siguientes afirmaciones:
      • sp_attach_db dbname, 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\dbname_data.mdf'
        GO
      • CREATE DATABASE dbname ON 
        (FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\dbname.mdf')
        FOR ATTACH
        GO
    • Si los catálogos de texto completo se encuentran en distintas ubicaciones, adjuntar la base de datos especificando el nombre de cada catálogo junto con la ubicación del catálogo. Por ejemplo, puede adjuntar la base de datos ejecutando la siguiente instrucción:
      CREATE DATABASE dbname ON 
      (FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\dbname_data.mdf'),
      (FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\dbname_log.ldf'),
      --optional folder name of FTS catalog 1
      (FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\FTDATA\Catalog_1'),
      --optional folder name of FTS catalog 2
      (FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\FTDATA\Catalog_2')
      FOR ATTACH;
      GO

Estado


Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".