Kinect okullarımızda, hastahanelerimizde, çocuk yuvalarında yakında her yerde olacak. Herkese daha etkileşimli bir gerçeklik sunacak!
Bu konuda uzun uzun yazardım. Fakat Sir Ken Robinson fevkalede anlatmış! Buyrun.
Merhaba arkadaşlar bilindiği üzere Microsoft SharePoint Server ürününde (MOSS 2007 de dahil) State Service HTTP Requestleri (istekleri) arasında geçici veri saklamak isteyen SharePoint komponentlarının kullandığı bir servistir. Özellikle InfoPath Forms Services,SharePoint Server 2010 Chart Web Partlar gibi.
Bugün "A State Service Application has no database defined" hatası üzerinde duracağız.
Bu hatadan şunu anlıyoruz State Service 'in kullandığı veritabanı oluşturulmadı. Detaylı ele alacak olursak;
SharePoint kurulumu yapılırken temel olarak State Service otomatik olarak yapılandırılır. Bu demek oluyor ki State Service HTTP istekleri arasında geçici veri tutmak için otomatik olarak yapılandırıldı fakat sizin bu HTTP istekleri arasında tutacağınız veriniz büyük olacak.
SharePoint bunu nasıl mı biliyor? Şöyle ki Visio,InfoPath,Chart feature(özellik)lerini aktif ettiğiniz için SharePoint artık State tarafında büyük form ve form dataları Visio Diagramları gibi verileri tutacağınızı düşünerek sizden SharePoint State Service için bu büyük verileri saklayabileceği ve HTTP İstekleri arasındaki State (Durumu) koruyabileceği bir veritabanı eklemenizi beklemektedir. Ve Usage and Health Data Collection Service 'in topladığı veriler neticesinde Health Analyzer kısmında Avalibility kategorisindeki "A State Service Application has no database defined" hatasını görüyor oluruz.
Bu kadar büyük bir problemi çözmenin tek yolu tam olarak SharePoint Power Management Shell üzerinde 2 satır kod yazmak. Burada hiciv yapmıyorum gerçekten 2 satır!
Şöyleki;
Yabacağımız işlem öncelikle State Service'ın o farm için o an çalışan instance (örneğine) erişmek ve daha sonra bu State Service için bir veritabanı oluşturmak .
Bunun için;
- Start -> All Programs -> Microsoft SharePoint 2010 Products -> SharePoint 2010 Management Shell açılır. SharePoint 2010 Management Shell Windows Power Shell'in SharePoint için özelleştirilmiş bir halidir.
- Shell üzerinde State Service 'ın o an çalışan instance 'ına ulaşmak ve bu instance'ı bir değişkende turmak gerekir. Değişkenimizin adı StateSvc olsun ve SharePoint Shell komutu olan Get-SPStateServiceApplication komutu ile State Service Instance bilgilerine ulaşalım.
PS C:\> $StateSvc = Get-SPStateServiceApplication
- Bunun akabinde bir başka SharePoint Shell komutu olan New-SPStateServiceDatabase komutunu kullanarak State Service için veritabanımızı ekleyelim
PS C:\> New-SPStateServiceDatabase -Name "HER HANGI BIR ISIM" -ServiceApplication $StateSvc
- Hepsi bu kadar! Komutları sırası ile çalıştırımca alacağız shell çıktıları aşağıdaki görselde yer almaktadır. Ayrıca New-SPStateServiceDatabase komutunu ben "StateServiceDatabase" ismi ile çalıştırdım. SQL Server tarafınıda gösteren bir görsel aşağıdadır.
- Get-SPStateServiceApplication komutu ile ilgili daha fazlası için tıklayın
- New-SPStateServiceDatabase komutu ile ilgili daha fazlası için tıklayın