1. Anasayfa
  2. SQL Server

SQL Server Analysis Services HTTP/XMLA Yapılandırması


0

Bu yazımızda SSAS’in IIS üzerinden http protokolü ile XMLA sentaksında sorgulanabilmesi için yapılması gereken yapılandırma üzerinde duracağız. Bu yapılandırma sayesinde Microstrategy v.b. gibi küplere sadece XMLA sözdizimi ile http protokolü üzerinden bağlanıp sorgulama yapabilen uygulamalar küplerinize bağlanabiliyor olacaktır.

SQL 2005’ten beri var olan bu özelliği yapılandırırken bazen sorun yaşanabiliyor, bazı önemli noktalar üzerinde durulmasında fayda bulunuyor. Bu yazıda SQL Server 2012 SP 1 üzerinde yapılan bu yapılandırma SQL Server sürümlerinde farklılık göstermemektedir.

Ön Gereksinimler

  • IIS Kurulmuş olmalı
  • SSAS Kurulmuş olmalı ve en azından bir adet erişilebilir küp içermelidir
  • SQL Server SP 1 Feature Pack içerisindeki SQL_AS_OLEDB özelliği hem 32 bit hem 64 bit olarak kurulmalı

Yapılandırma

Burada belirtilen yapılandırma IIS ve OLAP küplerinin aynı sunucu üzerinde olduğu ve yapılandırmanın buna göre yapılacağı varsayılmıştır. XMLA sorgularına yanıt verecek olan IIS sunucusunun mümkünse aynı sunucu üzerinde olması birçok bakım maliyeti ile network risklerini baştan garantiye almak anlamına geleceği için aynı sunucu üzerinde olmasında büyük fayda bulunmaktadır. IIS’in başka bir sunucu üzerinde olması durumunda IIS sunucusu ile OLAP sunucusu arasında gerekli Kerberos yapılandırmalarının yapılması gerekmektedir ki Windows Authentication ile gelen kullanıcı OLAP kübü tarafından tanınabilsin ve gerekli güvenlik kısıtlarını çalıştırabilsin. Kerberos yapılandırmalarının nasıl yapılabileceği konusunda daha önce yayınlanmış olan aşağıdaki linkte yer alan makalemiz fikir verecektir.

https://www.mshowto.org/ssas-tabular-mode-uzerinde-customdata-ve-username-fonksiyonlarinin-guvenlige-etkisi.html

Öncelikle tüm yapılandırma sunucu üzerinde yapılmalıdır. Sunucunuza IIS’i varsayılan ayarlarıyla yükledikten sonra aşağıdaki şekilde ISAPI eklentisi aktif hale getirilmelidir.


Resim-1

Bu aşamadan sonra SQL Server üzerinde yer alan %programfiles%\Microsoft SQL Server\MSAS11.MSSQLSERVER\OLAP\bin\isapi klasöründeki tüm dosyaları kopyalanıp C:\inetpub\wwwroot yolu üzerine olap isminde bir klasör oluşturarak kopyalanan dosyalar yapıştırılmalıdır.

NOT: Burada belirtilenden farklı bir klasörü de IIS’de yol olarak gösterilebilir yalnız oluşturulan yolda ve IIS üzerindeki erişim URL’sinde boşluk karakterine yer verilmemelidir.


Resim-2

Sıradaki işlem olarak msmdpump.ini dosyasının içeriği aşağıdaki şeklide düzenlenmelidir.

<ConfigurationSettings>

    <ServerName>localhost</ServerName>

    <SessionTimeout>3600</SessionTimeout>

    <ConnectionPoolSize>100</ConnectionPoolSize>

</ConfigurationSettings>

Bu işlemden sonra IIS üzerinde OLAP küpleri için kullanılacak bir Application Pool oluşturulmalıdır. Oluşturmak için IIS üzerinde aşağıdaki resimlerde belirtilen yol izlenebilir.


Resim-3

Application Pool oluşturulduktan sonra hizmet verecek internet uygulamasının da yapılandırılması gerekmektedir. Önceki işlemler başarılı bir şekilde tamamlandığında varsayılan web sitesinin altına OLAP klasörü rahatlıkla görülebilir. Bu klasörün üzerine sağ tıklayarak uygulamaya dönüştürüp Application Pool olarak da daha önce tanımlanmış olan OLAP seçilmelidir. Test settings butonuna tıklanarak ilgili fiziksel klasöre erişimin başarılı bir şekilde sağlandığından da emin olmak gerekmektedir.


Resim-4


Resim-5

Sıradaki aşama olarak msmdpump.dll dosyasının ISAPI eklentisi olarak tanıtılması aşamasıdır. Bu aşamada aşağıdaki yol izlenerek gerekli tanım yapılır. Öncelikle IIS üzerinde Http Handler özelliğinin içine girilir, ardından Add Script Map diyerek aşağıda resimde görüldüğü şekilde doldurulur.

Request Path : *.dll

Executable: C:\inetpub\wwwroot\olap\msmdpump.dll <<daha önce kopyaladığımız dosyanın yolu>>

Name : OLAP


Resim-6

Reguest Restrictions butonuna tıklanarak kısıtlamalar ile ilgili ayarlar yapılmalıdır. Tüm bu işlemler yukarıdaki resimde görüldüğü sırada gerçekleştirilebilir.

Ardından IIS’in genel ayarlarından ISAPI kısıtlamaları ile ilgili son kontrol ve ayarı yaptıktan sonra işlemimiz tamamlanmış olacaktır.


Resim-7


Resim-8

Yukarıdaki resimde dikkat edildiği üzere açıklama kısmına OLAP yazıldı ve Allow Extension path to execute seçeneği de seçili durumda olacak şekilde ayarlanmıştır.

En son olarak IISRESET komutu çalıştırılarak IIS’in yeniden başlatılması tavsiye edilmektedir.


Resim-9

Tüm bu işlemlerin sonunda sunucu üzerindeyken http://localhost/olap/msmdpump.dll adresine girildiğinde aşağıdaki gibi bir ekranın gelmesi gerekmektedir.


Resim-10

Yukarıdaki gibi bir ekranla karşılaşılmamış olabilir, aşağıdaki gibi bir ekran ile de karşılaşılmış olabilir. Aslında aşağıdaki ekranın anlamı geçerli bir XMLA sorgusu gönderilmediği ve uygulamanın bunu işleyemediğidir fakat event log’larında ve ekranda bununla ilgili bir açıklama bulunmadığı için yanıltıcı olabilmektedir.


Resim-11

Yukarıdaki ekranla karşılaştığınızda Event Log ekranını kontrol ediniz ve aşağıdaki gibi bir Information kaydı görüyorsanız yapılandırmanızın doğru olduğundan emin olabilirsiniz.

<Event xmlns=”http://schemas.microsoft.com/win/2004/08/events/event“>

<System>

<Provider
Name=”MSOLAP ISAPI Extension: \\?\C:\inetpub\wwwroot\olap\msmdpump.dll” />

<EventID Qualifiers=”16653“>10</EventID>

<Level>4</Level>

<Task>269</Task>

<Keywords>0x80000000000000</Keywords>

<TimeCreated
SystemTime=”2014-09-11T11:35:31.000000000Z” />

<EventRecordID>75577</EventRecordID>

<Channel>Application</Channel>

<Computer>OLAPSERVER.domain.local</Computer>

<Security />

</System>

<EventData>

<Data />

</EventData>

</Event>

The description for Event ID 10 from source MSOLAP ISAPI Extension: \\?\C:\inetpub\wwwroot\olap\msmdpump.dll cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.

If the event originated on another computer, the display information had to be saved with the event.

The following information was included with the event:

Herhangi bir client uygulamasından (Excel v.b.) gerekli sorgulama gerçekleştirildiğinde çalıştığı gözlemlenebilir.


Resim-12

Sonuç

Sonuç olarak bir OLAP küpüne http protokolü ile erişebilmek için hangi yapılandırmaların yapılması gerektiği, hangi noktalara dikkat edilmesi gerektiği konusunda gerekli bilgilendirme ve yapılandırmanın nasıl yapılabileceği konusunda ayrıntılar verilmeye çalışılmıştır. Microstrategy gibi herhangi bir üçüncü parti uygulama ile entegrasyonlarda bu yöntemi rahatlıkla kullanabilir, verilerinizi http üzerinden servis edebilirsiniz.

En çok uğraştırabilecek noktalardan birisi olan yapılandırmanın sonunda çağırılan URL’de 500 Internal Server Error hatası ile birlikte event log içerisinde özel bir Information mesajı da görülürse bunun bir hata olmadığı tam aksine URL olarak çağırıldığında geçerli bir XMLA sorgusu gönderilmediği bu yüzden bu hatanın alındığı anlamını taşımaktadır. Bu durumda ilgili URL herhangi bir client (SQL Server Management Studio, Excel v.s.) uygulamasından çağırılırsa çalıştığı görülebilir.

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

Configure HTTP Access to Analysis Services on Internet Information Services (IIS) 7.0

www.mshowto.org

Bu İçeriğe Tepkin Ne Oldu?
  • 0
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir