Tam metin kataloglarını ve dizinlerini yedekleme ve geri yükleme

Şunlar için geçerlidir: SQL Server

Bu makale, SQL Server Database Engine'de oluşturulan tam metin indekslerin nasıl yedeklenip geri yükleneceğini açıklar. Tam metin katalog mantıklı bir kavramdır ve bir dosya grubunda yer almaz. Bu nedenle, tam metin kataloğu yedeklemek için, kataloğa ait tam metin bir indeks içeren her dosya grubunu belirlemeniz gerekir. Ardından bu dosya gruplarını birer birer yedeklemeniz gerekir.

Önemli

SQL Server 2005 (9.x) veritabanını güncellerken tam metin katalogları içe aktarabilirsiniz. İçeri aktarılan her tam metin kataloğu kendi dosya grubundaki bir veritabanı dosyasıdır. İçeri aktarılan kataloğu yedeklemek için dosya grubunu SQL Server 2005 (9.x) Books Online'da yedekleyin.

Tam metin kataloğunun tam metin dizinlerini yedekleme

Tam metin kataloğunun tam metin dizinlerini bulma

Tam metin indekslerinin özelliklerini almak için, sys.fulltext_indexes ve sys.fulltext_catalogs katalog görünümlerinden sütunları seçen aşağıdaki SELECT ifadesini kullanın.

USE AdventureWorks2025;
GO

DECLARE @TableID AS INT;

SET @TableID = (SELECT OBJECT_ID('AdventureWorks2025.Production.Product'));

SELECT object_name(@TableID),
       i.is_enabled,
       i.change_tracking_state,
       i.has_crawl_completed,
       i.crawl_type,
       c.name AS fulltext_catalog_name
FROM sys.fulltext_indexes AS i, sys.fulltext_catalogs AS c
WHERE i.fulltext_catalog_id = c.fulltext_catalog_id;
GO

Tam metin dizini içeren dosya grubunu veya dosyayı bulma

Tam metin dizini oluşturulduğunda, aşağıdaki konumlardan birine yerleştirilir:

  • Kullanıcı tarafından belirtilen bir dosya grubu.
  • Bölümlenmemiş bir tablo için temel tablo veya görünümle aynı dosya grubu.
  • Bölümlenmiş tablo için birincil dosya grubu.

Uyarı

Tam metin dizini oluşturma hakkında bilgi için, bkz. Tam metin dizinleri oluşturma ve yönetme ve CREATE FULLTEXT INDEX.

Bir tablo veya görünüm üzerindeki tam metin dizininin dosya grubunu bulmak için aşağıdaki sorguyu kullanın; burada object_name, tablonun veya görünümün adıdır:

SELECT name
FROM sys.filegroups AS f, sys.fulltext_indexes AS i
WHERE f.data_space_id = i.data_space_id
      AND i.object_id = object_id('object_name');

Tam metin dizinleri içeren dosya gruplarını yedekleme

Tam metin kataloğunun indekslerini içeren dosya gruplarını bulduktan sonra, her dosya grubunu yedekler. Yedekleme işlemi sırasında tam metin katalogları bırakılamayabilir veya eklenemez.

Bir dosya grubunun ilk yedeklemesi tam bir dosya yedeklemesi olmalıdır. Bir dosya grubu için tam bir dosya yedeklemesi oluşturduktan sonra, tam dosya yedeklemesine dayalı olarak bir veya daha fazla farklı dosya yedeklemesi oluşturarak sadece dosya grubundaki değişiklikleri yedekleme yapabilirsiniz.

Dosyaları ve dosya gruplarını yedekleme

Tam metin dizinini geri yükleme

Yedeklenmiş bir dosya grubunun geri yüklemesi, tam metin indeks dosyalarını ve dosya grubundaki diğer dosyaları geri getirir. Varsayılan olarak, dosya grubu yedeklendiği disk konumuna geri yüklenir.

Eğer tam metin indeksli bir tablo çevrimçiyse ve yedekleme oluşturulduğunda bir nüfus çalışıyorsa, nüfus geri yüklemeden sonra devam eder.

Dosya grubunu geri yükleme