error Arşiv

Hata: Web Application Oluştururken Sayfa Görüntülenemiyor Mesajı

SharePoint farmınızda yeni bir web application yaratmak istediğinizde bazen işlem bir süre devam edip ardından “Sayfa görüntülenemiyor” hata mesajı verebilir. Kontrol ettiğinizde web applicationın sadece Central Administration’ın barındırıldığı sunucu üzerinde yaratılmış olduğunu, farmın diğer web front-end rolündeki sunucularında ise henüz yaratılmamış olduğunu gözlemlersiniz.

Ve bu durumdayken web application altında bir site collection yaratmak istediğinizde hata mesajı alırsınız.

Hatanın çözümü için IIS altında Central Administration uygulaması için shutdown limitini yükseltmeniz yeterli olacaktır. İşlem adımları şu şekilde;

  • IIS üzerinde Central Administration uygulamasının application pool’una gidin.
  • Sağ tıklayın ve “Advanced Settings” kısmına gelin.
  • “Process Model” bölümü içerisindeki “Shutdown time limit” alanı değerini yükseltin. Mesela 200-250 gibi bir değer verebilirsiniz.
  • IIS’i restart edin (iisreset)

 

Hata: Maximum allowed Correlation Filter have been reached or exceeded

Geliştirmesini yaptığınız workflowlarda yoğun kullanımlar sonrası aşağıdaki gibi bir hata ile karşılaşabilirsiniz.

Exception command text: [dbo].[PerformBatchOperations], exception = Microsoft.ServiceBus.Messaging.QuotaExceededException: The number of maximum allowed CorrelationFilter have been reached or exceeded. Number of filters:100001, Max number of filters allowed: 100000.

Hatadan da anlaşılacağı üzere bu bir sorundan ziyade bir limitlemeye takıldığınız anlamını içerir. Sorunun çözümü için aşağıdaki adımları uygulamanız yeterli olacaktır.

  • Service Bus Farm’ı stop edin. Bu işlem için “Stop-SBFarm” PowerShell komutunu kullanabilirsiniz.
  • Limiti yükseltin. Bu işlem için “Set-SBRuntimeSetting -Name MaximumNumberOfCorrelationFiltersPerTopic -Value 1000000” PowerShell komutunu kullanabilirsiniz.
  • Veritabanı yöneticinizi açın ve SBMessageContainer01 veritabanında bir sorgu çalıştırın “UPDATE TopicsTable SET MaxCorrelationFilters = 1000000
  • Service Bu Farm’ı yeniden başlatın. Bu işlem için “Start-SBFarm” PowerShell komutunu kullanabilirsiniz.

PowerShell komutları için hem Service Bus PowerShell ekranını hem de Workflow Manager PowerShell ekranını kullanabilirsiniz.

Hata: This item could not be crawled because the repository did not respond within the specified timeout period

SharePoint 2013 veya 2016 ortamlarınızda sağlıklı çalışan bir arama hizmetinde indexleme esnasında aşağıdaki gibi bir hata ile karşılaşabilirsiniz. Bu hata sonrasında crawl işlemi duracak ve diğer öğeler için devam etmeyecektir.

“This item could not be crawled because the repository did not respond within the specified timeout period. Try to crawl the repository at a later time, or increase the timeout value on the Proxy and Timeout page in search administration. You might also want to crawl this repository during off-peak usage times”

Hatanın  çözümü için aşağıdaki iki yolu deneyebilirsiniz;

  • Sunucu üzerinde Internet Explorer‘ı açın ve Internet Options > Connections > LAN settings bölümüne gidin. Burada “Automatically detect settings” checkboxındaki seçimi kaldırın. Ayrıca eğer internet erişimi vs için proxy kullanıyorsanız proxy ayarlarını da kapatın.
  • Central Administration > Manage Service Applications > Search Service Application > Farm Search Administration bölümüne gidin ve timeout sürelerini daha yüksek değerler ile değiştirin.

Bu adımlardan sonra yeniden crawl işlemini başlattığınızda sorun olmadan indexlemenin başladığını göreceksiniz.

Yeni Web Uygulaması Yaratırken Sayfa Görüntülenemiyor Hatası

Herhangi bir sorunu bulunmayan bir farmda bazen yeni bir web uygulaması taratırken “Page cannot be displayed” hatası alabilirsiniz. Bu hatanın ardından yapacağınız kontrolde web uygulaması için gerekli veritabanının yaratıldığı ancak IIS web applicationın sadece lokal sunucuda yaratılıp farmdaki diğer sunucularda yaratılmadığını gözlemlersiniz. Ve hatta lokal sunucuda da IIS altındaki dizinin içeriği muhtemelen boş olacaktır.

Söz konusu web uygulaması için yeni bir site koleksiyonu yaratmak istediğinizde ise hata mesajı ile karşılaşacaksınız.

Bu hatanın yüksek olasılıklı sebebi Central Administration web uygulaması için application pool shut down timeoutunun yeterli gelmemesidir. Varsayılan olarak bu süre 90 saniye ve yeterli gelmemesi durumunda işlem yarıda kesilerek amaçladığınız sonuca ulaşmanızı engelliyor. Sorunu aşmak için aşağıdaki adımları yerine getirebilirsiniz;

  • IIS üzerinde Central Administration application pool’unu bulun.
  • Sağ tıklayarak “Advanced Settings” bölümünü açın.
  • “Process Model” sekmesindeki shut down limiti 90 saniye yerine 200 veya 250 saniye olarak değiştirin.
  • IISRESET komutunu çalıştırın.
  • Yeniden web uygulaması yaratmayı deneyin.

 

Git Repo’dan Güncel Dosyaları Pull Yöntemiyle Alamamak

Git Repository’den güncel dosyaları elde etmek için pull işlemi yapmak istediğinizde yaşadığım bir sorunu ve çözümünü paylaşmak isterim. Her “pull” işleminden sonra aşağıdaki şekilde bir hata alıyordum.

“Your local changes to the following files would be overwritten by merge”

Visual Studio aracılığı yaptığınız pull işlemlerinde (arayüzden) aldığınız bu hatanın çözümü için projeniz adına git komut satırını açıp aşağıdaki şekilde komutları çalıştırmak dosyaların güncellenmesine yardımcı olacaktır.

 

Hata: Provider type not defined

SharePoint 2013 ortamında daha sık olmak üzere SharePoint 2016 ortamlarında da karşımıza çıkan bir hata ve çözümünden bahsetmek istiyorum. Normal şekilde çalışan bir SharePoint farmınızda bazen sadece tek bir uygulamayı (veya bazen birden fazla uygulamayı) etkiler şekilde aşağıdaki gibi bir hata mesajı ile karşılaşabilirsiniz.


SPSecurityContext: Get trust client failed with exception: System.IO.FileLoadException: Could not load file or assembly ‘Microsoft.IdentityModel.Extensions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=69c3241e6f0468ca’ or one of its dependencies. Provider type not defined. (Exception from HRESULT: 0x80090017)  File name: ‘Microsoft.IdentityModel.Extensions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=69c3241e6f0468ca’ —> System.Runtime.InteropServices.COMException (0x80090017): Provider type not defined. (Exception from HRESULT: 0x80090017)  at Microsoft.SharePoint.SPSecurityContext.GetTrustChannel()  at Microsoft.SharePoint.SPSecurityContext.SecurityTokenForContext(Uri context, Boolean bearerToken, SecurityToken onBehalfOf, SecurityToken actAs, SecurityToken delegateTo, SPRequestSecurityTokenProperties properties)

An exception occurred when trying to establish endpoint for context: Could not load file or assembly ‘Microsoft.IdentityModel.Extensions, Version=2.0.0.0, Culture=neutral, PublicKeyToken=69c3241e6f0468ca’ or one of its dependencies. Provider type not defined. (Exception from HRESULT: 0x80090017).


Hatanın temel nedeni uygulamanın application pool’u için kullandığınız hesabın “Impersonate a client after authentication” hakkını kaybetmiş olmasını söyleyebiliriz. Bu nedenle de çözümü bu hakkı yeniden vermek olacak. İşlemi gerçekleştirmek için aşağıdaki adımları takip edebilirsiniz.

  • Start > Administrative tools > Local Security Policy > Local Policies > User Right Assignments > Impersonate a client after authentication adresine gidin.
  • Application pool hesabını buraya ekleyin.
  • Sunucuyu yeniden başlatın.

Sorununuz çözülmüş olacaktır. Durumu anlık olarak kurtarmak için bir trick ise bu işlemi daha sonra yapmak üzere geçici olarak sunucuda iisreset komutunu çalıştırmış olmanız da uygulamanın yeniden çalışır hale gelmesini sağlayacaktır.

SharePoint 2013, .Net Framework 4.6

SharePoint 2013’ün güncel Windows Server sürümleri üzerinde (üzerinde .Net Framework 4.6 yüklü olarak bulunan veya manuel olarak yüklenmiş olan) kurulumu esnasında hemen hemen hepimizin yaşadığı, çözümü basit bir problem için kendi kişisel siteme de not bırakmak istedim 🙂

SharePoint kurulumu öncesinde mâlum, öncelikle prerequisite installer uygulamasını çalıştırarak ortamın kurulum için gerekli ön işletim sistemi bileşenlerini konfigüre etmesini ve gerekli olan eklentileri sunucuya indirerek kurmasını sağlıyoruz. Prerequisite installer’ın hiç problemsiz tamamlanmasından sonra bile .Net Framework 4.6’nın yüklü bulunduğu sistemlerde SharePoint 2016 için elinizde bulunan kurulum dosyalarını çalıştırdığınızda hata almanız mümkün. Alacağınız hata mesajı aşağıdaki gibi, bu ürünün .Net Framework 4.5 gerektirdiğini belirtiyor olacak. Halbuki, eğer dikkat ettiyseniz zaten prerequisite installer’ın ilk görevlerinden biri .Net Framework 4.5’i yüklemek ve sorunsuz tamamlanmıştı!

 

 

Bu durumun sorun olmaktan çıkması amacıyla Microsoft 1 yıl kadar önce bir KB makalesi paylaşmıştı zaten. https://support.microsoft.com/en-us/help/3087184/sharepoint-2013-or-project-server-2013-setup-error-if-the–net-framewo adresinden ulaşabilirsiniz bu makaleye.

Özetle yapılması gereken;

  • Eğer SharePoint kurulumunu iso gibi paketlenmiş bir yapıdan gerçekleştiriyorsanız öncelikle dosya içeriğini ayrı bir klasöre açın.
  • SharePoint Server için bu adresten srvsetup.dll’i indirin. Makalede SharePoint Foundation ve Project Server için olan versiyonları da var.
  • Zip içerisinden srvsetup.dll’i çıkartın ve SharePoint setup klasörünüz içerisindeki “updates” klasörü içerisine kopyalayın.
  • Şimdi kurulum exe’sini yeniden çalıştırabilirsiniz.

 

2010-to-2013-to-2016 SharePoint Migration

Uzun zamandır biliyoruz ki SharePoint ürününde en fazla bir üst versiyona içerik veritabanı yükseltme yöntemiyle yükseltme çalışması gerçekleştirebiliyoruz. Yani SharePoint 2010’dan SharePoint 2016’ya doğrudan yükseltme işlemini yapmak istiyorsak içerik veritabanı yükseltme yöntemini dolaylı yoldan kullanabiliyoruz. Bunun için önce 2010’daki içerik veritabanınızı SharePoint 2013’e, ardından da SharePoint 2013’e yükselttiğiniz veritabanını 2016’ya yükselterek işlemi sağlayabilirsiniz. Burada doğrudan yükseltmenin sağlanabilmesi için ise pek çok ücretli ürün bulunuyor. (ShareGate, Metalogix, vb)

Bu yazıda temel almak istediğim şey yükseltmenin nasıl yapılacağı değil. Bazen yükseltme yaptığınızı varsaydığınızda bile ilerleyen dönemde yarım kalmış operasyonlar sebebiyle sorun yaşayabiliyorsunuz. Örnek bir senaryo üzerinde çalışalım;

Senaryo: SharePoint 2010 olan uygulamamızı içerik veritabanı yükseltme yöntemini kullanarak SharePoint 2013’e yükselttik. Aradan birkaç yıl geçti ve şimdi de SharePoint 2016’ya yükseltme yapmayı deniyoruz.

Bu senaryo için karşılaşabileceğiniz bir senaryo olarak Mount-SPContentDatabase komutu sonrası aşağıdaki hata mesajını görüyor olabilirsiniz.