Bir DBA'nın SSAS hakkında bilmesi gerekenler nelerdir?


40

SSAS'ın ticari yönünü kapsayan çok fazla materyal gördüm, ancak yönetim ve yönetimin önemli yönleri hakkında pek bir şey görmedim.

Bir SQL Server Analysis Services örneğini yönetme bakış açısından, çalışan bir DBA'nın SSAS hakkında doğru ve verimli bir şekilde yönetmesi gerekenler nelerdir?

Yanıtlar:


50

DBA'lar için SSAS'a hızlı bir bakış

Böylece, bir SQL Server DBA'sınız ve yönetmek için maviden bazı küpleri miras aldınız. SSAS yönetimi ile ilgili hızlı bir kaza kursu sırada gibi görünüyor.

İdari açıdan, kaynak aç başvurusu varsa, SSAS oldukça basittir. Her ne kadar birkaç yönden farklı olsa da, bir DBMS platformundan çok daha kolaydır. Ayrıca, SSAS'a özgü kullanım tabanlı optimizasyon gibi, kafanızda dolaşmanız gerekebilecek birkaç idari görev vardır.

Yapılandırma dosyanızı yedekleyin

Tüm config veri adı verilen bir dosyada bulunur msdmsrv.ini. Bu bir XML dosyası. Eğer SSMS üzerinden config ile uğraşırsanız (Sunucuya bağlanın, sunucuya sağ tıklayın, özellikleri seçin) sunucuyu başlangıçta kıracak seçenekleri ayarlayabilirsiniz. msmdsrv.iniHerhangi bir şeyle oynamadan önce bir kopyasını alın .

Önemli parametreler

Bellek: SSAS bir İncil bellek domuzudur. Mümkünse 64 bit sürümleri ve çok fazla belleği sever. Parametrelerin 'Hafıza \ LowMemoryLimit' ve 'Hafıza \ HighMemoryLimit' kontrol bellek kullanımı politikaları. LowMemoryLimit, minimum bellek ayırma işlemi değildir. SSAS'ın sistemin hafızasında düşük olduğunu düşündüğü ve eşyaları önbellekten temizlemeye başladığı bir eşiktir. HighMemoryLimit kullanacağı mutlak maksimumdur.

SSAS'ın verilerini dosyalarda sakladığını (çok sayıda dosya - dosya gruplarına eşdeğer bir mekanizmaya sahip olmadığını), bu nedenle bu dosyalar için önbelleğe alma O / S dosya sistemini çok fazla kullandığını unutmayın. Bu sınırlar için varsayılan değerin sırasıyla makine belleğinin yaklaşık% 65'i ve% 80'i olduğuna dikkat edin; bu nedenle, OLAP sunucusunun bir SQL Server örneğiyle bir arada olmasını istiyorsanız, bunları kapatmanız gerekir; veritabanı sunucusu.

Dizinler: Beş ilgi alanı parametresi bunu kapsar: DataDir, AllowBrowsingFolders, BackupDir, LogDir ve TempDir. DataDir ve İzin VerilenBrowsingFolders en önemlileridir.

  • AllowedBrowsingFolders , OLAP sunucusunun veri dosyalarını içine koyacağı klasörlerin listesini etkiler. Kullanıcı arabirimine sahip herhangi bir şey (örneğin, dağıtım sihirbazı) seçeneklerinizi İzin VerilenBrowsingFolders'daki listeyle sınırlandırır. Değer, bir dizin ('|') dizin listesiyle sınırlandırılmıştır.

  • DataDir , dosyalar için varsayılan yoldur. Küpü birden fazla birime bölmeyi düşünüyorsanız, AllowBrowsingFolders'ı uygun şekilde yapılandırmanız gerekir.

  • LogDir , sunucunun uçuş kaydedici ve sorgu günlükleri gibi çeşitli günlük dosyalarını yerleştirdiği yerdir. Uçuş kaydedici günlüğü sorun giderme için kullanılır ve OLAP sorgu günlüğü kullanıma dayalı optimizasyon için kullanılır (bundan sonra daha fazlası için).

  • TempDir , SSAS'ın işleme sırasında oluşturduğu geçici dosyalar için bir konumdur. Büyük veri hacimlerini işliyorsanız ve performans sorunları yaşıyorsanız, bunu veriden başka bir birime kaydırmaktan yararlanabilirsiniz.

  • BackupDir teneke ne diyor.

Çeşitli: Birkaç çeşitli parametre de ilgi çekici olabilir. İnce ayar yapmanız gerekebilecek birkaç set:

  • DefaultMaxDrillthroughRows: Bu, detaylandırma satır kümelerinin boyutunu sınırlar. Daha fazla izin vermek için bunu çözmeniz gerekebilir.

  • Konular / Zaman aşımları: Bunları ayarlamanız gerekebilir. Asla rahatsız etmek zorunda kalmamıştım.

Bunlar temel. Özel sebeplerden ötürü başkalarını ince ayar yapmanız gerekebilir, ancak ödevinizi bu konuda yapabilirsiniz.

SSAS sunucusu özellikleri için bir başvuru kılavuzu burada bulunabilir .

Operasyonlar

Dağıtım: BIDS'te bir proje derleyebilir ve dağıtım sihirbazı ile konuşlandırılabilecek bir dizi dosya alabilirsiniz . Bölümler ve diğer birkaç şey için dosya yollarını ayarlamanız gerekebilir.

Programlanmış ve toplu yönetici görevleri: Komutlar, SSAS'a XML / A adlı bir web hizmeti API'si aracılığıyla verilir. Microsoft, MDX ve XML / A bağlantılarını vermek için etkileşimli bir araç sağlar. MDX'i bir XML / A komutuna gömmek zorunda kalırsanız, gibi XML çıkışlarını kullanma gereksinimine dikkat edin &. Bu, SSMS'deki MDX editörü ve sorgu aracıyla ilgili bir sorun değildir.

Çevrimdışı işler çeşitli SSIS küp işleme görevleri, çağrılan bir komut satırı yardımcı programı ascmd.exeveya AMO adlı bir .Net API aracılığıyla yapılabilir . Ayrıca çeşitli powershell araçları ve benzeri alabilirsiniz. ascmd.exebir XML / A dosyasını alır ve sunucuya gönderir. Dosyayı programlamak için frig yapmak zorundaysanız, XML dosyalarını bir .cmd komut dosyasından yönetmeye çalışmak yerine, küçük .Net araçlarıyla çalışmaktan daha iyi olabilirsiniz.

Operasyonlar rehber daha ayrıntılı olarak bu gider.

Güvenlik

SSAS'ta güvenlik oldukça basittir. Tüm sistem genelinde idari izinlere sahip global bir 'Sunucu' rolüne sahiptir. Ne yazık ki, veritabanları oluşturmak için 'Sunucu'ya ihtiyacınız var, bu nedenle geliştiricilere sahip olduğunuz herhangi bir geliştirme OLAP sunucusunda vermeniz gerekecek.

Diğer güvenlik yalnızca bireysel küp şemalarına uygulanabilir. Bir şema içindeki rolleri okumaya, işlemeye, detaylandırmaya, yazı yazmaya ve benzeri şeylere izin verme izni verebilirsiniz. OLAP şemalarındaki roller BIDS içerisinde tanımlanabilir ve küp ile birlikte dağıtılabilir. Bu rollere SSMS aracılığıyla AD grupları veya kullanıcıları atanabilir.

Rol üyeliğini programlı olarak yönetme örneği burada görülebilir .

Kullanım tabanlı optimizasyon

Bir DBA olarak bu işe dahil olabilirsiniz, ancak önce fiziksel depolama hakkında biraz bilgi sahibi olabilirsiniz. SSAS, önceden oluşturulmuş agregaları baz verilerle birlikte hesaplayarak ve ısrarla çalışır. Bir sorgunun bir topluluğa çarparak gerçekleştirilebilmesi durumunda, OLAP sunucusu bunu temel verilere göre kullanır, çünkü toplayıcı çok daha az G / Ç içerecektir ve bu nedenle verileri almak daha hızlı olacaktır.

Bununla birlikte, hesaplamak için hangi toplamları hesaplamanız gerekir (yani, toplama için hangi boyut özellikleri kombinasyonlarının oluşturulacağı). BIDS bu konuda bir tahminde bulunacak ve sizin için bir şeyler yaratacak bir araca sahip. BIDS yardımcısı gibi bazı araçlar, toplamaları el ile düzenlemenize de izin verir.

Kullanım tabanlı optimizasyon, sunucuya gönderilen gerçek sorguların bir günlüğünü alarak ve ardından bu günlüğü kullanarak bu sorgular için en uygun olan bir kümeleri işlemek üzere çalışır. DBA olarak, bu verileri yakalamak için OLAP sorgu günlüğü ayarlayabilir ve daha sonra küpte optimizasyonu çalıştırabilirsiniz. Sorgu günlüğünün ayarlanmasıyla ilgili bir bulanıklık burada bulunabilir .

Bunu yapmak için kullanılan araca 'Kullanım tabanlı optimizasyon sihirbazı' denir . Bu, SSMS'de yaşar ve bölümü kaşifte açarak ve sağ tıklama menüsünden 'Kullanım Tabanlı Optimizasyon'u seçerek bulunabilir.

Performans kılavuzu daha ayrıntılı olarak ayarlama girer.

MDX

MDX biraz SQL'e benziyor ancak çok farklı çalışıyor. 'MDX for SQL programcıları' üzerine yapılan bir inceleme, başlı başına bir konudur. Üzerine öğreticilerden bazılarını okumanızı ve / veya kitap almanızı öneririm. Ayrıca, dba.se adresindeki arkadaş canlısı kişiler varsa sorularınız için size yardımcı olabilirler.

MDX'in filtreleme sıraları kavramı yoktur. Dil, 1. sorgunun çeşitli eksenlerinde neyin görüntüleneceğini ve artı 'SELECT'i belirleyen çok sayıda ayar işlemine sahiptir . withÖlçü ve kümeleri tanımlamak için CTE'lere benzeyen ifadeleri kullanabilirsiniz .

Bazı tanıtıcı MDX programlama kaynakları burada ve burada bulunabilir (bu oldukça eski ve çok sargılı). Bu konuda da birkaç iyi kitap var; Bu SO sorusu , SSAS kaynaklarına yönelik oldukça fazla bir hayranlık uyandırdı.

1 Sonuçları, gerçekte veri içeren kombinasyonlarla kısıtlayan boş olmayan operatörleri olmasına rağmen. Çoğu MDX sorgusu, eksenlerde hangi dilimlerin gösterileceğini tanımlamaktan ibarettir ve boş olmayan operatörler, birleşik düzeydeki boş hücrelerin miktarını döndüren sorguları önlemek için gerekli olacaktır.


5
Mükemmel bilgi ... özellikle "sunucuyu başlatırken bozacak seçenekleri ayarlayabilirsiniz" tavsiyesi.
SqlACID

Bu müthiş bir cevap! Teşekkürler dostum!
Marian

6

SSAS yönetimi ile ilgili bazı cevapları bu uzun beyaz sayfadaki SQL Server 2008 R2 Analiz Servisleri Operasyon Kılavuzu'ndan alabilirsiniz . Giriş bu şekilde başlar:

Bu kılavuzda, bir üretim ortamında SQL Server 2005, SQL Server 2008 ve SQL Server 2008 R2'deki Microsoft SQL Server Analiz Hizmetlerini test etme ve çalıştırma hakkında bilgi bulacaksınız. Bu kılavuzun odak noktası, en büyük ölçekli küplerde bile üretim sorunlarını nasıl test edebileceğiniz, izleyebileceğiniz, teşhis edebileceğiniz ve giderebileceğinizdir. Bu makale ayrıca sunucuyu mümkün olan en iyi performans için nasıl yapılandıracağınız konusunda da kılavuzluk eder.

Açıkça DBA / yöneticileri hedefleniyor. Ayrıca SSAS kullanarak uygulamalar geliştirirseniz, Analysis Services 2008 Performans Kılavuzu Teknik Belgesine de bakabilirsiniz.


Teşekkürler DaniSQL. Ayrıca bu makaleyi de buldum ve muhtemelen soru üzerine konuştuğumuzu söylemeliyim (üzgünüm!), Ancak konu hakkında daha yumuşak bir giriş yapmak ve DBA'lı arkadaşlarımızın deneyimlerini temel alan fikirlerini burada aradım.
ivanmp

2
Doğrudan SSAS üzerinde çalışamadığım için deneyimden konuşamıyorum :-( Sadece yukarıda bahsettiğim beyaz kitabın bazı kısımlarını tanıyarak kendimi tanımaya çalışıyorum ve birkaç ay Pragmatik çalışmalardan iki günlük bir eğitim yaptım eğitmenler tarafından yazılan amzn.to/za1ypP kitabını geri okuyun ve okuyun.Ayrıca , bu kitabın 17. bölümünde çok temel bir giriş bulunabilir - Başlangıç, Microsoft® SQL Server® 2008 Yönetimi ( amzn.to/xnKAWw )
DaniSQL
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.