Ekinlikler
31 Mar 23 - 2 Nis 23
En büyük SQL, Fabric ve Power BI öğrenme etkinliği. 31 Mart – 2 Nisan. 400 ABD doları tasarruf etmek için FABINSIDER kodunu kullanın.
Bugün kaydolunBu tarayıcı artık desteklenmiyor.
En son özelliklerden, güvenlik güncelleştirmelerinden ve teknik destekten faydalanmak için Microsoft Edge’e yükseltin.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Tam metin dizini oluşturma ve sürdürme, popülasyon (gezinmeolarak da bilinir) adlı bir işlem kullanarak dizini doldurmayı içerir.
Tam metin dizini aşağıdaki popülasyon türlerini destekler:
Tam popülasyon sırasında, bir tablonun veya dizine alınan görünümün tüm satırları için dizin girdileri oluşturulur. Tam metin dizininin tam popülasyonu, temel tablonun veya dizine alınan görünümün tüm satırları için dizin girdileri oluşturur.
Varsayılan olarak, SQL Server, yeni bir tam metin dizini oluşturulduğunda hemen tamamen doldurur.
Tam metin dizinini hemen doldurmadan oluşturmak için CREATE FULLTEXT INDEX
deyiminde CHANGE_TRACKING OFF, NO POPULATION
yan tümcesini belirtin.
CHANGE_TRACKING MANUAL
'i belirtmeniz halinde, START FULL POPULATION
veya START INCREMENTAL POPULATION
yan tümcesini kullanarak bir ALTER FULLTEXT INDEX
deyimi yürütmedikçe Full-Text Motoru yeni tam metin dizinini doldurmaz.
Aşağıdaki örnek, AdventureWorks
örnek veritabanının Production.Document
tablosunda bir tam metin dizini oluşturur. Bu örnek, ilk tam popülasyonu geciktirmek için WITH CHANGE_TRACKING OFF, NO POPULATION
kullanır.
CREATE UNIQUE INDEX ui_ukDoc ON Production.Document(DocumentID);
CREATE FULLTEXT CATALOG AW_Production_FTCat;
CREATE FULLTEXT INDEX ON Production.Document
(
Document --Full-text index column name
TYPE COLUMN FileExtension --Name of column that contains file type information
Language 1033 --1033 is LCID for the English language
)
KEY INDEX ui_ukDoc
ON AW_Production_FTCat
WITH CHANGE_TRACKING OFF, NO POPULATION;
GO
Aşağıdaki örnek, AdventureWorks
örnek veritabanının Production.Document
tablosunda tam bir popülasyon çalıştırır.
ALTER FULLTEXT INDEX ON Production.Document
START FULL POPULATION;
İsteğe bağlı olarak, ilk tam popülasyondan sonra tam metin dizinini korumak için değişiklik izlemeyi kullanabilirsiniz. SQL Server, son popülasyondan bu yana temel tabloda yapılan değişiklikleri izlediği bir tablo koruduğundan, değişiklik izlemeyle ilgili küçük bir ek yük vardır. Değişiklik izlemeyi kullandığınızda, SQL Server temel tablodaki veya dizine alınmış görünümdeki güncelleştirmeler, silmeler veya eklemeler tarafından değiştirilmiş satırların kaydını tutar. WRITETEXT ve UPDATETEXT aracılığıyla yapılan veri değişiklikleri tam metin dizinine yansıtılmaz ve değişiklik izleme ile alınmaz.
Not
zaman damgası sütunu içeren tablolar için değişiklik izleme yerine artımlı popülasyon kullanabilirsiniz.
Dizin oluşturma sırasında değişiklik izlemeyi etkinleştirdiğinizde, SQL Server yeni tam metin dizinini oluşturulduktan hemen sonra tamamen doldurur. Bundan sonra değişiklikler izlenir ve tam metin dizinine yayılır.
İki tür değişiklik izleme vardır:
CHANGE_TRACKING AUTO
seçeneği). Otomatik değişiklik izleme varsayılan davranıştır.CHANGE_TRACKING MANUAL
seçeneği).Değişiklik izleme türü, tam metin dizininin nasıl dolduruldığını aşağıdaki gibi belirler:
Otomatik popülasyon
Varsayılan olarak veya CHANGE_TRACKING AUTO
belirtirseniz, Full-Text Altyapısı tam metin dizininde otomatik popülasyon kullanır. İlk tam popülasyon tamamlandıktan sonra, temel tabloda veriler değiştirildiğinde değişiklikler izlenir ve izlenen değişiklikler otomatik olarak yayılır. Ancak, tam metin dizini arka planda güncelleştirilir, bu nedenle yayılan değişiklikler dizine hemen yansıtılamayabilir.
Otomatik popülasyon değişiklikleri izlemeye başlamak için
TAM METİN İNDİSİ ... CHANGE_TRACKING AUTO İLE
TAM METİN DİZİNİNİ ... OTOMATİK DEĞİŞİKLİK TAKİBİ OLARAK AYARLA
Örnek - Otomatik değişiklik izleme kullanmak için tam metin dizinini değiştirme
Aşağıdaki örnek, AdventureWorks
örnek veritabanının HumanResources.JobCandidate
tablosunun tam metin dizinini, değişiklik izlemeyi otomatik popülasyonla kullanacak şekilde değiştirir.
USE AdventureWorks;
GO
ALTER FULLTEXT INDEX ON HumanResources.JobCandidate SET CHANGE_TRACKING AUTO;
GO
El ile nüfus
CHANGE_TRACKING MANUEL olarak belirttiğinizde, Full-Text Altyapısı tam metin dizininde manuel doldurma kullanır. İlk tam popülasyon tamamlandıktan sonra, temel tabloda veriler değiştirildiğinde değişiklikler izlenir. Ancak, bir ALTER FULLTEXT INDEX ... START UPDATE POPULATION deyimi yürütmeden, tam metin dizinine yayılmaz. BU Transact-SQL deyimini düzenli aralıklarla çağırmak için SQL Server Agent'ı kullanabilirsiniz.
El ile nüfus değişiklikleri izlemeye başlamak için
TAM METİN İNDEKSİ ... DEĞİŞİKLİK TAKİBİ MANUEL OLARAK
FULLTEXT İNDEKSİ DEĞİŞTİR ... DEĞİŞİKLİK_TAKİBİNİ_MANUEL AYARLA
Örnek - El ile değişiklik izleme ile tam metin dizini oluşturma
Aşağıdaki örnek, AdventureWorks
örnek veritabanının HumanResources.JobCandidate
tablosunda el ile popülasyon ile değişiklik izlemeyi kullanacak bir tam metin dizini oluşturur.
USE AdventureWorks;
GO
CREATE UNIQUE INDEX ui_ukJobCand ON HumanResources.JobCandidate(JobCandidateID);
CREATE FULLTEXT CATALOG ft AS DEFAULT;
CREATE FULLTEXT INDEX ON HumanResources.JobCandidate(Resume)
KEY INDEX ui_ukJobCand
WITH CHANGE_TRACKING=MANUAL;
GO
Örneği - El ile popülasyon çalıştırma
Aşağıdaki örnek, AdventureWorks
örnek veritabanının HumanResources.JobCandidate
tablosunun değişiklik izlenen tam metin dizininde el ile bir popülasyon çalıştırır.
USE AdventureWorks;
GO
ALTER FULLTEXT INDEX ON HumanResources.JobCandidate START UPDATE POPULATION;
GO
TAM METİN İNDEKSİ ... DEĞİŞİKLİK TAKİBİ KAPALI
ALTER FULLTEXT INDEX ... SET CHANGE_TRACKING OFF
Artımlı popülasyon, tam metin dizinini el ile doldurmaya yönelik alternatif bir mekanizmadır. Bir tabloda yüksek hacimli eklemeler yaşanıyorsa, artımlı doldurma kullanmak, manuel doldurmaya göre daha verimli olabilir.
CHANGE_TRACKING MANUAL veya OFF olarak ayarlanmış bir tam metin dizini için artımlı bir popülasyon çalıştırabilirsiniz.
Artımlı popülasyon gereksinimi, dizine alınan tablonun zaman damgası veri türünde bir sütuna sahip olması gerektiğidir. zaman damgası sütunu yoksa artımlı popülasyon gerçekleştirilemez.
SQL Server, son popülasyondan bu yana değişen satırları tanımlamak için zaman damgası sütununu kullanır. Artımlı popülasyon, son popülasyondan sonra veya son popülasyon devam ederken eklenen, silinen veya değiştirilen satırlar için tam metin dizinini güncelleştirir. Popülasyonun sonunda, Full-Text Motoru yeni bir zaman etiketi değeri kaydeder. Bu değer, SQL Toplayıcısı'nın bulduğu en büyük zaman damgası değeridir. Bu değer, sonraki artımlı popülasyon başladığında kullanılır.
Bazı durumlarda, artımlı popülasyon isteği tam popülasyona neden olur.
Artımlı bir popülasyon başlatmak için START INCREMENTAL POPULATION
klozunu kullanarak bir ALTER FULLTEXT INDEX
deyimi çalıştırın.
Management Studio'daki Nesne Gezgini'nde sunucuyu genişletin.
Veritabanlarıgenişletin ve ardından tam metin dizinini içeren veritabanını genişletin.
tablolarıgenişletin.
Tam metin dizininin tanımlandığı tabloya sağ tıklayın, Full-Text dizini seçin ve Full-Text dizin bağlam menüsünde özellikler tıklayın. Bu, Tam metin dizini Özellikleri iletişim kutusunu açar.
Önemli
Temel tablo veya görünüm zaman damgası veri türünde bir sütun içermiyorsa artımlı popülasyon mümkün değildir.
Sayfa seç bölmesinde, Takvimlerseçin.
Temel tabloda veya tam metin dizininin dizinli görünümünde artımlı tablo popülasyonu başlatan bir SQL Server Aracısı işinin zamanlamalarını oluşturmak veya yönetmek için bu sayfayı kullanın.
Seçenekler şunlardır:
Yeni bir zamanlama oluşturmak için Yeni öğesine tıklayın.
Bu, bir zamanlama oluşturabileceğiniz Yeni Endeksleme Tablosu Zamanlaması Full-Text iletişim kutusunu açar. Zamanlamayı kaydetmek için Tamamöğesine tıklayın.
Önemli
bir SQL Server Aracısı işi (database_nameüzerinde Artımlı Tablo Popülasyonunu Başlat .table_name), Full-Text Dizin Özellikleri iletişim kutusundan çıktıktan sonra yeni bir zamanlamayla ilişkilendirilir. Aynı tam metin dizini için birden çok zamanlama oluşturursanız, hepsi aynı işi kullanır.
Var olan bir zamanlamayı değiştirmek için, var olan zamanlamayı seçin ve Düzenleöğesine tıklayın.
Bu, Yeni Full-Text İndeksleme Tablo Zamanlaması iletişim kutusunu açar; burada zamanlamayı değiştirebilirsiniz.
Not
SQL Server Agent işini değiştirme hakkında bilgi için bkz. İşi Değiştirme.
Var olan bir zamanlamayı kaldırmak için, var olan zamanlamayı seçin ve Silöğesine tıklayın.
Tamamseçin.
Gezinme sırasında bir hata oluştuğunda, Full-Text Arama gezinme günlüğü özelliği düz metin dosyası olan bir gezinme günlüğü oluşturur ve korur. Her gezinme günlüğü belirli bir tam metin kataloğuna karşılık gelir. Varsayılan olarak, belirli bir örneğin gezinme günlükleri (bu örnekte varsayılan örnek) %ProgramFiles%\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\LOG
klasörde bulunur.
Gezinme günlüğü dosyası aşağıdaki adlandırma düzenini izler:
SQLFT<DatabaseID><FullTextCatalogID>.LOG[<n>]
Gezinme günlüğü dosya adının değişken bölümleri şunlardır.
Örneğin, SQLFT0000500008.2
veritabanı kimliği = 5 ve tam metin katalog kimliği = 8 olan bir veritabanının gezinme günlüğü dosyasıdır. Dosya adının sonundaki 2, bu veritabanı/katalog çifti için iki gezinme günlüğü dosyası olduğunu gösterir.
sys.dm_fts_index_population (Transact-SQL)
Full-Text Arama Kullanmaya Başlama
Full-Text Dizin oluşturma ve yönetme
TAM METİN DİZİN OLUŞTUR (Transact-SQL)
TAM METİN DİZİNİNİ DEĞİŞTİR (Transact-SQL)
Ekinlikler
31 Mar 23 - 2 Nis 23
En büyük SQL, Fabric ve Power BI öğrenme etkinliği. 31 Mart – 2 Nisan. 400 ABD doları tasarruf etmek için FABINSIDER kodunu kullanın.
Bugün kaydolunEğitim
Öğrenme yolu
Use advance techniques in canvas apps to perform custom updates and optimization - Training
Use advance techniques in canvas apps to perform custom updates and optimization
Belgeler
Full-Text Katalogları Oluşturma ve Yönetme - SQL Server
Full-Text Katalogları Oluşturma ve Yönetme
Tam metin dizinleri oluşturma ve yönetme - SQL Server
Bu makalede, SQL Server'da tam metin dizinlerinin nasıl oluşturulacağı, doldurulacağı ve yönetileceğini açıklanmaktadır.
Full-Text Dizinlerinin Performansını Geliştirme - SQL Server
Full-Text Dizinlerinin Performansını Geliştirme
Full-Text Dizin oluşturma sorunlarını giderme - SQL Server
Full-Text Dizin oluşturma sorunlarını giderme