Analysis ServicesPersonalizacji rozszerzenia
SQL Server Usługi Analysis Services personalization extensions are the foundation of the idea of implementing a plug-in architecture.W architekturze dodatek można dynamicznie rozwijać nowe obiekty moduł i funkcjonalność i łatwo udostępniać je z innymi deweloperami.Jako takie Usługi Analysis Services personalizacji rozszerzenia realizować pozwala osiągnąć następujące funkcje:
Dynamiczne projektowanie wdrożyćnatychmiast po zaprojektowanie i rozmieszczenie Usługi Analysis Services personalizacji rozszerzenia, użytkownicy mają dostęp do obiektów i funkcji na początku następnej sesja użytkownika.
Interfejs niezależnościniezależnie od interfejsu, który służy do tworzenia Usługi Analysis Services personalizacji rozszerzenia, użytkownicy mogą używać dowolnego interfejsu dostępu do obiektów i funkcjonalności.
Session context Usługi Analysis Services personalization extensions are not permanent objects in the existing infrastructure and do not require the cube to be reprocessed.Stają się one narażone i utworzone dla użytkownika na czas , użytkownik łączy się z bazą danych i pozostają dostępne w czasie trwania sesja użytkownika.
Rozkład szybkiegoudział Usługi Analysis Services personalizacji rozszerzenia z innymi deweloperami oprogramowania bez konieczności przechodzenia do szczegółowe specyfikacje o miejscach lub jak znaleźć to rozszerzone funkcje.
Usługi Analysis Services personalizacji rozszerzenia mają wiele zastosowań.Na przykład firma sprzedaży obejmujących różne waluty.Utwórz obliczeniowy element członkowski i zwraca skonsolidowanych sprzedaży w walucie lokalnej osobie, która uzyskuje dostęp do moduł.Utworzyć ten element członkowski jako rozszerzenie personalizacji.Następnie udostępnić ten obliczeniowy element członkowski do grupy Użytkownicy.Po udostępnieniu tych użytkowników mają natychmiastowy dostęp do obliczeniowy element członkowski, tak szybko, jak tylko połączenia z serwerem. Mają dostęp, nawet jeśli nie jest używany ten sam interfejs jako ten, który został użyty do utworzenia obliczeniowy element członkowski.
Usługi Analysis Services personalization extensions are a simple and elegant modification to the existing managed assembly architecture and are exposed throughout the Usługi Analysis Services Microsoft.AnalysisServices.AdomdServer object model, Multidimensional Expressions (MDX) syntax, and schema rowsets.
Logicznej architektury
Architektura Usługi Analysis Services personalizacji rozszerzenia na podstawie architektury wirtualny plik dziennika zarządzanych i następujące cztery podstawowe elementy:
Niestandardowy atrybut [PlugInAttribute]
Podczas uruchamiania usługa, Usługi Analysis Services ładuje wymagane zespołów i określa klas, które mają PlugInAttribute atrybut niestandardowego.Ostrzeżenie
.NET Framework Definiuje atrybuty niestandardowe jako sposób opisywania kodu i wpływają na uruchamianie -czas zachowania.Aby uzyskać więcej informacji, zobacz temat "Omówienie atrybutów," w .NET Framework Developer's Guide w witrynie MSDN.
Dla wszystkich klas, z PlugInAttribute Niestandardowy atrybut Usługi Analysis Services wywołuje ich konstruktory domyślne.Wywoływanie wszystkie konstruktory podczas uruchamiania udostępnia typowych lokalizacji, z której do tworzenia nowych obiektów i zależy od wszelkich działań użytkownika.
Oprócz tworzenia małych pamięci podręcznej informacje dotyczące tworzenia i zarządzania personalizacji rozszerzenia, konstruktora klasy zazwyczaj subskrybuje SessionOpened i SessionClosing zdarzenia.Niepowodzenie subskrybować zdarzenia te mogą powodować klasy niewłaściwie oznaczony do oczyszczania przez common language runtime (CLR) moduł zbierający elementy bezużyteczne.
Kontekst sesji
Dla tych obiektów, które są oparte na personalizacji rozszerzenia Usługi Analysis Services tworzy środowisko podczas sesja klient i dynamicznie tworzy większość tych obiektów w środowisku.Podobnie jak inne wirtualny plik dziennika CLR środowisko to ma dostęp do innych funkcji i procedur przechowywanych.Po zakończeniu sesja użytkownika, Usługi Analysis Services usuwa obiekty dynamicznie utworzony i zamyka środowiska wykonania.Zdarzenia
Tworzenie obiektu jest wyzwalanych przez zdarzenia sesja On-Cube-OpenedCubeOpened i On-Cube-ClosingCubeClosing.Komunikacja między klient i serwer odbywa się przez określone zdarzenia.Zdarzenia te uświadomić klient sytuacje, które mogą prowadzić do tworzonego obiektów klient.Środowisko klient jest tworzone dynamicznie za pomocą dwóch zestawów zdarzeń: zdarzenia sesja i zdarzeń moduł.
Zdarzenia Session są skojarzone z obiektem serwera.Gdy klient loguje się do serwera, Usługi Analysis Services tworzy sesja i wyzwalaczy SessionOpened zdarzenie.Gdy klient kończy sesja na serwerze, Usługi Analysis Services wyzwalaczy SessionClosing zdarzenie.
Moduł zdarzenia są skojarzone z obiektem połączenia.Łączenie z wyzwalaczy moduł CubeOpened zdarzenie.Zamykanie połączenia z kostką, przez zamknięcie moduł lub zmieniając inną kostką wyzwala CubeClosing zdarzenie.
Możliwości śledzenia i obsługa błędów
Wszystkie działania jest odniesieniem przy użyciu SQL Server Profiler.Nieobsługiwany błędy są zgłaszane do systemu Windows zdarzenie dziennika.
Obiekt tworzenia i zarządzania jest niezależne od tej architektury i wyłączną odpowiedzialność deweloperzy obiektów.
Fundacje infrastruktury
Usługi Analysis Services personalizacji rozszerzenia są oparte na istniejących składników.Poniżej przedstawiono podsumowanie rozszerzeń i ulepszeń zapewniających funkcji personalizacji rozszerzenia.
Zespoły
Niestandardowy atrybut PlugInAttribute, można dodać do swojego niestandardowe zestawy do identyfikowania Usługi Analysis Services personalizacji rozszerzenia klasy.
Zmiany do modelu obiektu AdomdServer
Następujące obiekty w Microsoft.AnalysisServices.AdomdServer modelu obiektowego zwiększonych lub dodawane do modelu.
Nowa klasa AdomdConnection
AdomdConnection Klasy nowego i udostępnia kilka rozszerzeń personalizacji za pośrednictwem właściwości i zdarzeń.
Właściwości
SessionID, wartość tylko do odczytu ciąg reprezentującą identyfikator połączenia w bieżącej sesja.
ClientCulture, tylko do odczytu odwołania do kultury klient związane z bieżącej sesja.
User, tylko do odczytu odwołania do interfejs tożsamości reprezentujących bieżącego użytkownika.
Zdarzenia
Nowe właściwości w kontekście klasy
Context Klasa ma dwie nowe właściwości:
Server, tylko do odczytu odwołania do nowego obiektu serwera.
CurrentConnection, tylko do odczytu odwołania do nowego AdomdConnection obiektu.
Nowa Klasa serwera
Server Klasy nowego i udostępnia kilka rozszerzeń personalizacji za pośrednictwem klas, właściwości i zdarzeń.
Właściwości
Name, wartość ciąg tylko do odczytu, reprezentującym nazwa serwera.
CultureTylko do odczytu odwołanie do globalnego kultury skojarzonych z serwerem.
Zdarzenia
Klasa AdomdCommand
AdomdCommand Klasy teraz obsługuje następujące polecenia MDX:
MDX rozszerzenia i ulepszenia
Polecenie Utwórz CZŁONKA jest rozszerzona o caption właściwość, display_folder właściwości oraz associated_measure_group Właściwości.
Polecenia UPDATE element członkowski jest dodawana do uniknąć odtworzenia Członkowskie wymaga aktualizacji z konsekwencją straty pierwszeństwo w rozwiązywaniu obliczeń.Aktualizacje nie można zmienić zakres obliczeniowy element członkowski Przenieś obliczany składnik innego nadrzędnego lub zdefiniuj inną solveorder.
Polecenie Utwórz zestaw jest rozszerzona o caption właściwość, display_folder Właściwości, a nowe STATIC | DYNAMIC słów kluczowych.Statyczne oznacza, że zestaw jest oceniany jedynie na tworzenie czas.Dynamiczne oznacza, że zestaw jest oceniany każdy czas zestaw używanej w kwerendzie.Wartością domyślną jest STATIC Jeśli pominięte słowo kluczowe.
Tworzenie KPI i UPUŚĆ KPI polecenia są dodawane do składni wyrażeń MDX.Kluczowe wskaźniki wydajności mogą być tworzone dynamicznie z dowolnego skryptu MDX.
Rozszerzenia schematu zestawów wierszy
Na MDSCHEMA_MEMBERS scope dodać kolumna.Zakres wartości są następujące: MDMEMBER_SCOPE_GLOBAL = 1, MDMEMBER_SCOPE_SESSION = 2.
Na MDSCHEMA_SETS set_evaluation_context dodać kolumna.Ustawić kontekstu oceny wartości są następujące: MDSET_RESOLUTION_STATIC = 1, MDSET_RESOLUTION_DYNAMIC = 2.
Na MDSCHEMA_KPIS zakres dodać kolumny.Zakres wartości są następujące: MDKPI_SCOPE_GLOBAL = 1, MDKPI_SCOPE_SESSION = 2.