Data Mining-Dienste und Datenquellen

Gilt für: SQL Server 2019 und früher Analysis Services Azure Analysis Services Fabric/Power BI Premium

Wichtig

Data Mining wurde in SQL Server 2017 Analysis Services als veraltet eingestuft und wurde jetzt in SQL Server 2022 Analysis Services eingestellt. Die Dokumentation wird für veraltete und eingestellte Features nicht aktualisiert. Weitere Informationen finden Sie unter Abwärtskompatibilität von Analysis Services.

Für Data Mining ist eine Verbindung zu einer Instanz von SQL Server Analysis Services erforderlich. Daten aus einem Cube sind für das Data Mining nicht erforderlich, und die Verwendung relationaler Quellen wird empfohlen. Data Mining verwendet jedoch Komponenten, die vom SQL Server Analysis Services-Engine bereitgestellt werden.

Dieses Thema enthält Informationen, die Sie beim Herstellen einer Verbindung mit einer instance von SQL Server SQL Server Analysis Services zum Erstellen, Verarbeiten, Bereitstellen oder Abfragen von Data Mining-Modellen kennen müssen.

Data Mining-Dienste

Die Serverkomponente von Microsoft 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 XMLA-Überwachungskomponente (XML for Analysis), einer Abfrageverarbeitungskomponente und zahlreichen internen Komponenten, die die folgenden Funktionen ausführen:

  • Analysieren von Anweisungen, die von Client empfangen werden

  • Verwalten von Metadaten

  • Behandeln von Transaktionen

  • Verarbeiten von Berechnungen

  • Speichern von Dimensions- und Zellendaten

  • Erstellen von Aggregationen

  • Planen von Abfragen

  • Zwischenspeichern von Objekten

  • Verwalten von Serverressourcen

XMLA-Überwachung

Die XMLA-Listenerkomponente übernimmt die gesamte XMLA-Kommunikation zwischen SQL Server Analysis Services und ihren Clients. Die Einstellung SQL Server Analysis Services Portkonfiguration in der msmdsrv.ini-Datei kann verwendet werden, um einen Port anzugeben, an dem ein SQL Server Analysis Services instance lauscht. Der Wert 0 in dieser Datei gibt an, dass SQL Server Analysis Services am Standardport lauschen. Sofern nicht anders angegeben, verwendet SQL Server Analysis Services die folgenden TCP-Standardports:

Port Beschreibung
2383 Standard instance von SQL Server SQL Server Analysis Services.
2382 Redirector für andere Instanzen von SQL Server SQL Server Analysis Services.
Dynamische Zuweisung beim Serverstart. Benannt instance von SQL Server SQL Server Analysis Services.

Weitere Informationen zum Steuern der von diesem Dienst verwendeten Ports finden Sie unter Konfigurieren der Windows-Firewall, um den Zugriff auf Analysis Services zuzulassen.

Herstellen einer Verbindung mit Datenquellen

Bei jedem Erstellen oder Aktualisieren einer Data Mining-Struktur oder -Modells verwenden Sie Daten, die von einer Datenquelle definiert sind. Die Datenquelle enthält nicht die Daten, die Excel-Arbeitsmappen, Textdateien und SQL Server-Datenbanken enthalten könnten. Sie definiert nur die Verbindungsinformationen. Eine Datenquellensicht (Data Source View, DSV) dient oben auf dieser Quelle als Abstraktionsebene, ändert oder ordnet die Daten zu, die aus der Quelle abgerufen werden.

Es ginge über dieses Thema hinaus, die Verbindungsanforderungen für jede dieser Quellen zu beschreiben. Weitere Informationen finden Sie in der Dokumentation für den Anbieter. Sie sollten im Allgemeinen jedoch die folgenden Anforderungen von Analysis Services beachten, wenn Sie mit Anbietern interagieren:

  • Da Data Mining ein Dienst ist, der von einem Server bereitgestellt wird, muss dem SQL Server Analysis Services instance Zugriff auf die Datenquelle gewährt werden. Es gibt zwei Aspekte zuzugreifen: Speicherort und Identität.

    Speicherort bedeutet, wenn Sie ein Modell mithilfe der nur auf Ihrem Computer gespeicherten Daten erstellen und dieses Modell dann auf einem Server bereitstellen, könnte das Modell nicht verarbeitet werden, da die Datenquelle nicht gefunden werden kann. Um dieses Problem zu beheben, müssen Sie möglicherweise Daten in dieselbe SQL Server instance übertragen, in der SQL Server Analysis Services ausgeführt wird, oder Dateien an einen freigegebenen Speicherort verschieben.

    Identität bedeutet, dass die Dienste auf SQL Server Analysis Services in der Lage sein müssen, die Datendatei oder Datenquelle mit den entsprechenden Anmeldeinformationen zu öffnen. Als Sie beispielsweise das Modell erstellt haben, standen Ihnen möglicherweise unbegrenzte Berechtigungen zum Anzeigen der Daten zur Verfügung, der Benutzer, der die Modelle auf dem Server verarbeitet and aktualisiert, kann möglicherweise nur eingeschränkt oder nicht auf die Daten zugreifen. Dies wiederum kann zu Fehlern bei der Verarbeitung führen oder die Inhalte des Modells beeinträchtigen. Das Konto, das zum Verbinden zur Remotedatenquelle verwendet wird, muss mindestens über Leseberechtigungen auf die Daten verfügen.

  • Wenn Sie ein Modell verschieben, sind die gleichen Anforderungen gültig: Sie müssen entsprechenden Zugriff zum Speicherort der alten Datenquelle einrichten, müssen die Datenquellen kopieren oder müssen eine neue Datenquelle konfigurieren. Sie müssen zudem Anmeldedaten 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 Dialogfelds Analysis Server-Eigenschaften (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 im Hinblick auf Data Mining besonders relevant:

  • AllowAdHocOpenRowsetQueries : Steuert den Ad-hoc-Zugriff auf OLE DB-Anbieter, die direkt in den Serverspeicherbereich geladen werden.

    Wichtig

    Zur Erhöhung der Sicherheit wird empfohlen, diese Eigenschaft auf falsefestzulegen. Der Standardwert ist false. Auch wenn diese Eigenschaft auf falsefestgelegt ist, können Benutzer dennoch weiterhin SINGLETON-Abfragen erstellen und OPENQUERY für zulässige Datenquellen verwenden.

  • AllowedProvidersInOpenRowset : Gibt den Anbieter an, wenn Ad-hoc-Zugriff aktiviert ist. Sie können mehrere Anbieter angeben, indem Sie eine durch Trennzeichen getrennte Liste von Programm-IDs eingeben.

  • MaxConcurrentPredictionQueries : Steuert die durch Vorhersagen verursachte Last auf dem Server. Der Standardwert 0 ermöglicht unbegrenzte Abfragen für SQL Server Enterprise und maximal fünf gleichzeitige Abfragen für SQL Server Standard. Abfragen über diesem Limit werden serialisiert und können zu einem Timeout führen.

Der Server bietet zusätzliche Eigenschaften, die die Verfügbarkeit der Data Mining-Algorithmen, einschließlich Einschränkungen der Algorithmen, und die Standardwerte für alle Data Mining-Dienste steuern. Es gibt jedoch keine Einstellungen, mit denen Sie den Zugriff speziell auf Data Mining-gespeicherte Prozeduren steuern können. Weitere Informationen finden Sie unter Data Mining Properties.

Sie können auch Eigenschaften festlegen, mit denen Sie den Server optimieren und die Sicherheit für die Clientverwendung kontrollieren können. Weitere Informationen finden Sie unter Feature Properties.

Hinweis

Weitere Informationen zur Unterstützung von Plug-In-Algorithmen durch die Editionen von SQL Server finden Sie unter Features Supported by the Editions of SQL Server 2012 (https://go.microsoft.com/fwlink/?linkid=232473).

Programmgesteuerter Zugriff auf Data Mining-Objekte

Mit den folgenden Objektmodellen können Sie eine Verbindung zu einer Analysis Services-Datenbank herstellen und mit Data Mining-Objekten arbeiten.

ADO : Verwendet OLE DB zur Herstellung einer Verbindung mit einem Analysis Services-Server. Wenn Sie ADO verwenden, wird der Client auf Schemarowsetabfragen und DMX-Anweisungen beschränkt.

ADO.NET : Interagiert mit SQL Server-Anbietern besser als mit anderen Anbietern. Verwendet Datenadapter, um dynamische Rowsets zu speichern. Verwendet das Datasetobjekt, das einen Cache der als Datentabellen gespeicherten Serverdaten darstellt. Diese Tabellen können aktualisiert oder im XML-Format gespeichert werden.

ADOMD.NET : Ein verwalteter Datenanbieter, der zur Verwendung mit Data Mining und OLAP optimiert ist. ADOMD.NET ist schneller und speichereffizienter als ADO.NET. Mit ADOMD.NET können Sie auch Metadaten über Serverobjekte abrufen. ADOMD.NET wird für Clientanwendungen empfohlen, außer .NET ist nicht verfügbar.

Server-ADOMD : Objektmodell für den direkten Zugriff auf Analysis Services-Objekte auf dem Server. Wird von Analysis Services-gespeicherten Prozeduren verwendet; nicht für die Clientverwendung.

AMO: Verwaltungsschnittstelle für Analysis Services, die Entscheidungsunterstützungsobjekte (DSO) ersetzt. Beim Verwenden von AMO erfordern Vorgänge wie die Iteration von Objekten höhere Berechtigungen als bei Verwendung anderer Schnittstellen. Der Grund hierfür liegt darin, dass AMO direkt auf Metadaten zugreift, wohingegen ADOMD.NET und andere Schnittstellen nur auf die Datenbankschemas zugreifen.

Durchsuchen und Abfragezugriff auf Server

Sie können alle Arten von Vorhersagen mit einer Instanz von Analysis Services im OLAP-/Data Mining-Modus ausführen. Es gelten jedoch folgende Einschränkungen:

  • Wenn Sie Server-ADOMD verwenden, können Sie mit 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 ohne Remote-Instanzen 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 zur Verwendung als Parameter übergeben. Daher können Sie die Daten auf dem Client oder Daten verwenden, die für den Server nicht verfügbar sind. Möglich ist auch die Verwendung von gestalteten Tabellen als Vorhersageeingabe.

Verwenden von Data Mining-gespeicherten Prozeduren

Gespeicherte Prozeduren werden häufig zum Kapseln von Abfragen zur Wiederverwendung verwendet. Der Client kann CALL verwenden, um gespeicherte Prozeduren auszuführen, einschließlich SQL Server Analysis Services gespeicherten Systemprozeduren.

Wenn die Prozedur ein Dataset zurückgibt, erhält der Client ein Dataset oder eine Datentabelle mit einer geschachtelten Tabelle, die die Zeilen enthält. Wenn Sie jedoch eine Abfrage für den Modellinhalt erstellen, gibt die Abfrage das ganze Modell zurück. Damit nicht zu viele Zeilen zurückgegeben werden, können Sie gespeicherte Prozeduren schreiben, indem Sie das ADOMD+-Objektmodell verwenden.

Um eine servergespeicherte Prozedur zu schreiben, müssen Sie auf den Microsoft.AnalysisServices.AdomdServer-Namespace verweisen. Weitere Informationen zum Erstellen und Verwenden von gespeicherten Prozeduren finden Sie unter User Defined Functions and Stored Procedures.

Hinweis

Gespeicherte Prozeduren können nicht verwendet werden, um die Sicherheit auf 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 Datenbankobjekte verfügen, auf die sie zugreifen.

Weitere Informationen

Physische Architektur (Analysis Services – Mehrdimensionale Daten)
Physische Architektur (Analysis Services – Data Mining)
Verwaltung von Data Mining-Lösungen und -Objekten