Aracılığıyla paylaş


sp_fulltext_catalog (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen Örneği

Tam metin bir katalog oluşturup bırakır, katalog için indeksleme işlemini başlatır ve durdurur. Her veritabanı için birden fazla tam metin katalog oluşturulabilir.

Önemli

Bu özellik, SQL Server'ın gelecek bir sürümünde kaldırılacaktır. Bu özelliği yeni geliştirme çalışmalarında kullanmaktan kaçının ve şu anda bu özelliği kullanan uygulamaları değiştirmeyi planlayın. Bunun yerine CREATE FULL TEXT CATALOG, ALTER FULL TEXT CATALOG ve DROP FULL TEXT CATALOG kullanın.

Transact-SQL söz dizimi kuralları

Sözdizimi

sp_fulltext_catalog
    [ @ftcat = ] N'ftcat'
    , [ @action = ] 'action'
    [ , [ @path = ] N'path' ]
[ ; ]

Arguments

[ @ftcat = ] N'ftcat'

Tam metin kataloğunun adı. Katalog adları her veritabanı için benzersiz olmalıdır. @ftcatsysname'dir, varsayılan yoktur.

[ @action = ] 'aksiyon'

Gerçekleştirilecek eylem. @actionvarchar(20)'dir ve bu değerlerden biri olabilir.

Uyarı

Tam metin kataloglar oluşturulabilir, bırakılabilir ve gerektiğinde değiştirilebilir. Ancak, aynı anda birden fazla katalogda şema değişiklikleri yapmaktan kaçının. Bu işlemler, önerilen yöntem olan depolanmış prosedür kullanılarak gerçekleştirilebilir sp_fulltext_table .

Değer Description
create Dosya sisteminde boş, yeni bir tam metin katalog oluşturur ve sysfulltextcatalogs ile varsa @path değerlerle ilgili bir satır ekler. @ftcat veritabanı içinde benzersiz olmalıdır.
bırakmak @ftcat dosya sisteminden çıkarıp ilgili satırı silerek sysfulltextcatalogskaldırılır. Bu işlem katalogda bir veya daha fazla tablo için indeksler varsa başarısız olur. sp_fulltext_table '<table_name>', 'drop' katalogdan tabloları çıkarmak için çalıştırılmalıdır.

Katalog yoksa hata görüntülenir.
start_incremental @ftcat için artan bir popülasyon başlatıyor. Katalog yoksa hata görüntülenir. Tam metin indeks popülasyonu zaten aktifse, bir uyarı gösterilir ancak popülasyon eylemi gerçekleşmez. Artan nüfus ile sadece değişen satırlar tam metin indeksleme için alınır, tablisada tam metin indekslenen bir zaman damgası sütunu varsa.
start_full @ftcat için tam bir nüfus başlar. Bu tam metin katalogla ilişkili her tablonun her satırı, zaten indekslenmiş olsalar bile tam metin indeksleme için alınır.
durmak @ftcat için bir indeks popülasyonu durdurur. Katalog yoksa hata görüntülenir. Nüfus zaten durdurulmuşsa uyarı gösterilmez.
Yeni -den inşa @ftcat yeniden inşa ediyor. Bir katalog yeniden oluşturulduğunda, mevcut katalog silinir ve yerine yeni bir katalog oluşturulur. Tam metin indeksleme referanslarına sahip tüm tablolar yeni katalogla ilişkilendirilir. Yeniden yapılandırma, veritabanı sistem tablolarındaki tam metin meta verileri sıfırlar.

Değişiklik takibi KAPALıysa, yeniden oluşturma yeni oluşturulan tam metin kataloğun yeniden nüfuslanmasına neden olmaz. Bu durumda, yeniden nüfuslandırmak için sp_fulltext_catalog veya start_incremental eylemle icra edilir.

[ @path = ] N'path'

Bir yaratma eylemi için kök dizini (tam fiziksel yol değil). @pathnvarchar(100)'dür ve NULLvarsayılan olarak , kurulumda belirtilen varsayılan konumun kullanıldığını gösterir.

Bu, FTData dizindeki MSSQL alt dizindir; örneğin, C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\FTData. Belirtilen kök dizin, aynı bilgisayardaki bir sürücüde bulunmalı, sadece sürücü harfinden fazlasından oluşmamalı ve göreli bir yol olamaz. Ağ sürücüleri, çıkarılabilir sürücüler, disketler ve UNC yolları desteklenmiyor. Tam metin kataloglar, SQL Server örneğiyle ilişkili yerel bir sabit diskte oluşturulmalıdır.

@path ancak @actionoluşturulduğunda geçerlidir. Yaratma dışındaki eylemler için (durdurma, yeniden inşa etme vb.) @path ya da NULL çıkarılmalıdır.

Eğer SQL Server örneği bir kümedeki sanal sunucuysa, belirtilen katalog dizini, SQL Server kaynağının bağlı olduğu paylaşılan bir disk sürücüsünde bulunmalıdır. Eğer @path belirtilmemişse, varsayılan katalog dizininin konumu paylaşılan disk sürücüsünde, sanal sunucu kurulduğunda belirtilen dizindedir.

Dönüş kodu değerleri

0 (başarı) veya 1 (başarısızlık).

Sonuç kümesi

Yok.

Açıklamalar

start_full eylemi, @ftcat'daki tam metin verilerinin tam bir anlık görüntüsü oluşturmak için kullanılır. start_incremental eylemi, veritabanındaki yalnızca değiştirilmiş satırları yeniden indekslemek için kullanılır. Artan popülasyon yalnızca tabloda tip zaman damgasının bir sütunu varsa uygulanabilir. Tam metin katalogdaki bir tabloda zaman damgası sütunu bulunmuyorsa, tablo tam bir popülasyona uğrar.

Tam metin katalog ve indeks verileri, tam metin katalog dizininde oluşturulan dosyalarda saklanır. Tam metin katalog dizini, @path'de belirtilen dizinin alt dizini olarak oluşturulur veya eğer belirtilmemişse sunucunun varsayılan tam metin katalog dizininde @path . Tam metin katalog dizininin adı, sunucuda benzersiz olmasını garanti eden şekilde oluşturulmuştur. Bu nedenle, bir sunucudaki tüm tam metin katalog dizinleri aynı yolu paylaşabilir.

Permissions

Arayan kişinin db_owner rolünün üyesi olması şarttır. İstenen eyleme bağlı olarak, arayan kişi hedef tam metin katalogda ALTER veya CONTROL izinlerinden mahrum edilmemelidir (ki db_owner var).

Örnekler

A. Tam metin bir katalog oluşturun

Bu örnek, Cat_Desc veritabanında boş bir tam metin katalog oluşturur, AdventureWorks2025, oluşturur.

USE AdventureWorks2022;
GO

EXECUTE sp_fulltext_catalog 'Cat_Desc', 'create';
GO

B. Tam metin kataloğunu yeniden oluştur

Bu örnek, veritabanında Cat_Desc mevcut tam metin kataloğunu, AdventureWorks2025, yeniden oluşturur.

USE AdventureWorks2022;
GO

EXECUTE sp_fulltext_catalog 'Cat_Desc', 'rebuild';
GO

C. Tam metin kataloğunun nüfusunu başlatın

Bu örnek, kataloğun Cat_Desc tam bir popülasyonunu başlatır.

USE AdventureWorks2022;
GO

EXECUTE sp_fulltext_catalog 'Cat_Desc', 'start_full';
GO

D. Tam metin kataloğunun nüfusunu durdurun

Bu örnek, kataloğun Cat_Desc nüfusunu durdurur.

USE AdventureWorks2022;
GO

EXECUTE sp_fulltext_catalog 'Cat_Desc', 'stop';
GO

E. Tam metin kataloğu kaldırın

Bu örnek kataloğu Cat_Desc kaldırır.

USE AdventureWorks2022;
GO

EXECUTE sp_fulltext_catalog 'Cat_Desc', 'drop';
GO