Share via


Derlemeler (Analysis Services - çok boyutlu verilerle)

Microsoft SQL Server Analysis Services supplies lots of intrinsic functions for use with the Multidimensional Expressions (MDX) and Data Mining Extensions (DMX) languages, designed to accomplish everything from standard statistical calculations to traversing members in a hierarchy.Ancak, herhangi bir karmaşık ve sağlam ürün gibi olduğu her zaman böyle bir ürünün işlevselliğini daha genişletmek gerek.

Bu nedenle, Analysis Services derlemeler için eklemenizi sağlar bir Analysis Services örnek veya veritabanı.Derlemeler, ortak dil çalışma zamanı (clr), her dilde olduğu gibi Microsoft Visual Basic kullanarak dış, kullanıcı tanımlı işlevler oluşturmanızı sağlar.net ya da Microsoft Visual C#.Microsoft Visual Basic veya Microsoft Visual c++ gibi Bileşen Nesne Modeli (com) Otomasyon dillerini de kullanabilirsiniz.

Güvenlik notuGüvenlik Notu

com derlemeleri bir güvenlik riski.Bu riski ve diğer konuları nedeniyle, com derlemeleri de itiraz SQL Server 2008 Analysis Services (SSAS).com derlemeleri gelecek sürümlerde desteklenmiyor.

Derleme mdx ve dmx iş işlevselliğini genişletmek sağlar.Gibi bir dinamik bağlantı kitaplığı (dll) ve bir derlemeye kitaplığı eklemek istediğiniz kitaplığa bir işlev oluşturmak bir örnek , Analysis Services veya bir Analysis Services veritabanı.Public yöntemler Kitaplığı'nda, sonra mdx ve dmx deyimleri, yordamlar, hesaplamalar, Eylemler ve istemci uygulamaları kullanıcı tanımlı işlevler olarak sunulur.

Bir derleme yeni yordamları ve işlevleri ile sunucuya eklenebilir.Derlemeler, geliştirmek veya sunucu tarafından sağlanan özel işlevler eklemek için kullanabilirsiniz.Montajlarý kullanarak, çok boyutlu ifadeleri (mdx), veri Mining Extensions (dmx) veya saklı yordamlar için yeni işlevler ekleyebilirsiniz.Burada özel uygulamayı çalıştırın ve derleme ikili dosyasının bir kopyasını sunucuda veritabanı veri ile birlikte kaydedilir bu konumdaki derlemeler yüklenir.Bir derleme kaldırıldığında, kopyalanan derleme de sunucudan kaldırılır.

Derlemeler, iki tür olabilir: com ve clr.clr birleştirmeler geliştirilen derlemeler olduğunu.net Framework programlama dilleri C#, Visual Basic gibi.c++ net ve yönetilebilir.com derlemeleri Server'da kayıtlı com kitaplıklarıdır

Derlemeler eklenebilir Server veya Database nesneler.Sunucu derlemeler, bağlı sunucu veya herhangi bir sunucu nesnesi için herhangi bir kullanıcı tarafından çağrılabilir.Veritabanı derleme adında yalnızca Database nesneleri veya kullanıcıların bağlı veritabanı.

Basit bir Assembly nesne temel bilgileri (ad ve kimlik) dosyası oluşan koleksiyonve güvenlik belirtimleri.

Dosya koleksiyon hata ayıklama dosyaları birleştirme dosyaları ile yüklenen, yüklenen derleme dosyaları ve karşılık gelen hata ayıklama (.pdb) dosyalarına, ifade eder.Konumdan uygulama dosyaları için tanımlanan ve burada bir kopya sunucudaki veri ile birlikte kaydedilir derleme dosyaları yüklenir.Derleme yükleme için kullanılan derleme dosyasının kopyasını her saat hizmet başlatıldı.

İzin küme ve kimliğe bürünme derleme çalıştırmak için kullanılan güvenlik özelliklerini içerir.

Kullanıcı tanımlı işlevler çağırma

Tam bir ad kullanmalısınız dışında bir derleme kullanıcı tanımlı bir işlev çağırma sadece içsel bir işlev çağırma gibi gerçekleştirilir.Örneğin, döndürür mdx tarafından beklenen bir türü kullanıcı tanımlı bir işlev aşağıdaki örnekte gösterildiği gibi bir mdx sorgusu içinde bulunmaktadır:

Select MyAssembly.MyClass.MyStoredProcedure(a, b, c) on 0 from Sales

Kullanıcı tanımlı işlevler de arama anahtar sözcüğü kullanılarak çağrılabilir.Kayıt kümeleri ya da void değerleri döndürmek, kullanıcı tanımlı işlevler için arama anahtar sözcüğü kullanmak ve bir nesne bağlamında mdx veya dmx deyim veya komut dosyası kullanıcı tanımlı işlev bağlıdır, arama anahtar sözcüğü kullanamazsınız, geçerli küp veya veri gibi araştırma modeli.Bir ortak bir mdx veya dmx sorgu adında bir işlev için yönetim işlevleri gerçekleştirmek üzere ÇYN nesne modelini kullanmanız için kullanılır.Örneğin, kullanmak isteseydiniz, işlev MyVoidProcedure(a, b, c) bir mdx deyim içinde aşağıdaki sözdizimini doğrulanması:

Call MyAssembly.MyClass.MyVoidProcedure(a, b, c)

Derlemeler, veritabanı geliştirme kez geliştirilen ve tek bir konumda depolanan ortak kod etkinleştirerek basitleştirin.İstemci yazılım geliştiricileri için işlev kitaplıkları oluşturup Analysis Services ve onlarla kendi uygulamaları.

Derlemeler ve kullanıcı tanımlı işlevler fonksiyon adlarını çoğaltmak Analysis Services işlev kitaplığının veya diğer derlemeler.Tam nitelikli adını kullanarak kullanıcı tanımlı bir işlev çağrısı olarak Analysis Services kullanacak doğru bir yordam.Güvenlik amacıyla ve bir farklı sınıf kitaplığı'nda, yinelenen bir ad arama olasılığını ortadan kaldırmak için Analysis Services gerektirir, kullandığınız yalnızca tam adı saklı yordamlar.

Belirli bir clr derlemesinden kullanıcı tanımlı bir işlev çağrısı için kullanıcı tanımlı işlevin derleme adı, tam sınıf adı ve yordam adı, burada gösterildiği gibi bulunduğuna:

AssemblyName.FullClassName.ProcedureName(Argument1, Argument2, ...)

Önceki sürümleriyle geriye doğru uyumluluk için Analysis Services, aşağıdaki sözdizimini de kabul edilebilir:

AssemblyName!FullClassName!ProcedureName(Argument1, Argument2, ...)

com kitaplığı birden çok arabirimi destekliyorsa, arabirim kimliği de yordam adı çözümlemek için burada gösterildiği gibi kullanılabilir:

AssemblyName!InterfaceID!ProcedureName(Argument1, Argument2, ...)

Güvenlik

Güvenlik derlemeler için temel alınır.Kod erişimi güvenlik modeli olan .NET Framework güvenlik modeli..net Framework çalışma zamanı tam güvenilir ve kısmen güvenilen kod barındırabilir varsayar bir kod erişimi güvenliği mekanizmasını destekler.kaynakTarafından korunan s.net Framework kod erişimi güvenliği genelde erişim etkinleştirmeden önce karşılık gelen izin gerektiren yönetilen kod tarafından sarılan kaynak.İzin talep, yalnızca tüm karşılanan arayanlar (derleme sırasında düzey) çağrı yığını içinde karşılık gelen kaynak iznine sahip olması.

Derlemeler için yürütme izni ile geçirilen PermissionSet özellik Assembly nesne.Yönetilen kod izinlerini alır güvenlik ilkesi tarafından etkin olarak belirlenir.Zaten üç ilke yürürlükte olmayan bir düzeyde vardır-Analysis Services ortamında barındırılan: Kuruluş, bilgisayar ve kullanıcı.Etkin kod aldığı yetkiler listesine kesişmesi bu üç düzeyleri tarafından alınan izinler tarafından belirlenir.

Analysis Services sağlayan ana bilgisayar -düzey Güvenlik İlkesi düzey ; ev sahipliği yaparken clr için Bu ilke, her zaman etkin olan üç ilke düzey altındaki ek ilke düzeyidir.Bu ilke tarafından oluşturulan her uygulama etki alanı için küme Analysis Services.

The Analysis Services host-level policy is a combination of Analysis Services fixed policy for system assemblies and user-specified policy for user assemblies.Kullanıcı tarafından belirtilen parça Analysis Services ana İlkesi derleme sahibi her derleme için üç izni demetleri birini belirterek esas:

İzin ayarı

Açıklama

Safe

İç hesaplaması izni sağlar.Bu izni demet herhangi bir korumalı kaynaklara erişim izinleri atayın.net Framework.Hiçbiri belirtilmediyse bu derleme için varsayılan izin Kovası, PermissionSet özellik.

ExternalAccess

Aynı erişim sağlar Safe erişmek için ek yeteneği ile ayar. dış sistem kaynaklarına Bu izni demet güvenlik sunarlar (onu bu senaryo güvenliğini sağlamak mümkün olsa) garanti eder, ancak güvenilirliği garanti verin.

Unsafe

Hiçbir kısıtlama sağlar.Bu izin küme altında çalışan yönetilen kod için güvenlik ve güvenilirlik garantilerini yapılabilir.Bu çalışan kod herhangi bir izni, hatta Yöneticisi tarafından bulunan özel bir izin verilen düzey güven.

Ne zaman clr bulunan tarafından Analysis Services, yerel ile sınır Dursun dayalı yığın Yürüme izni onay Analysis Services kod.Tüm yönetilen kod , Analysis Services derlemeler her zaman yukarıda listelenen üç izni kategoriden birine denk.

com (veya yönetilmeyen) derleme yordamları clr güvenlik modelini destekler.

Kimliğe bürünme

Yönetilen kod her eriştiğinde dışında herhangi bir kaynak Analysis Services, Analysis Services ile ilgili kurallara ImpersonationMode özellik ayarı, derleme erişim bir uygun Windows güvenlik bağlamı. oluştuğunu emin olmak içinÇünkü kullanarak derlemeler Safe izni ayarı dışında kaynaklara erişim Analysis Services, bu kurallar yalnızca kullanarak derlemeler için geçerli olan ExternalAccess ve Unsafe izin ayarları.

  • Geçerli yürütme içeriği Authenticated Windows oturum açma karşılık gelir ve özgün arayan bağlamında aynıdır, (diğer bir deyişle, yok yok execute as ortada), Analysis Services Windows kimlik doğrulaması oturum açma erişmeden önce taklit kaynak.

  • Varsa, özgün arayan bağlamı değiştirilen bir ara execute as), dış erişim girişiminde kaynak başarısız olur.

The ImpersonationMode property can be set to ImpersonateCurrentUser or ImpersonateAnonymous.Varsayılan ayar ImpersonateCurrentUser, çalışır bir derleme altında geçerli kullanıcının ağ oturum açma hesabı.If the ImpersonateAnonymous setting is used, the execution context is corresponds to the Windows login user account IUSER_servername on the server.Sunucu üzerindeki ayrıcalıkları sınırlıdır olan Internet guest hesabının budur.Bu bağlamda çalışan bir derleme, yalnızca yerel sunucuda sınırlı kaynaklara erişebilir.

Uygulama etki alanları

Analysis Services uygulama etki alanları doğrudan göstermiyor.Nedeniyle bir küme aynı uygulama etki alanında çalışan derlemeler uygulama etki alanlarını birbirine yürütme saat kullanarak bulabilir System.Reflection ad alanında.net Framework veya başka bir yolla, bunlara sonradan bağlanan şekilde. çağırabilir veBu tür çağrıları tarafından kullanılan izin denetimleri olacaktır Analysis Services Yetkilendirme tabanlı güvenlik.

Uygulama etki alanı sınırları ve her etki alanına gidin birleştirmeleri uygulama tarafından tanımlandıkları için aynı uygulama etki alanında, derlemelerin bulma üzerinde güvenmemelisiniz.