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.
Gilt für:
SQL Server 2019 und frühere Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
Von Bedeutung
Data Mining wurde in SQL Server 2017 Analysis Services verworfen und ist in SQL Server 2022 Analysis Services eingestellt worden. Die Dokumentation wird nicht für veraltete und nicht mehr unterstützte Features aktualisiert. Weitere Informationen finden Sie unter "Analysis Services-Abwärtskompatibilität".
Data Mining erfordert eine Verbindung mit einer Instanz von SQL Server Analysis Services. Daten aus einem Cube sind für data Mining nicht erforderlich und die Verwendung relationaler Quellen wird empfohlen; Data Mining verwendet jedoch Komponenten, die vom SQL Server Analysis Services-Modul bereitgestellt werden.
Dieses Thema enthält Informationen, die Sie wissen müssen, wenn Sie eine Verbindung mit einer Instanz von SQL Server SQL Server Analysis Services herstellen, um Data Mining-Modelle zu erstellen, zu verarbeiten, bereitzustellen oder abzufragen.
Datenmining-Dienste
Die Serverkomponente von Microsoft SQL Server SQL Server SQL Server Analysis Services ist die msmdsrv.exe Anwendung, die normalerweise als Windows-Dienst ausgeführt wird. Diese Anwendung besteht aus Sicherheitskomponenten, einer XML for Analysis (XMLA)-Listenerkomponente, einer Abfrageprozessorkomponente und zahlreichen anderen internen Komponenten, die die folgenden Funktionen ausführen:
Analyseanweisungen, die von Clients empfangen wurden
Verwalten von Metadaten
Behandeln von Transaktionen
Verarbeiten von Berechnungen
Speichern von Dimensions- und Zelldaten
Erstellen von Aggregationen
Planen von Abfragen
Zwischenspeichern von Objekten
Verwalten von Serverressourcen
XMLA-Listener
Die XMLA-Listenerkomponente verarbeitet alle XMLA-Kommunikationen zwischen SQL Server Analysis Services und seinen Clients. Die Konfigurationseinstellung für sql Server Analysis Services-Port in der datei msmdsrv.ini kann verwendet werden, um einen Port anzugeben, auf den eine SQL Server Analysis Services-Instanz lauscht. Der Wert 0 in dieser Datei gibt an, dass SQL Server Analysis Services den Standardport überwacht. Sofern nicht anders angegeben, verwendet SQL Server Analysis Services die folgenden Standard-TCP-Ports:
| Hafen | Description |
|---|---|
| 2383 | Standardinstanz von SQL Server SQL Server Analysis Services. |
| 2382 | Umleitung für andere Instanzen von SQL Server SQL Server Analysis Services. |
| Dynamisch beim Serverstart zugewiesen | Benannte Instanz von SQL Server SQL Server Analysis Services. |
Weitere Informationen zum Steuern der von diesem Dienst verwendeten Ports finden Sie unter Konfigurieren der Windows-Firewall zum Zulassen des Analysis Services-Zugriffs.
Herstellen einer Verbindung mit Datenquellen
Wenn Sie eine Data Mining-Struktur oder ein Data Mining-Modell erstellen oder aktualisieren, verwenden Sie Daten, die von einer Datenquelle definiert werden. Die Datenquelle enthält nicht die Daten, die Excel-Arbeitsmappen, Textdateien und SQL Server-Datenbanken enthalten können; sie definiert nur die Verbindungsinformationen. Eine Datenquellenansicht (Data Source View, DSV) dient als Abstraktionsebene über dieser Quelle, indem sie die Daten, die aus der Quelle abgerufen werden, modifiziert oder zuordnet.
Es geht über den Rahmen dieses Themas hinaus, um die Verbindungsanforderungen für jede dieser Quellen zu beschreiben. Weitere Informationen finden Sie in der Dokumentation für den Anbieter. Im Allgemeinen sollten Sie jedoch die folgenden Anforderungen von Analysis Services kennen, wenn Sie mit Anbietern interagieren:
Da Data Mining ein Dienst ist, der von einem Server bereitgestellt wird, muss die SQL Server Analysis Services-Instanz Zugriff auf die Datenquelle erhalten. Es gibt zwei Aspekte für den Zugriff: Standort und Identität.
Der Speicherort bedeutet, dass das Modell nicht verarbeitet werden kann, wenn Sie ein Modell mit Daten erstellen, die nur auf Ihrem Computer gespeichert sind, und dann das Modell auf einem Server bereitstellen, da die Datenquelle nicht gefunden werden kann. Um dieses Problem zu beheben, müssen Sie möglicherweise Daten in dieselbe SQL Server-Instanz übertragen, in der SQL Server Analysis Services ausgeführt wird, oder Dateien an einen freigegebenen Speicherort verschieben.
Die Identität bedeutet, dass die Dienste in SQL Server Analysis Services in der Lage sein müssen, die Datendatei oder Datenquelle mit den entsprechenden Anmeldeinformationen zu öffnen. Wenn Sie beispielsweise das Modell erstellt haben, hatten Sie möglicherweise unbegrenzte Berechtigungen zum Anzeigen der Daten, aber der Benutzer, der die Modelle auf dem Server verarbeitet und aktualisiert, hat möglicherweise einen eingeschränkten oder keinen Zugriff auf die Daten, was dazu führen kann, dass der Inhalt eines Modells nicht verarbeitet oder beeinflusst wird. Mindestens muss das Konto, das für die Verbindung mit der Remotedatenquelle verwendet wird, über Leseberechtigungen für die Daten verfügen.
Wenn Sie ein Modell verschieben, gelten dieselben Anforderungen: Sie müssen den entsprechenden Zugriff auf den Speicherort der alten Datenquelle einrichten, die Datenquellen kopieren oder eine neue Datenquelle konfigurieren. Außerdem müssen Sie Anmeldeinformationen und Rollen übertragen oder Berechtigungen einrichten, damit Data Mining-Objekte am neuen Speicherort verarbeitet und aktualisiert werden können.
Konfigurieren von Berechtigungen und Servereigenschaften
Data Mining erfordert zusätzliche Berechtigungen für eine SQL Server Analysis Services-Datenbank. Die meisten Data Mining-Eigenschaften können mithilfe des Analysis Server-Eigenschaftendialogfelds (Analysis Services) festgelegt werden.
Weitere Informationen zu den Eigenschaften, die Sie konfigurieren können, finden Sie unter Servereigenschaften in Analysis Services.
Die folgenden Servereigenschaften sind für Data Mining von besonderer Bedeutung:
AllowAdHocOpenRowsetQueries Steuert den Ad-hoc-Zugriff auf OLE DB-Anbieter, die direkt in den Serverspeicherplatz geladen werden.
Von Bedeutung
Um die Sicherheit zu verbessern, empfehlen wir, diese Eigenschaft auf "false" festzulegen. Der Standardwert ist false. Auch wenn diese Eigenschaft auf "false" festgelegt ist, können Benutzer weiterhin Singletonabfragen erstellen und OPENQUERY für zulässige Datenquellen verwenden.
AllowedProvidersInOpenRowset Gibt den Anbieter an, wenn der Ad-hoc-Zugriff aktiviert ist. Sie können mehrere Anbieter angeben, indem Sie eine durch Trennzeichen getrennte Liste von ProgIDs eingeben.
MaxConcurrentPredictionQueries Steuert die Last auf dem Server, die durch Vorhersagen verursacht wird. Der Standardwert von 0 ermöglicht unbegrenzte Abfragen für SQL Server Enterprise und maximal fünf gleichzeitige Abfragen für SQL Server Standard. Abfragen oberhalb des Grenzwerts werden serialisiert und können ein Timeout sein.
Der Server stellt zusätzliche Eigenschaften bereit, die steuern, welche Data Mining-Algorithmen verfügbar sind, einschließlich aller Einschränkungen für die Algorithmen und die Standardwerte für alle Data Mining-Dienste. Es gibt jedoch keine Einstellungen, mit denen Sie den Zugriff auf gespeicherte Data Mining-Prozeduren speziell steuern können. Weitere Informationen finden Sie unter Data Mining-Eigenschaften.
Sie können auch Eigenschaften festlegen, mit denen Sie den Server optimieren und die Sicherheit für die Clientnutzung steuern können. Weitere Informationen finden Sie unter Feature-Eigenschaften.
Hinweis
Weitere Informationen zur Unterstützung von Plug-In-Algorithmen durch die Editionen von SQL Server finden Sie unter Features, die von den Editionen von SQL Server 2012 (https://go.microsoft.com/fwlink/?linkid=232473) unterstützt werden.
Programmgesteuerter Zugriff auf Data Mining-Objekte
Mit den folgenden Objektmodellen können Sie eine Verbindung mit einer Analysis Services-Datenbank erstellen und mit Data Mining-Objekten arbeiten:
ADO Verwendet OLE DB zum Herstellen einer Verbindung mit einem Analysis Services-Server. Wenn Sie ADO verwenden, ist der Client auf Schema-Rowset-Abfragen und ASPX-Anweisungen beschränkt.
ADO.NET Interagiert besser mit SQL Server-Anbietern als anderen Anbietern. Verwendet Datenadapter zum Speichern dynamischer Rowsets. Verwendet das Datasetobjekt, bei dem es sich um einen Cache der Serverdaten handelt, die als Datentabellen gespeichert sind, die als XML aktualisiert oder gespeichert werden können.
ADOMD.NET Ein verwalteter Datenanbieter, der für die Arbeit mit Data Mining und OLAP optimiert ist. ADOMD.NET ist schneller und effizienter als ADO.NET. ADOMD.NET ermöglicht es Ihnen auch, Metadaten zu Serverobjekten abzurufen. Empfohlen für Clientanwendungen, außer wenn .NET nicht verfügbar ist.
Server ADOMD Objektmodell für den Zugriff auf Analysis Services-Objekte direkt auf dem Server. Wird von gespeicherten Prozeduren von Analysis Services verwendet; nicht für die Clientverwendung.
AMO Verwaltungsschnittstelle für Analysis Services, die Decision Support Objects (DSO) ersetzt. Vorgänge wie das Iterieren von Objekten erfordern höhere Berechtigungen bei verwendung von AMO als bei Verwendung anderer Schnittstellen. Das liegt daran, dass AMO direkt auf Metadaten zugreift, während ADOMD.NET und andere Schnittstellen nur auf die Datenbankschemas zugreifen.
Durchsuchen und Abfragen des Zugriffs auf Server
Sie können alle Arten von Vorhersagen mithilfe einer Instanz von Analysis Services im OLAP/Data Mining-Modus mit den folgenden Einschränkungen ausführen:
Wenn Sie den Server ADOMD verwenden, können Sie mithilfe von DMX auf den Server zugreifen, ohne eine Verbindung herzustellen. Anschließend können Sie die Ergebnisse direkt in eine Datentabelle kopieren. Server ADOMD kann jedoch nicht mit Remoteinstanzen verwendet werden. Sie können nur den lokalen Server abfragen.
ADO.NET unterstützt keine benannten Parameter für data Mining. Sie müssen ADOMD.NET verwenden.
mit ADOMD.NET können Sie eine gesamte Tabelle übergeben, die als Parameter verwendet werden soll; Daher können Sie Daten auf dem Client oder Daten verwenden, die für den Server nicht verfügbar sind. Sie können auch förmige Tabellen als Vorhersageeingabe verwenden.
Verwenden gespeicherter Data Mining-Prozeduren
Eine häufige Verwendung gespeicherter Prozeduren besteht darin, Abfragen zur Wiederverwendung zu kapseln. Der Client kann CALL verwenden, um gespeicherte Prozeduren auszuführen, einschließlich gespeicherter SQL Server Analysis Services-Systemprozeduren.
Wenn die Prozedur ein Dataset zurückgibt, empfängt der Client ein Dataset oder ein DataTable mit einer geschachtelten Tabelle, die die Zeilen enthält. Wenn Sie beispielsweise eine Abfrage für den Modellinhalt erstellen, gibt die Abfrage das gesamte Modell zurück. Um zu vermeiden, zu viele Zeilen zurückzubringen, können Sie gespeicherte Prozeduren mithilfe des ADOMD+-Objektmodells schreiben.
Um eine gespeicherte Serverprozedur zu schreiben, müssen Sie auf den Microsoft.AnalysisServices.AdomdServer-Namespace verweisen. Weitere Informationen zum Erstellen und Verwenden von gespeicherten Prozeduren finden Sie unter "Benutzerdefinierte Funktionen" und "Gespeicherte Prozeduren".
Hinweis
Gespeicherte Prozeduren können nicht verwendet werden, um die Sicherheit von Datenserverobjekten zu ändern. Wenn Sie eine gespeicherte Prozedur ausführen, wird der aktuelle Kontext des Benutzers verwendet, um den Zugriff auf alle Serverobjekte zu bestimmen. Daher müssen Benutzer über entsprechende Berechtigungen für alle Datenbankobjekte verfügen, auf die sie zugreifen.
Siehe auch
Physische Architektur (Analysis Services – multidimensionale Daten)
Physische Architektur (Analysis Services – Data Mining)
Verwaltung von Data Mining-Lösungen und -Objekten