Fehlerhafte Änderungen der Volltextsuche

In diesem Thema werden fehlerhafte Änderungen im Verhalten der Volltextsuche beschrieben. Diese Änderungen können u. U. zur Funktionsunfähigkeit von Anwendungen, Skripts oder Funktionen führen, die auf früheren Versionen von SQL Serverbasieren. Diese Probleme können nach einem Upgrade auftreten. Weitere Informationen finden Sie unter Use Upgrade Advisor to Prepare for Upgrades.

Breaking Changes in Full-Text Search in SQL Server 2014

Informationen werden später bereitgestellt.

Breaking Changes in Full-Text Search in SQL Server 2012

Sortierung in sys.fulltext_languages für Namensspalte geändert

Die Sortierung der Spalte "Sprachname" in der Katalogansicht sys.fulltext_languages (Transact-SQL) wurde von der festen Sortierung der Ressourcendatenbank in die Standardsortierung geändert, die für die instance von SQL Server ausgewählt wurde. Diese Änderung ermöglicht es, die Werte in der Namensspalte zu vergleichen, wenn Sie die Sicht sys.syslanguages (Transact-SQL) mit sys.fulltext_languages verknüpfen. Sie können z. B. für alle Datenbanken abfragen, wo sich die Standardvolltextsprache von der Standarddatenbanksprache unterscheidet.

Aktuelle Änderungen an der Volltextsuche in SQL Server 2008

Die folgenden breaking changes gelten für Full-Text Search zwischen SQL Server 2005 und SQL Server 2008 und höheren Versionen.

Funktion Szenario SQL Server 2005 Nur in SQL Server 2008 und höheren Versionen.
CONTAINSTABLE mit benutzerdefinierten Typen (UDTs) Der Volltextschlüssel ist ein SQL Server benutzerdefinierter Typ, z. BMyType = char(1). . Der zurückgegebene Schlüssel entspricht dem Typ, der dem benutzerdefinierten Typ zugewiesen wurde.

Im Beispiel wäre dies char(1).
Der zurückgegebene Schlüssel entspricht dem benutzerdefinierten Typ. Im Beispiel wäre dies MyType.
top_n_by_rank Parameter (der Transact-SQL-Anweisungen CONTAINSTABLE und FREETEXTTABLE) top_n_by_rank Abfragen mit 0 als Parameter. Erzeugt einen Fehler, da – wie in der Fehlermeldung angegeben – ein Wert größer als 0 (null) verwendet werden muss. Wird erfolgreich ausgeführt und gibt 0 (null) Zeilen zurück.
CONTAINSTABLE und ItemCount Löschen Sie Zeilen aus der Basistabelle, bevor Änderungen an MSSearch übermittelt werden. CONTAINSTABLE gibt einen inaktiven Datensatz zurück. ItemCount wird nicht geändert. CONTAINSTABLE gibt keine inaktiven Datensätze zurück.
ItemCount Tabelle enthält keine Dokumente oder Typspalten. Zusätzlich zu indizierten Dokumenten werden Dokumente, die NULL oder NULL-Typen aufweisen, im ItemCount-Wert gezählt. Nur indizierte Dokumente werden im ItemCount-Wert gezählt.
Catalog ItemCount BLOB-Spalte mit einer NULL-Erweiterung. Es wird in ItemCount des Katalogs gezählt. Es wird nicht in ItemCount des Katalogs gezählt.
UniqueKeyCount Abfragen einer eindeutigen Anzahl von Schlüsseln von einem Katalog, z. B. zwei Tabellen (table1 und table2) mit jeweils drei Wörtern (word1, word2 und word3). UniqueKeyCount = 9. In der folgenden Tabelle ist zusammengefasst, wie dieser Wert erreicht wird:

table1 = 3

EOF für Volltextindex von table1 = 1

table2 = 3

EOF für Volltextindex von table2 = 1

Volltextkatalog = 1
UniqueKeyCount ist für jede Tabelle die Anzahl unterschiedlicher Schlüsselwörter + 1 (0xFF). Dadurch werden dieselben Wörter in > 1 Dokument NICHT als neuer eindeutiger Schlüssel behandelt.

Für einen Katalog ist UniqueKeyCount die Summe von UniqueKeyCount der einzelnen Tabellen unter dem Katalog. Identische Wörter aus verschiedenen Tabellen werden als eindeutige Schlüssel behandelt. In diesem Fall entspricht die Anzahl der eindeutigen Schlüssel 8.
Option "Rangfolge auf Serverebene vorkompilieren " Leistungsoptimierung von FREETEXTTABLE-Abfragen. Wenn die Option auf 1 festgelegt ist, verwenden FREETEXTTABLE-Abfragen, die mit top_n_by_rank angegeben sind, vorberechnete Rangfolgedaten, die in den Volltextkatalogen gespeichert sind. Wird nicht unterstützt.
sp_fulltext_pendingchanges beim Aktualisieren der Schlüsselspalte Aktualisieren Sie die Volltextschlüsselspalte in einer Zeile einer zweizeiligen Tabelle, und führen Sie sp_fulltext_pendingchanges aus. Beide Zeilen werden angezeigt. Nur eine Zeile wird angezeigt.
Inlinefunktionen Inlinefunktionen mit einem Volltextoperator Rückgabe einer Fehlermeldung. Rückgabe der relevanten Zeilen.
sp_fulltext_database Aktivieren oder deaktivieren Sie die Volltextsuche mit sp_fulltext_database. Bei Volltextabfragen werden keine Ergebnisse zurückgegeben. Wenn Volltext für die Datenbank deaktiviert wurde, können keine Volltextvorgänge ausgeführt werden. Gibt Ergebnisse für Volltextabfragen zurück, und Volltextvorgänge können auch dann ausgeführt werden, wenn Volltext für die Datenbank deaktiviert wurde.
Gebietsschemaspezifische Stoppwörter Fragt lokale Varianten einer übergeordneten Sprache ab, z. B. Belgisches Französisch und Kanadisches Französisch. Abfragen inlokale Varianten werden von den Komponenten (Worttrennungen, Stemmeren und Stoppwörtern) ihrer übergeordneten Sprache verarbeitet. Beispielsweise wird Französisch (Belgien) mit den Komponenten von Französisch (Frankreich) analysiert. Stoppwörter müssen jedem Gebietsschemabezeichner (LCID) explizit hinzugefügt werden. Beispielsweise müssen Sie eine LCID für Belgien, Kanada und Frankreich angeben.
Thesaurus-Wortstammerkennung Verwendung von Thesaurus und Flexionsformen (Wortstammerkennung). Nach der Erweiterung wird für Thesauruswörter automatisch eine Wortstammerkennung durchgeführt. Wenn Sie die flektierte Form in der Erweiterung verwenden möchten, müssen Sie diese explizit hinzufügen.
Volltext-Katalogpfad und -Dateigruppe Verwendung von Volltextkatalogen. Jeder Volltextkatalog weist einen physischen Pfad auf und gehört einer Dateigruppe an. Volltextkataloge werden als Datenbankdateien behandelt. Ein Volltextkatalog ist ein virtuelles Objekt und gehört keiner Dateigruppe an. Ein Volltextkatalog ist ein logisches Konzept, das auf eine Gruppe von Volltextindizes verweist.

Hinweis: SQL Server 2005Transact-SQL DDL-Anweisungen, die Volltextkataloge angeben, funktionieren ordnungsgemäß.
sys.fulltext_catalogs Verwendung des Pfads, der data_space_id, der file_id der Katalogsicht. Diese Spalten geben einen spezifischen Wert zurück. Diese Spalten geben NULL zurück, da sich der Volltextkatalog nicht mehr im Dateisystem befindet.
sys.sysfulltextcatalogs Verwendung der Pfadspalte für die veraltete Systemtabelle. Gibt den Dateisystempfad des Volltextkatalogs zurück. Gibt NULL zurück, da sich der Volltextkatalog nicht mehr im Dateisystem befindet.
sp_help_fulltext_catalogs

sp_help_fulltext_catalogs_cursor
Verwendung der Spalte PATH für die veralteten gespeicherten Prozeduren. Gibt den Dateisystempfad des Volltextkatalogs zurück. Gibt NULL zurück, da sich der Volltextkatalog nicht mehr im Dateisystem befindet.
sp_help_fulltext_catalog_components Verwendung von sp_help_fulltext_catalog_components für diese gespeicherte Prozedur. Gibt eine Liste aller Komponenten (Filter, Wörtertrennung und Protokollhandler) zurück, die für alle Volltextkataloge in der aktuellen Datenbank verwendet werden. Gibt leere Zeilen zurück.
DATABASEPROPERTYEX Verwenden der IsFullTextEnabled-Eigenschaft . Die Einstellung IsFullTextEnabled gibt an, ob die Volltextsuche in einer bestimmten Datenbank aktiviert ist. Der Wert dieser Spalte hat keine Auswirkungen. In Benutzerdatenbanken ist die Volltextsuche standardmäßig aktiviert.

Weitere Informationen

Verhaltensänderungen der Volltextsuche
Volltextsuche