Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
SQL Server aktualisiert die Volltextsuche während des Setups oder beim Anfügen, Wiederherstellen oder Kopieren von Datenbankdateien und Volltextkatalogen aus SQL Server 2005 (9.x) und früheren Versionen.
Upgrade einer Serverinstanz
Bei einem direkten Upgrade wird eine Instanz von SQL Server parallel zur alten Version von SQL Server installiert, und die Daten werden migriert. Wenn die Volltextsuche in der alten Version von SQL Server installiert war, wird automatisch eine neue Version der Volltextsuche installiert. Eine parallele Installation bedeutet, dass jede der folgenden Komponenten auf der Instanzebene von SQL Server vorhanden ist.
Wörtertrennung, Wortstammerkennung und Filter
Jede Instanz verwendet ihren eigenen Satz von Wörtertrennung, Wortstammerkennung und Filtern, anstatt auf die Betriebssystemversion dieser Komponenten zurückzugreifen. Diese Komponenten sind auf Instanzebene einfacher zu registrieren und zu konfigurieren. Weitere Informationen finden Sie unter Konfigurieren und verwalten von Wortbrechern und Stemmers sowie Konfigurieren und verwalten von Filtern.
Filterdaemonhost
Bei Volltext-Filterdaemonhosts handelt es sich um Prozesse, die erweiterbare externe Komponenten für Indizierung und Abfragen wie Wörtertrennung, Wortstammerkennung und Filter auf sichere Weise laden und ausführen, ohne die Integrität der Volltext-Engine zu gefährden. Eine Serverinstanz verwendet für alle mehrthreadigen Filter einen mehrthreadigen Prozess und für alle einzelthreadigen Filter einen einzelthreadigen Prozess.
Der FDHOST Launcher-Dienst (MSSQLFDLauncher) leitet die Servicekontoinformationen an die Filter-Daemon-Hostprozesse einer bestimmten Instanz der Datenbank-Engine weiter. Informationen zum Einrichten des Dienstkontos finden Sie unter Einrichten des Dienstkontos für den Volltextfilter-Daemon-Launcher.
Kompatibilität des SQL Server 2005-Upgrades
Ein Volltextkatalog ist ein logisches oder virtuelles Objekt, das eine Gruppe von Volltextindizes enthält. Daher wird ein neuer Volltextkatalog nicht als Datenbankdatei mit einem physischen Pfad behandelt. Wenn Sie jedoch von SQL Server 2005 (9.x) aktualisieren, wird auf derselben Festplatte eine neue Dateigruppe für jeden Volltextkatalog erstellt, der Datendateien enthält.
Dieses Verfahren behält das alte E/A-Verhalten des Datenträgers nach dem Upgrade bei. Jeder Volltextindex aus diesem Katalog wird in die neue Dateigruppe eingefügt, wenn der Stammpfad vorhanden ist. Falls der alte Volltextkatalogpfad ungültig ist, wird beim Upgrade der Volltextindex in derselben Dateigruppe wie die Basistabelle bzw. bei einer partitionierten Tabelle in der primären Dateigruppe beibehalten.
Volltextupgrade-Optionen
Wenn Sie eine SQL Server-Instanz aktualisieren, ermöglicht Ihnen die Benutzeroberfläche, eine der folgenden Volltext-Upgrade-Optionen auszuwählen. Diese Optionen sind nur für SQL Server 2005 (9.x)-Datenbanken verfügbar.
Importieren
Volltextkataloge werden importiert. Normalerweise ist der Import bedeutend schneller als eine Neuerstellung. Zum Beispiel läuft der Import mit nur einem CPU-Kern etwa zehnmal schneller als der Rebuild. Ein importierter Volltextkatalog verwendet jedoch nicht die neuen Wörtertrennungen, die mit der neuesten Version von SQL Server installiert sind. Volltextkataloge müssen neu erstellt werden, um die Konsistenz in Abfrageergebnissen sicherzustellen.
Hinweis
Rebuild kann im Multithread-Modus laufen, und wenn mehr als 10 CPU-Kerne verfügbar sind, läuft Rebuild möglicherweise schneller als Import, wenn man Rebuild erlaubt, alle Kerne zu nutzen.
Wenn kein Volltextkatalog verfügbar ist, werden die zugehörigen Volltextindizes neu erstellt.
Informationen zur Wirkung des Imports eines Volltext-Index finden Sie unter Überlegungen zur Wahl einer Volltext-Upgrade-Option später in diesem Artikel.
Rebuild
Volltextkataloge werden mit den Wortbrechern der aktuellen Version neu aufgebaut. Das Neuerstellen von Indizes kann einige Zeit dauern, und nach dem Upgrade ist ggf. eine beträchtliche Menge an CPU-Leistung und Arbeitsspeicherkapazität erforderlich.
Zurücksetzen
Volltextkataloge werden zurückgesetzt. Beim Upgrade von SQL Server 2005 (9.x) werden Volltextkatalogdateien entfernt, aber die Metadaten für Volltextkataloge und Volltextindizes bleiben erhalten. Nach dem Upgrade werden alle Volltextindizes für die Änderungsnachverfolgung deaktiviert und Durchforstungen werden nicht automatisch gestartet. Der Katalog bleibt leer, bis Sie ihn nach Beendigung des Upgrades manuell vollständig auffüllen.
Überlegungen beim Auswählen einer Volltextupgrade-Option
Wenn Sie sich für die Upgrade-Option entscheiden, beachten Sie Folgendes:
Ist die Konsistenz in Abfrageergebnissen erforderlich?
Das Datenbankmodul installiert neue Worttrennungen zur Verwendung durch die Volltextsuche und die semantische Suche. Die Wörtertrennungen werden sowohl bei der Indizierung als auch bei Abfragen verwendet. Wenn Sie die Volltextkataloge nicht neu erstellen, sind Ihre Suchergebnisse möglicherweise inkonsistent. Wenn Sie eine Volltextabfrage stellen, die nach einer Phrase sucht, die vom Word Breaker in einer früheren Version der Datenbank-Engine und vom aktuellen Word Breaker unterschiedlich zerlegt wird, wird ein Dokument oder eine Zeile, das bzw. die diese Phrase enthält, möglicherweise nicht zurückgegeben. Das liegt daran, dass die indizierten Ausdrücke anhand einer anderen Logik getrennt wurden als der von der Abfrage verwendeten Logik. Die Lösung besteht darin, die Volltextkataloge mit den neuen Wörtertrennungen aufzufüllen (neu zu erstellen), damit das Verhalten bei der Indizierung und bei Abfragen gleich ist. Du kannst die Option Umbau wählen, um dies zu erreichen, oder du kannst manuell neu aufbauen, nachdem du die Option Importieren gewählt hast.
Wurden Volltextindizes basierend auf ganzzahligen Volltextschlüsselspalten erstellt?
Bei der Neuerstellung werden interne Optimierungen durchgeführt, die die Abfrageleistung des aktualisierten Volltextindex in einigen Fällen verbessern. Insbesondere wenn Sie über Volltextkataloge verfügen, die Volltextindizes enthalten, bei denen die Volltextschlüsselspalte der Basistabelle ein Ganzzahl-Datentyp ist, erzielt eine Neuerstellung nach dem Upgrade eine optimale Leistung der Volltextabfragen. In diesem Fall solltest du die Option Rebuild wählen.
Hinweis
Für Volltextindizes sollte die Spalte, die als Volltextschlüssel dient, ein ganzzahliger Datentyp sein. Weitere Informationen finden Sie unter Verbessern Sie die Leistung von Volltextindizes.
Worauf liegt beim Herstellen der Onlineverfügbarkeit der Serverinstanz die Priorität?
Das Importieren bzw. das Neuerstellen während eines Upgrades belegt viele CPU-Ressourcen. Dies führt zu Verzögerungen beim Aktualisieren und Herstellen der Onlineverfügbarkeit des Rests der Serverinstanz. Wenn die schnellstmögliche Onlineverfügbarkeit der Serverinstanz wichtig und das manuelle Auffüllen nach dem Upgrade akzeptabel ist, eignet sich die Option Zurücksetzen.
Sicherstellen von konsistenten Abfrageergebnissen nach dem Importieren eines Volltextindexes
Wenn beim Upgrade einer SQL Server 2005 (9.x)-Datenbank ein Volltextkatalog importiert wird, können Diskrepanzen zwischen der Abfrage und dem Inhalt des Volltextindex auftreten, da sich das Verhalten der alten und neuen Wortbrecher unterschieden. Wählen Sie in diesem Fall eine der folgenden Optionen aus, um eine vollständige Übereinstimmung zwischen Abfragen und dem Inhalt des Volltextindexes sicherzustellen:
Erstellen Sie den Volltextkatalog neu, der den Volltextindex enthält, mit ALTER FULLTEXT CATALOG:
ALTER FULLTEXT CATALOG <catalog_name> REBUILD;Geben Sie ein
FULL POPULATIONfür den Volltextindex mit ALTER FULLTEXT INDEX aus:ALTER FULLTEXT INDEX ON <table_name> START FULL POPULATION;
Weitere Informationen zur Wörtertrennung finden Sie unter Konfigurieren und Verwalten von Wörtertrennungen und Wortstammerkennungen für die Suche.
Rauschwortdateien in Stopplisten umwandeln
Wenn eine Datenbank von SQL Server 2005 (9.x) aktualisiert wird, werden die Stoppwortdateien nicht mehr verwendet. Die alten Füllwortdateien werden jedoch im FTDATA\FTNoiseThesaurusBak Ordner gespeichert, und Sie können sie später beim Aktualisieren oder Erstellen der entsprechenden SQL Server Stopplisten verwenden.
Nach dem Upgrade von SQL Server 2005 (9.x):
Wenn Sie in Ihrer Installation von SQL Server 2005 (9.x) keine Füllwortdateien hinzugefügt, geändert oder gelöscht haben, dürften die Systemstopplisten Ihren Anforderungen entsprechen.
Wenn die Füllwortdateien in SQL Server 2005 (9.x) geändert wurden, gehen diese Änderungen während des Upgrades verloren. Um diese Aktualisierungen erneut zu erstellen, müssen Sie diese Änderungen manuell in der entsprechenden Stoppliste nachbilden. Weitere Informationen finden Sie unter ALTER FULLTEXT STOPLIST.
Wenn Sie keine Stoppwörter auf Ihre Volltextindizes anwenden möchten (z. B. wenn Sie Ihre Füllwortdateien in Ihrer SQL Server 2005 (9.x)-Installation gelöscht oder gelöscht haben, müssen Sie die Stoppliste für jeden aktualisierten Volltextindex deaktivieren. Führen Sie die folgende Transact-SQL Anweisung aus ( Datenbank wird durch den Namen der aktualisierten Datenbank und Tabelle durch den Namen der Tabelle ersetzt):
USE [database]; GO ALTER FULLTEXT INDEX ON [table] SET STOPLIST OFF; GODie
STOPLIST OFF-Klausel entfernt die Stoppwortfilterung und löst eine Auffüllung der Tabelle aus, ohne Wörter zu filtern, die als Füllwörter betrachtet werden.
Sichern und Importieren von Volltextkatalogen
Für Volltextkataloge, die während des Upgrades neu aufgebaut oder zurückgesetzt werden (und für neue Volltextkataloge), ist der Volltextkatalog ein logisches Konzept und befindet sich nicht in einer Dateigruppe. Um einen Volltextkatalog zu sichern, müssen Sie daher jede Dateigruppe identifizieren, die einen Volltextindex des Katalogs enthält, und diese einzeln sichern. Weitere Informationen finden Sie unter Sichern und Wiederherstellen von Volltextkatalogen und Indizes.
Bei Volltextkatalogen, die aus SQL Server 2005 (9.x) importiert werden, ist der Volltextkatalog immer noch eine Datenbankdatei in einer eigenen Dateigruppe. Der SQL Server 2005 (9.x)-Sicherungsprozess für Volltextkataloge gilt weiterhin, außer dass der MSFTESQL-Dienst in SQL Server nicht vorhanden ist. Weitere Informationen zum SQL Server 2005 (9.x) Prozess finden Sie unter Sichern und Wiederherstellen von Volltextkatalogen in der SQL Server 2005-Onlinedokumentation.
Migrieren von Volltextindizes beim Upgrade einer Datenbank
Datenbankdateien und Volltextkataloge einer vorherigen Version von SQL Server können durch Anfügen, Wiederherstellen oder mithilfe des Assistenten zum Kopieren von Datenbanken auf eine vorhandene Instanz aktualisiert werden. SQL Server 2005 (9.x) Volltextindizes werden, falls vorhanden, importiert, zurückgesetzt oder neu erstellt. Die upgrade_option Servereigenschaft gibt an, welche Volltextupgradeoption die Serverinstanz während dieser Datenbankupgrades verwendet.
Nachdem Sie eine SQL Server 2005 (9.x)-Datenbank in eine neuere Instanz angehängt, wiederherstellt oder kopiert haben, ist die Datenbank sofort verfügbar und wird dann automatisch aktualisiert. Abhängig von der Menge der indizierten Daten kann der Import mehrere Stunden dauern, und die Neuerstellung kann bis zu 10-mal länger dauern. Wenn die Upgradeoption für den Import festgelegt ist, wenn kein Volltextkatalog verfügbar ist, werden die zugehörigen Volltextindizes neu erstellt.
Ändern des Volltext-Upgrade-Verhaltens bei einer Serverinstanz
Transact-SQL: Verwenden der
upgrade_optionAktion von sp_fulltext_serviceSQL Server Management Studio: Verwenden Sie die Full-Text Upgradeoption des Dialogfelds "Servereigenschaften ". Weitere Informationen finden Sie unter Verwalten und Überwachen der Volltextsuche auf einer Serverinstanz.
Überlegungen zum Wiederherstellen eines SQL Server 2005 (9.x)-Volltextkatalogs
Eine Methode zur Aktualisierung von Volltextdaten aus einer SQL Server 2005 (9.x)-Datenbank besteht darin, ein vollständiges Datenbank-Backup auf eine neuere Instanz von SQL Server wiederherzustellen.
Beim Importieren eines SQL Server 2005 (9.x) Volltextkatalogs können Sie die Datenbank und die Katalogdatei sichern und wiederherstellen. Das Verhalten ist dasselbe wie in SQL Server 2005 (9.x):
Die vollständige Datenbanksicherung enthält den Volltextkatalog. Verwenden Sie zum Verweisen auf den Volltextkatalog seinen SQL Server 2005 (9.x) Dateinamen: sysft_+catalog_name.
Wenn der Volltextkatalog offline ist, schlägt die Sicherung fehl.
Weitere Informationen zum Sichern und Wiederherstellen von SQL Server 2005 (9.x)-Volltextkatalogen finden Sie unter Sichern und Wiederherstellen von Volltextkatalogen und Indizes undDateisicherungs- und Full-Text katalogen in SQL Server 2005 (9.x)-Büchern online.
Wenn die Datenbank in einer neueren Instanz von SQL Server wiederhergestellt wird, wird eine neue Datenbankdatei für den Volltextkatalog erstellt. Der Standardname dieser Datei lautet ftrow_catalog-name.ndf. Wenn zum Beispiel Ihr Katalogname istcat1, wäre der Standardname der SQL Server-Datenbankdatei ftrow_cat1.ndf. Wenn der Standardname jedoch bereits im Zielverzeichnis verwendet wird, wird die neue Datenbankdatei ftrow_{ genannt}.ndf, wobei GUID die global eindeutige Kennung der neuen Datei ist.
Nachdem die Kataloge importiert wurden, werden sys.database_files und sys.master_files aktualisiert, um die Katalogeinträge zu entfernen, und die path-Spalte in sys.fulltext_catalogs wird auf NULL gesetzt.
Sichern einer Datenbank
- Vollständige Datenbank-Backups
- Transaktionsprotokoll-Backups (nur vollständiges Wiederherstellungsmodell)
Wiederherstellen einer Datenbanksicherung
- Vollständige Datenbankwiederherstellungen (einfaches Wiederherstellungsmodell)
- Vollständige Datenbankwiederherstellungen (vollständiges Wiederherstellungsmodell)
Beispiel
Das folgende Beispiel verwendet die MOVE Klausel in der AnweisungRESTORE, um eine SQL Server 2005 (9.x)-Datenbank mit dem Namen ftdb1wiederherzustellen. Die SQL Server 2005 (9.x) Datenbankdateien, -Protokolldateien und -Katalogdateien werden wie folgt an neue Speicherorte auf der SQL Server-Serverinstanz verschoben:
Die Datenbankdatei
ftdb1.mdfwird an den SpeicherortC:\Program Files\Microsoft SQL Server\MSSQL.1MSSQL13.MSSQLSERVER\MSSQL\DATA\ftdb1.mdfverschoben.Die Protokolldatei
ftdb1_log.ldfwird in ein Protokollverzeichnis auf Ihrem Protokolllaufwerk verschoben: Protokolllaufwerk:\Protokollverzeichnis\ftdb1_log.ldf.Die Katalogdateien, die dem Katalog
sysft_cat90entsprechen, werden inC:\tempverschoben. Nachdem die Volltextindizes importiert wurden, werden sie automatisch in eine Datenbankdatei gelegt,C:\ftrow_sysft_cat90.ndf, undC:\tempwerden gelöscht.
RESTORE DATABASE [ftdb1] FROM DISK = N'C:\temp\ftdb1.bak'
WITH FILE = 1,
MOVE N'ftdb1' TO N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\ftdb1.mdf',
MOVE N'ftdb1_log' TO N'log_drive:\log_directory\ftdb1_log.ldf',
MOVE N'sysft_cat90' TO N'C:\temp';
Anfügen einer SQL Server 2005-Datenbank
In SQL Server 2008 (10.0.x) und höheren Versionen ist ein Volltextkatalog ein logisches Konzept, bei dem eine Gruppe von Volltextindizes verwendet wird. Der Volltextkatalog ist ein virtuelles Objekt, das keiner Dateigruppe angehört. Wenn Sie jedoch eine SQL Server 2005 (9.x)-Datenbank mit Volltextkatalogdateien an eine neuere SQL Server-Serverinstanz anfügen, werden die Katalogdateien von ihrem vorherigen Speicherort aus zusammen mit den anderen Datenbankdateien angefügt. Dies entspricht der Vorgehensweise in SQL Server 2005 (9.x).
Der Status der einzelnen angefügten Volltextkataloge von SQL Server entspricht dem Status beim Trennen der Datenbank von SQL Server 2005 (9.x). Wenn beim Trennvorgang eine Auffüllung des Volltextindex unterbrochen wurde, wird die Auffüllung in SQL Server wieder aufgenommen, und der Volltextindex ist für die Volltextsuche verfügbar.
Wenn SQL Server keine Volltextkatalogdatei finden kann oder die Volltextdatei während des Anfügungsvorgangs verschoben wurde, ohne einen neuen Speicherort anzugeben, hängt das Verhalten von der ausgewählten Volltextupgradeoption ab. Wenn die Volltextupgrade-Option Importieren oder Neu erstellenlautet, wird der angefügte Volltextkatalog neu erstellt. Wenn die Volltextupgrade-Option Zurücksetzen lautet, wird der angefügte Volltextkatalog zurückgesetzt.
Für weitere Informationen zum Abkoppeln und Anhängen einer Datenbank siehe Datenbank abkoppeln und anhängen, CREATE DATABASE, sp_attach_db und sp_detach_db.