Şu senaryoyu inceleyin. Veritabanı sunucusu olarak Microsoft SQL Server 2005 kullanılan bir sunucu grubu dağıtımında Microsoft Office SharePoint Portal Server 2003 veya Microsoft Office SharePoint Server 2007 çalıştırıyorsunuz. SQL Server Management Studio'daki Maintenance Plan Wizard'ı kullanarak, dizinleri yeniden oluşturan bakım planları oluşturursunuz.
Bu senaryoda, SharePoint Portal Server 2003'te portal uyarıları veya SharePoint Server 2007'de arama performansı ile ilgili sorunlarla karşılaşırsınız. Karşılaşabileceğiniz belirtilerle ilgili daha fazla bilgi için, "Daha Fazla Bilgi" bölümüne bakın.
Bu sorunlar, dizinler yeniden oluşturulduktan sonra Rebuild index (Dizini yeniden oluştur) görevinin SharePoint Portal Server 2003 veya SharePoint Server 2007 tarafından kullanılan dizinlerde ayarlanmış tüm seçenekleri geri yüklememesi nedeniyle oluşur. Dizinler yeniden oluşturulduktan sonra
Ignore duplicate values (Yinelenen değerleri yoksay) seçeneği geçersiz kılınır.
Not Bu sorun SQL Server 2005 Service Pack 2'de düzeltilmiştir. Rebuild Index (Dizini Yeniden Oluştur) görevini yeniden etkinleştirmeniz gerekiyorsa, SQL Server'ı güncelleştirin.
Bu sorunları gidermek için, (Dizini Yeniden Oluştur) görevini içeren bakım planını devre dışı bırakın. Ardından, SQL Server Management Studio'yu kullanarak, aşağıdaki tabloda belirtilen dizinlerden durumunuza uygun olanları bulun. Her dizin için,
Ignore duplicate values (Yinelenen değerleri yoksay) onay kutusunun işaretli olduğunu doğrulayın.
Not Dizin ayarlarını değiştirmeden önce aşağıdaki onay kutularından birini tıklatıp geçici olarak temizlemeniz gerekebilir:
- Index Properties (Dizin Özellikleri) sayfasındaki General (Genel) sekmesinde yer alan Unique (Benzersiz) onay kutusu
- Options (Seçenekler) sayfasındaki Ignore duplicate values (Yinelenen değerleri yoksay) onay kutusu
Dizin ayarlarını değiştirdikten sonra,
Unique (Benzersiz) onay kutusunu tıklatıp yeniden seçtiğinizden emin olun.
SharePoint Portal Server 2003
Bu tabloyu kapaBu tabloyu aç
| Veritabanı | Tablo adı | Dizin adı |
|---|
| _Serv | Srch_docspecialprops | IX_CatIdDocId |
| _Serv | Sub_PropVersions | IX_srch_propVersions_non_Clustered |
| _Serv | SupportedProps | IX_Unique_Uri |
| _Serv | URIHash | IX_URIs |
| _Prof | ProfileImport_copy | IX_ProfileImport_copy |
SharePoint Server 2007
Bu tabloyu kapaBu tabloyu aç
| Veritabanı | Tablo adı | Dizin adı |
|---|
| Search | MSSAlertDocHistory | IX_AlertDocHistory |
| Search | MSSAnchorChangeLog | IX_MSSAnchorChangeLog |
| Search | MSSAnchorPendingChangeLog | IX_MSSAnchorPendingChangeLog |
| Search | MSSCrawlChangedSourceDocs | IX_MSSCrawlChangedSourceDocs |
| Search | MSSCrawlChangedTargetDocs | IX_MSSCrawlChangedTargetDocs |
| Search | MSSCrawledPropSamples | IX_MSSCrawledPropSamplesByDocid |
| Search | MSSCrawlErrorList | IX_MSSCrawlErrorList_hrResult |
| Search | MSSCrawlHostList | IX_MSSCrawlHostList_Name |
| Search | MSSCrawlQueue | IX_MSSCrawlQueue |
| Search | MSSDocSdids | IX_MSSDocSdids |
Bakım planını yeniden etkinleştirmeden önce, Rebuild Index (Dizini Yeniden Oluştur) görevini silin veya bir Execute Transact-SQL Statement (Transact-SQL Deyimi Yürüt) göreviyle değiştirin. Execute Transact-SQL Statement (Transact-SQL Deyimi Yürüt) görevi dizinlerin tüm seçeneklerini geri yüklemelidir.
Bu dizinlerde "Ignore Duplicate Values" (Yinelenen Değerleri Yoksay) seçeneğinin doğru şekilde ayarlanmış olup olmadığını belirlemek üzere aşağıdaki SQL sorgularını çalıştırabilirsiniz.
- SharePoint Server 2007'de, aşağıdaki sorguyu ilgili arama veritabanında çalıştırın. Örneğin bu sorguyu SharedServices1_Search_DB veritabanında çalıştırın.
select [name], [type_desc], [is_unique], [ignore_dup_key]
from sys.indexes
where name in ('IX_MSSAnchorChangeLog', 'IX_MSSAnchorPendingChangeLog', 'IX_MSSCrawlChangedSourceDocs',
'IX_MSSCrawlChangedTargetDocs','IX_MSSCrawledPropSamplesByDocid','IX_MSSCrawlErrorList_hrResult',
'IX_MSSCrawlHostList_Name','IX_MSSCrawlQueue','IX_MSSDocSdids')
- SharePoint Portal Server 2003'te, aşağıdaki sorguyu _SERV veritabanından çalıştırın.
select [name], [type_desc], [is_unique], [ignore_dup_key]
from sys.indexes
where name in ('IX_CatIdDocId', 'IX_srch_propVersions_non_Clustered', 'IX_Unique_Uri', 'IX_URIs', 'IX_ProfileImport_copy')
Her dizinin
Ignore_duplicate_key değeri 1 olmalıdır. Sunucu,
Ignore_duplicate_key değeri olarak 0 (sıfır) bildirirse, bu sorunu yaşıyorsunuz demektir.
SharePoint Portal Server 2003'te karşılaştığınız belirtiler
SharePoint Portal Server 2003 çalıştırıyorsanız, portal sitesindeki öğeler değiştirildiğinde kullanıcılara bildirilmez. Ayrıca şu belirtilerle karşılaşabilirsiniz:
- Kullanıcılar ileti oluşturulduğunu onaylayan bir e-posta alır. Ancak daha sonra öğeler değiştirildiğinde kullanıcılar e-posta iletileri almaz.
- Spsnotificationservice.log dosyası aşağıdaki hata iletisini içerir:
Exception information:
Microsoft.SharePoint.Portal.Alerts.NotificationDataTemporarilyUnavailableException: Failed to generate notification:The DocSpecialProps data may not be ready yet. Retry.
- _Serv veritabanındaki Dbo.srch_docspecialprops tablosu boştur.
- Gezinme sırasında alınan bir SQL Profiler (SQL Profil Oluşturucu) izlemesi aşağıdaki SQL Server 2601 hata iletisini içerir:
"Cannot insert duplicate key row in object"
Bu hata iletisi, Srch_docspecialprops tablosuna veri eklendiğinde oluşur.
SharePoint Server 2007'de karşılaştığınız belirtiler
SharePoint Server 2007 çalıştırıyorsanız, dizin oluşturma durumu
Crawling (Gezinme) olarak kalır.
Dizinler sıfırlanırsa ve tam gezinme başlatılmışsa, aşağıdaki belirtilerle de karşılaşabilirsiniz:
- MSSearch.exe işlemi tarafından açılan tanıtıcı sayısı artar.
- SQL Server çalışan bilgisayara TCP bağlantısı sayısı artar.
- _Serv veritabanındaki Dbo.srch_docspecialprops tablosu boştur.
- Indexer (Dizin Oluşturucu) rolüyle yapılandırılmış sunucunun Uls günlük dosyalarına aşağıdaki hata iletisi kaydedilir:
SqlCrawl::ExecuteCommand fails Error 0x80040e2f
Dizinler sıfırlanmazsa ve tam gezinme başlatılmışsa, Indexer (Dizin Oluşturucu) rolüyle yapılandırılmış sunucunun Uls günlük dosyalarına aşağıdaki hata iletisi kaydedilir:
CGathererQueueManager::FlushQueue failed with recoverable error 0x80040e2f CGathererFilterSink::CommitLinks : pGatherAddLink->AddLinkComplete error=0x80040e2f