Aracılığıyla paylaş


Derlemeler (Analysis Services - çok boyutlu verilerle)

Microsoft SQL Server Analysis Services çok sayıda iç işlevlerin her bir sıradüzen içindeki üyeler geçme için standart istatistiksel hesaplamaları gerçekleştirmek için tasarlanmış çok boyutlu deyimler (MDX) ve veri madenciliği Uzantıları (DMX) dillerle kullanılmak sağlar.Ancak, tüm diğer karmaşık ve sağlam ürün gibi yok her zaman böyle bir ürünün işlevselliğini daha genişletmeye gerek.

Bu nedenle, Analysis Services derlemeler için eklemenizi sağlar bir Analysis Services örnek veya veritabanı. Tüm ortak dil çalışma zamanı (CLR) dili, Microsoft Visual Basic .NET veya Microsoft Visual C# kullanarak dış, kullanıcı tanımlı işlevler oluşturmak derlemeleri sağlar.Microsoft Visual Basic'te veya bir Microsoft Visual C++ gibi bir Bileşen Nesne Modeli (COM) Otomasyonu'nu dilleri de kullanılabilir.

Security noteSecurity Note:

COM derlemeleri güvenlik riskine neden.Bu riski ve diğer konuları nedeniyle COM derlemeleri olarak onaylanmaz SQL Server 2008 Analysis Services (SSAS). COM derlemeleri gelecekteki sürümlerinde desteklenmeyebilir.

Derlemeler MDX ve DMX iş işlevlerini sağlar.Bir dinamik bağlantı kitaplığı (DLL) olarak kitaplığı eklemek gibi istediğiniz bir kitaplığa işlevi oluşturmak bir derleme örnekne Analysis Services veya bir Analysis Services Veritabanı. Kitaplığın genel yöntemleri sonra MDX DMX ifadeler, yordamlar, hesaplamalar, eylemleri ve istemci uygulamaları için kullanıcı tanımlı işlevler olarak sunulur.

Yeni yordamları ve işlevleri bir derleme sunucuya eklenir.Birleştirmeler, geliştirmek veya sunucu tarafından sağlanan özel işlevler eklemek için kullanabilirsiniz.Derlemeler kullanarak, çok boyutlu deyimler (MDX), veri madenciliği Uzantıları (DMX) veya saklı yordamlar yeni işlevler ekleyebilirsiniz.Derlemeler özel uygulamayı çalıştırın ve derleme ikili dosyanın bir kopyasını sunucuda veritabanı veri ile birlikte kaydedilen konumdan yüklenir.Derleme kaldırıldığında, kopyalanan derlemesi de sunucudan kaldırılır.

Birleştirmeler, iki farklı türde olabilir: COM ve CLR. CLR birleştirmeler, C#, Visual Basic. NET'te, C++ yönetilen gibi programlama dilleri .NET Framework'te geliştirilen derlemeler ' dir.COM derlemeleri sunucuda kayıtlı COM kitaplıklarıdır

Derlemeler için eklenebilir: Server veya Database nesneler. Sunucu birleştirmeler, sunucu veya sunucu herhangi bir nesneyi bağlı herhangi bir kullanıcı tarafından çağrılabilir.Veritabanı derlemeler çağrılabilecek yalnızca Database Nesne veya kullanıcıların veritabanına bağlı.

Basit Assembly Nesne, temel bilgileri (ad ve kimliği) dosya koleksiyon ve güvenlik özellikleri oluşur.

Hata ayıklama dosyaları birleştirme dosyalarla yüklenen, yüklenen derleme dosyaları ve ilgili hata ayıklama (.pdb) dosyalarını, dosya koleksiyon anlamına gelir.Derleme dosyaları dosyaları uygulama tanımlı ve sunucu veri ile birlikte kaydedilen bir kopyasını bir konumdan yüklenir.Derleme dosyasının kopyasını hizmet her başlatıldığında derleme yüklemek için kullanılır.

Izin kümesi ve derleme çalıştırmak için kullanılan bir kimliğe bürünme, güvenlik özelliklerini içerir.

Kullanıcı tanımlı işlevler çağrılıyor.

Dışında bir tam adı kullanmanız gerekir, bir derlemede kullanıcı tanımlı bir işlev çağrılırken bir iç işlev çağrılırken gibi gerçekleştirilir.Örneğin, MDX tarafından beklenen bir tür döndüren kullanıcı tanımlı bir işlev bir MDX sorgusunun aşağıdaki örnekte gösterildiği gibi eklenir:

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

CALL anahtar sözcüğünü kullanarak da bu kullanıcı tanımlı işlevler çağrılabilir.Kullanıcı tanımlı işlev, kayıt veya void değerlerini döndürmek için s ÇAĞıR anahtar sözcüğü kullanmak ve, ÇAĞıR anahtar sözcüğünü kullanamazsınız kullanıcı tanımlı işlev bağlamında MDX veya DMX deyim veya komut dosyası, geçerli küp veya veri araştırma modeli gibi bir nesne bağlıdır.Bir ortak dışında bir MDX veya DMX sorgu adı verilen işlev için yönetim iþlevleri gerçekleþtirmek üzere ÇYN nesne modelini kullanmanız için kullanılır.Örneğin, işlevini kullanmak isterseniz, MyVoidProcedure(a, b, c) bir MDX deyim aşağıdaki sözdizimi kullanılan:

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

Derlemeler bir kez geliştirilen ve tek bir konumda depolanan ortak kodu etkinleştirerek, veritabanı geliştirme basitleştirin.Istemci yazılım geliştiricileri için fonksiyonların kitaplıkları oluşturabilirsiniz Analysis Services ve bunları kendi uygulamaları dağıtma.

Derlemeler ve kullanıcı tanımlı işlevler, işlevin adını çoğaltabilirsiniz Analysis Services işlev kitaplığının veya diğer derlemeler. Tam adını kullanarak kullanıcı tanımlı bir işlev çağrısı olarak Analysis Services doğru yordamını kullanır. Güvenlik nedeniyle ve farklı bir sınıf kitaplığı yinelenen bir ad arama olasılığını ortadan kaldırmak için Analysis Services saklı yordamlar için yalnızca tam olarak nitelenmiş adlar kullanmasını şart koşar.

Kullanıcı tanımlı bir işlev belirli bir CLR derlemesi ' çağırmak için , kullanıcı tanımlı fonksiyonun derleme adını, tam bir sınıf adı ve yordam adı, aşağıda gösterildiği gibi önce:

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

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

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

COM kitaplığı birden çok arabirim desteklerse, arabirim KIMLIĞI aynı zamanda yordamın adını çözümlemeye aşağıda gösterildiği şekilde kullanılabilir:

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

Güvenlik

Güvenlik derlemeler için bir kod erişimi güvenlik modeli olan .NET Framework güvenlik modelinde temel alır..NET framework, çalýþma zamaný kısmen güvenilen ve tam olarak güvenilen kod barındırabilir varsayan bir kod erişimi güvenlik mekanizmasını destekler.kaynak .NET Framework kod erişimi güvenliği tarafından korunan s genellikle erişimi'ni etkinleştirmeden önce ilgili bir izin ister, yönetilen kod tarafından alınmış kaynak.Talep izni, yalnızca tüm gerçekleşti Arayanların (derleme sırasında düzey) çağrı yığını içinde karşılık gelen kaynak iznine sahip.

Derlemeler için yürütme iznine sahip geçirilir PermissionSet özellikte Assembly nesne. Yönetilen kod izinleri alır güvenlik ilkesi tarafından geçerli olarak belirlenir.Zaten ilkesinde etkin olmayan bir üç düzeyi vardır-Analysis Services barındırılan ortamı: Kuruluş, bilgisayar ve kullanıcı. Etkin kod aldığı Yetkiler listesine, bu üç düzey tarafından alınan izinlerin kesişmesi tarafından belirlenir.

Analysis Services CLR ana bilgisayar düzeyinde güvenlik ilke düzeyine; barındıran sırasında sağladığı bir ek bir ilke düzey her zaman etkin olan üç ilke düzey aşağıda bu bir ilkedir.Bu ilke tarafından oluşturulan tüm uygulama etki alanı için küme Analysis Services.

The Analysis Services host-düzey 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çası Analysis Services ana bilgisayar ilkesi derleme sahibine üç izin demetleri birini her derleme için belirtme dayanır:

Izin ayarlama

Açıklama

Safe

Iç hesaplaması izni sağlar.Bu izni Demet herhangi bir .NET Framework korunan kaynaklara erişim izinleri atayın.Ile belirtilmezse, bu derleme için varsayılan izin Demet, PermissionSet özellik.

ExternalAccess

Aynı erişim sağlayan Safe , dış sistem kaynaklarına erişmek için ek özelliğini ayarlama. Bu izni Demet güvenlik sunarlar (Bu senaryo güvenliğini sağlamak mümkündür, ancak) güvence altına alır, ancak güvenilirliği garanti vermek.

Unsafe

Kısıtlama sağlar.Bu izin altında çalışan bir yönetilen kod için hiçbir güvenlik ve güvenilirlik garanti yapılan küme.Bu güven düzeyinde çalışan kod için tüm izinleri bile bir yönetici tarafından eklenen özel bir izin verilir.

Ne zaman CLR tarafından barındırılan Analysis Services, kenarlığı ile yerel saat yığın ilerleme temel izni denetimi durdurur. Analysis Services kodu. Bir yönetilen kod Analysis Services derlemeler her zaman denk bir daha önce listelenen üç izin kategorileri.

COM (veya yönetilmeyen) derleme yordamlar CLR güvenlik modelini desteklemez.

Kişiliğe bürünme

Yönetilen kod herhangi eriştiği her kaynak dışında Analysis Services, Analysis Services ilişkili kurallar izleyen ImpersonationMode erişim için uygun bir Windows güvenlik bağlamında oluştuğunu emin olmak için derleme özellik ayarı. Çünkü kullanarak derlemeler Safe izin ayarını dışında kaynaklara erişilemiyor Analysis Services, bu kurallar yalnızca kullanarak derlemeler için uygulanabilen ExternalAccess ve Unsafe izin ayarları'nı tıklatın.

  • Geçerli yürütmek içeriği Windows Authenticated oturumuna karşılık gelir ve içerik özgün arayanın aynıdır (yani, varsa hiçbir yürütmek AS ortada) Analysis Services Windows kimliği doğrulanmış oturum açma erişmeden önce taklit kaynak.

  • Varsa, özgün arayanın bağlamı değiştiren ara yürütmek AS), dış kaynağa erişim denemesi başarısız olur.

The ImpersonationMode özellik can be küme to ImpersonateCurrentUser or ImpersonateAnonymous. Varsayılan ayar, ImpersonateCurrentUser, derleme geçerli kullanıcının ağ oturum açma hesabının altında çalışır. If the ImpersonateAnonymous setting is used, the execution context is corresponds to the Windows login user account IUSER_servername on the server.Sınırlı ayrıcalıklara sunucuda ınternet guest hesabının budur.Bu bağlamda çalışan derleme bir bölümü 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, birleştirmeler uygulama etki alanları birbirlerine yürütme saat kullanarak bulabilir System.Reflection .NET Framework ya da başka şekilde bir ad ve bunlara sonradan bağlanan yolla çağırabilirsiniz. Bu tür çağrıları tarafından kullanılan izin denetimlerini olacaktır Analysis Services Yetkilendirme tabanlı güvenlik.

Uygulama etki alanı sınırları ve her etki alanında, derlemelerin uygulaması tarafından tanımlandığından, aynı uygulama etki alanında, derlemelerin bulma üzerinde güvenmemelisiniz.