Mesaj de eroare când încercați să deschideți un text complet catalog după restaurarea unei baze de date în SQL Server 2005: "Proprietatea IsAccentSensitive nu este disponibil pentru FullTextCatalog [CatalogName]"


Simptome


Să luăm în considerare următorul scenariu. În Microsoft SQL Server 2005, restaurați o bază de date dintr-o copie de rezervă. Apoi, încercați să deschideți un text complet catalog utilizând SQL Server Management Studio. În acest scenariu, este posibil să primiți următorul mesaj de eroare:
Proprietatea IsAccentSensitive nu este disponibil pentru FullTextCatalog ' [CatalogName]'. Această proprietate nu este posibil să existe pentru acest obiect sau nu poate fi recuperabilă datorită drepturi de acces insuficient. (Microsoft.SqlServer.Smo)
În plus, când încercați să interogați informațiile despre proprietatea AccentSensitivity Catalogul text complet utilizând funcția FULLTEXTCATALOGPROPERTY Transact-SQL, primiți o valoare nulă. De exemplu, utilizați o instrucțiune Transact-SQL care aseamănă următoarea instrucțiune pentru a interoga informațiile despre
AccentSensitivity de proprietate.
select FULLTEXTCATALOGPROPERTY('<CatalogName>','AccentSensitivity')
Când utilizați acest angajament, primiți o valoare nulă. Cu toate acestea, când interogați informațiile despre proprietatea AccentSensitivity direct din vizualizarea text complet catalog, SQL Server Returnează informațiile corecte. De exemplu, utilizați următoarea declarație Transact-SQL pentru informațiile de interogare.
select * from sys.fulltext_catalogs
Această problemă poate apărea atunci când următoarele condiții sunt adevărate:
  • Când copierea de rezervă a bazei de date și apoi ștergeți baza de date.
  • Baza de date are un catalog de text complet.
  • Înainte de a restabili baza de date, creaţi unul sau mai multe baze de date. De aceea, ID-ul bazei de date anterior este utilizat de bazele de date nou creat.

Cauza


Această problemă apare deoarece serverul SQL stochează un nume incorect catalog text complet pentru catalogul text complet existente atunci când faceți restaurarea bazei de date.

Soluție


Pentru a rezolva această problemă, să detașați baza de date restaurat. Apoi, reatașați baza de date a restaurat. Pentru a face acest lucru, urmați acești pași:
  1. Deschideți SQL Server Management Studio și apoi să vă conectați la instanța de SQL Server 2005.
  2. Executați următoarea instrucțiune pentru a detașa baza de date care conține Catalogul text complet:
    sp_detach_db 'dbname'GO
    Notă Substituentul dbname reprezintă numele bazei de date.
  3. Reatașați baza de date pentru a reinițializa catalog ID-ul. Pentru aceasta, efectuați una dintre acțiunile următoare, în funcţie de unde se află cataloage de text complet:
    • Dacă cataloage de text complet se află în locația implicită, atașați bazei de date prin specificarea calea fișierului de date. De exemplu, puteți atașa bazei de date prin executarea una dintre următoarele:
      • 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
    • Dacă cataloage de text complet se află în diferite locații, atașați bazei de date prin specificarea fiecare nume de catalog împreună cu locația de catalog. De exemplu, puteți atașa bazei de date executând următoarea declarație:
      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

Stare


Microsoft a confirmat că aceasta este o problemă cu produsele Microsoft enumerate în secţiunea „Se aplică la".