Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Alle gespeicherten Prozeduren müssen einer CLR-Klasse (Common Language Runtime) oder einer COM-Klasse (Component Object Model) zugeordnet sein, um verwendet werden zu können. Die Klasse muss auf dem Server installiert werden – in der Regel in Form einer Microsoft ActiveX® Dynamic Link Library (DLL) – und als Assembly auf dem Server oder in einer Analysis Services-Datenbank registriert werden.
Gespeicherte Prozeduren werden auf einem Server oder in einer Datenbank registriert. Gespeicherte Serverprozeduren können aus jedem Abfragekontext aufgerufen werden. Auf gespeicherte Datenbankprozeduren kann nur zugegriffen werden, wenn der Datenbankkontext die Datenbank ist, unter der die gespeicherte Prozedur definiert ist. Wenn Funktionen in einer Assemblyaufruffunktion in einer anderen Assembly verwendet werden, müssen Sie beide Assemblys im selben Kontext (Server oder Datenbank) registrieren. Für einen Server oder eine bereitgestellte Microsoft SQL Server Analysis Services-Datenbank auf einem Server können Sie SQL Server Management Studio verwenden, um eine Assembly zu registrieren. Für ein Analysis Services-Projekt können Sie analysis Services Designer verwenden, um eine Assembly im Projekt zu registrieren.
Von Bedeutung
COM-Assemblys können ein Sicherheitsrisiko darstellen. Aufgrund dieses Risikos und anderer Überlegungen wurden COM-Assemblys in SQL Server 2008 Analysis Services (SSAS) nicht mehr unterstützt. COM-Assemblys werden in zukünftigen Versionen möglicherweise nicht unterstützt.
Registrieren einer Serverassembly
Im Objekt-Explorer in SQL Server Management Studio werden Serverassemblys im Ordner "Assemblys" unter einer Instanz von Analysis Services aufgeführt. Serverassemblys können sowohl .NET (CLR)-Assemblys als auch COM-Bibliotheken enthalten.
So erstellen Sie eine Serverassembly
Erweitern Sie die Instanz von Analysis Services im Objekt-Explorer, klicken Sie mit der rechten Maustaste auf den Ordner "Assemblys ", und klicken Sie dann auf "Neue Assembly". Dadurch wird das Dialogfeld " Serverassembly registrieren " angezeigt.
Geben Sie für Typ den Typ der Assembly an:
Geben Sie für eine CLR-DLL (Managed Code) .NET-Assembly an.
Geben Sie für eine systemeigene Code-DLL (COM)-DLL an.
Geben Sie für den Dateinamen die DLL an, die die gespeicherten Prozeduren enthält.
Geben Sie für den Assemblynamen einen Namen für die Assembly an.
Wenn es sich um einen Debugbuild der Bibliothek handelt, die Sie zum Debuggen gespeicherter Prozeduren verwenden möchten, aktivieren Sie das Kontrollkästchen "Debuginformationen einschließen ". Weitere Informationen zum Debuggen gespeicherter Prozeduren finden Sie unter Debuggen gespeicherter Prozeduren.
Sie können auf "OK " klicken, um die Assembly sofort zu registrieren, oder auf der Symbolleiste des Dialogfelds können Sie im Menü "Skript " auf einen Befehl klicken, um die Registrierungsaktion in ein Abfragefenster, eine Datei oder die Zwischenablage zu skripten.
Nachdem Sie eine Serverassembly registriert haben, können Sie sie konfigurieren, indem Sie im Objekt-Explorer mit der rechten Maustaste auf die Assembly klicken und dann auf Eigenschaften klicken.
Registrieren einer Datenbankassembly auf dem Server
Im Objekt-Explorer in SQL Server Management Studio werden Datenbankassemblys im Ordner "Assemblys" unter einer Analysis Services-Datenbank aufgelistet. Datenbankassemblys können sowohl .NET (CLR)-Assemblys als auch COM-Bibliotheken enthalten.
So erstellen Sie eine Datenbankassembly auf einem Server
Erweitern Sie die Instanz der Analysis Services-Datenbank im Objekt-Explorer, klicken Sie mit der rechten Maustaste auf den Ordner "Assemblys ", und klicken Sie dann auf "Neue Assembly". Dadurch wird das Dialogfeld "Datenbankassembly registrieren " angezeigt.
Geben Sie für Typ den Typ der Assembly an:
Geben Sie für eine CLR-DLL (Managed Code) .NET-Assembly an.
Geben Sie für eine systemeigene Code-DLL (COM) COM-DLL an.
Geben Sie für den Dateinamen die DLL an, die die gespeicherten Prozeduren enthält.
Geben Sie für den Assemblynamen einen Namen für die Assembly an.
Wenn es sich um einen Debugbuild der Bibliothek handelt, die Sie zum Debuggen gespeicherter Prozeduren verwenden möchten, aktivieren Sie das Kontrollkästchen "Debuginformationen einschließen ". Weitere Informationen zum Debuggen gespeicherter Prozeduren finden Sie unter Debuggen gespeicherter Prozeduren.
Sie können auf "OK " klicken, um die Assembly sofort zu registrieren, oder auf der Symbolleiste des Dialogfelds können Sie im Menü "Skript " auf einen Befehl klicken, um die Registrierungsaktion in ein Abfragefenster, eine Datei oder die Zwischenablage zu skripten.
Nachdem Sie eine Datenbankassembly registriert haben, können Sie sie konfigurieren, indem Sie im Objekt-Explorer mit der rechten Maustaste auf die Assembly klicken und dann auf Eigenschaften klicken.
Registrieren einer Datenbankassembly in einem Projekt
Im Projektmappen-Explorer in SQL Server Data Tools (SSDT) werden Datenbankassemblys im Ordner "Assemblys" unter einem Analysis Services-Projekt aufgeführt. Datenbankassemblys können sowohl .NET (CLR)-Assemblys als auch COM-Bibliotheken enthalten.
So erstellen Sie eine Datenbankassembly in einem Analysis Service-Projekt
Erweitern Sie die Instanz der Analysis Services-Datenbank im Objekt-Explorer, klicken Sie mit der rechten Maustaste auf den Ordner "Assemblys ", und klicken Sie dann auf "Neuer Assemblyverweis". Dadurch wird das Dialogfeld " Verweis hinzufügen " angezeigt. Auf der Registerkarte .NET des Dialogfelds " Verweis hinzufügen " werden vorhandene .NET -Assemblys (CLR) aufgelistet, während auf der Registerkarte "Projekte " Projekte aufgelistet sind.
Sie können auf eine vorhandene Komponente oder ein vorhandenes Projekt klicken und dann auf "Hinzufügen" klicken, um sie dem Analysis Services-Projekt hinzuzufügen. Um einen Verweis auf eine COM-DLL hinzuzufügen, klicken Sie auf die Registerkarte " Durchsuchen ", um die Datei zu suchen. In der Liste "Ausgewählte Projekte und Komponenten " werden der Name, der Typ, die Version und der Speicherort für jede Komponente angezeigt, die Sie dem Projekt hinzufügen.
Wenn Sie die hinzuzufügenden Komponenten ausgewählt haben, klicken Sie auf 'OK ', um sie dem Analysis Services-Projekt hinzuzufügen.
Skriptformat für eine Assembly
Das Registrieren einer .NET-Assembly ist relativ einfach. Eine .NET-Assembly wird einer Datenbank im Binärformat mithilfe des folgenden Formats hinzugefügt:
<Create>
<ObjectDefinition>
<Assembly>
<Files>
<File>
<Name>filename</Name>
<Type>filetype</Type>
<Data>
<Block>binarydatablock</Block>
<Block>binarydatablock</Block>
...
</Data>
</File>
</Files>
<PermissionSet>PermissionSet</PermissionSet>
</Assembly>
<ObjectDefinition>
</Create>
Siehe auch
Verwaltung von mehrdimensionalen Modellassemblys
Definieren gespeicherter Prozeduren