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:Analytics Platform System (PDW)
Wählt Daten aus einer PDW-Datenbank (Analytics Platform System) aus und kopiert diese Daten in eine neue Tabelle in einer SMP SQL Server-Datenbank auf einem Remoteserver. Analytics-Plattformsystem (PDW) verwendet die Appliance mit allen Vorteilen der MPP-Abfrageverarbeitung, um die Daten für die Remotekopie auszuwählen. Wird für Szenarien verwendet CREATE REMOTE TABLE AS SELECT
, die SQL Server-Funktionalität erfordern.
Informationen zum Konfigurieren des Remoteservers finden Sie unter Remotetabellenkopie.
Transact-SQL-Syntaxkonventionen
Syntax
CREATE REMOTE TABLE { database_name.schema_name.table_name | schema_name.table_name | table_name } AT ('<connection_string>')
[ WITH ( BATCH_SIZE = batch_size ) ]
AS <select_statement>
[;]
<connection_string> ::=
Data Source = { IP_address | hostname } [, port ]; User ID = user_name ;Password = strong_password;
<select_statement> ::=
[ WITH <common_table_expression> [ ,...n ] ]
SELECT <select_criteria>
Argumente
database_name
Die Datenbank, in der die Remotetabelle erstellt werden soll. database_name ist eine SQL Server-Datenbank. Standardmäßig vorgegeben ist die Standarddatenbank für den Anmeldenamen des Benutzers auf der SQL Server-Zielinstanz.
schema_name
Das Schema der neuen Tabelle. Standardmäßig vorgegeben ist das Standardschema für den Anmeldenamen des Benutzers auf der SQL Server-Zielinstanz.
table_name
Der Name der neuen Tabelle. Informationen zu zulässigen Tabellennamen finden Sie unter „Objektbenennungsregeln“ in der Produktdokumentation zu Analytics Platform System (PDW).
Die Remotetabelle wird als Heap erstellt. Sie verfügt weder über CHECK-Einschränkungen noch über Trigger. Die Sortierung der Remotetabellenspalten und die Sortierung der Spalten der Quelltabelle sind identisch. Dies gilt für Spalten der Typen char, nchar, varchar und nvarchar.
connection_string
Eine Zeichenfolge, die die Parameter Data Source
, User ID
und Password
für das Herstellen einer Verbindung mit dem Remoteserver und der Datenbank angibt.
Die Verbindungszeichenfolge ist eine durch Semikola getrennte Liste von Schlüssel-Wert-Paaren. Bei Schlüsselwörtern muss die Groß-/Kleinschreibung nicht beachtet werden. Leerzeichen zwischen den Schlüssel-Wert-Paaren werden ignoriert. Bei Werten wird jedoch je nach Datenquelle möglicherweise die Groß-/Kleinschreibung beachtet.
Data Source
Der Parameter, der den Namen oder die IP-Adresse und die TCP-Portnummer für den SMP-SQL Server-Remote-Instanz angibt.
hostname oder IP_address
Name des Remoteservercomputers oder IPv4-Adresse des Remoteservers. IPv6-Adressen werden nicht unterstützt. Sie können eine benannte SQL Server-Instanz im Format Computer_Name\Instance_Name oder IP_address\Instance_Name angeben. Der Server muss remote sein und kann daher nicht als „(local)“ angegeben werden.
TCP port number
Die für die Verbindung verwendete TCP-Portnummer. Sie können eine TCP-Portnummer zwischen 0 und 65535 für eine Instanz von SQL Server angeben, die nicht am Standardport 1433 lauscht. Beispiel: ServerA,1450
oder <ip address>,1435
.
Hinweis
Es wird empfohlen, die Verbindung mit dem Remoteserver über die IP-Adresse herzustellen. Je nach Netzwerkkonfiguration sind zur Herstellung einer Verbindung unter Angabe des Computernamens möglicherweise weitere Schritte erforderlich, damit Ihr nicht zur Appliance gehörender DNS-Server zum Auflösen des Namens in den korrekten Server verwendet werden kann. Dieser Schritt ist nicht erforderlich, wenn Sie die Verbindung mit einer IP-Adresse herstellen. Weitere Informationen finden Sie unter Verwenden einer DNS-Weiterleitung zum Auflösen von NICHT-Appliance-DNS-Namen in Analytics Platform System.
user_name
Eine gültige SQL Server-Anmelde-ID für die Authentifizierung. Die maximale Anzahl von Zeichen ist 128.
password
Das Anmeldekennwort. Die maximale Anzahl von Zeichen ist 128.
batch_size
Die maximale Anzahl der Zeilen pro Batch. Analytics-Plattformsystem (PDW) sendet Zeilen in Batches an den Zielserver. Batch_size ist eine positive ganze Zahl >= 0. Standard ist "0".
WITH common_table_expression
Gibt ein temporäres benanntes Resultset an, das als allgemeiner Tabellenausdruck (CTE, Common Table Expression) bezeichnet wird. Weitere Informationen finden Sie unter WITH common_table_expression (Transact-SQL).
SELECT <select_criteria>
Das Abfrage-Prädikat, das angibt, welche Daten die neue Remotetabelle auffüllen. Informationen zur SELECT-Anweisung finden Sie unter SELECT (Transact-SQL).
Berechtigungen
Erfordert:
SELECT-Berechtigung für jedes Objekt in der SELECT-Klausel.
CREATE TABLE-Berechtigung für die SMP-Zieldatenbank.
ALTER-, INSERT- und SELECT-Berechtigungen für das SMP-Zielschema.
Fehlerbehandlung
Wenn das Kopieren von Daten in die Remotedatenbank fehlschlägt, bricht das Analytics Platform System (PDW) den Vorgang ab, protokolliert einen Fehler und versucht, die Remotetabelle zu löschen. Analytics-Plattformsystem (PDW) gewährleistet nicht die erfolgreiche Bereinigung der neuen Tabelle.
Begrenzungen
Remotezielserver:
TCP ist die Standardeinstellung und das einzige unterstützte Protokoll zum Herstellen einer Verbindung mit einem Remoteserver.
Der Zielserver muss ein Nichtanwendungsserver sein.
CREATE REMOTE TABLE
können nicht verwendet werden, um Daten aus einer Appliance in eine andere zu kopieren.Mit der
CREATE REMOTE TABLE
-Anweisung werden nur neue Tabellen erstellt. Aus diesem Grund darf die neue Tabelle noch nicht vorhanden sein. Remotedatenbank und Remoteschema müssen bereits vorhanden sein.Der Remoteserver benötigt verfügbaren Speicherplatz zum Speichern der Daten, die von der Appliance zur SQL Server-Remotedatenbank übertragen werden.
SELECT-Anweisung:
Die klauseln
ORDER BY
undTOP
werden in den Auswahlkriterien nicht unterstützt.CREATE REMOTE TABLE
kann nicht innerhalb einer aktiven Transaktion ausgeführt werden oder wenn die AUTOCOMMIT OFF-Einstellung für die Sitzung aktiv ist.
SET ROWCOUNT (Transact-SQL) hat keine Auswirkung auf diese Anweisung. Verwenden Sie TOP (Transact-SQL), um ein ähnliches Verhalten zu erzielen.
Sperrverhalten
Nachdem Sie die Remotetabelle erstellt haben, ist die Zieltabelle erst gesperrt, wenn die Kopie gestartet wird. Aus diesem Grund ist es möglich, dass ein anderer Prozess die Remotetabelle löscht, nachdem sie erstellt wurde und bevor der Kopiervorgang gestartet wird. In diesem Fall generiert das Analytics Platform System (PDW) einen Fehler, und die Kopie schlägt fehl.
Metadaten
Verwenden Sie sys.dm_pdw_dms_workers (Transact-SQL), um den Status des Kopiervorgangs der ausgewählten Daten auf den SMP-Remoteserver anzuzeigen. Zeilen mit dem Typ PARALLEL_COPY_READER enthalten diese Informationen.
Sicherheit
CREATE REMOTE TABLE
verwendet die SQL Server-Authentifizierung, um eine Verbindung mit der SQL Server-Remoteinstanz herzustellen; sie verwendet keine Windows-Authentifizierung.
Das von außen zugängliche Netzwerk Analytics-Plattformsystem (PDW) muss durch eine Firewall geschützt sein. Ausnahmen sind SQL Server-Ports, administrative Ports und Managementports.
Zur Vermeidung versehentlicher Datenverluste oder -beschädigungen sollte das Benutzerkonto, das zum Kopieren von der Appliance in die Zieldatenbank verwendet wird, nur über die mindestens erforderlichen Berechtigungen für die Zieldatenbank verfügen.
Mithilfe der Verbindungseinstellungen können Sie eine Verbindung mit der SMP-SQL Server-Instanz herstellen. Dabei sind Benutzername und Kennwortdaten SSL-geschützt, die eigentlichen Daten werden jedoch unverschlüsselt gesendet. In diesem Fall kann ein böswilliger Benutzer den CREATE REMOTE TABLE
Anweisungstext abfangen, der den SQL Server-Benutzernamen und das Kennwort enthält, um sich bei der SMP SQL Server-Instanz anzumelden. Um dieses Risiko zu vermeiden, verwenden Sie die Verschlüsselung von Daten für die Verbindung mit der SMP-SQL Server-Instanz.
Beispiele
A. Erstellen einer Remotetabelle
In diesem Beispiel wird eine SQL Server-SMP-Remotetabelle, die MyOrdersTable
heißt, in der Datenbank OrderReporting
und dem Schema Orders
erstellt. Die OrderReporting
-Datenbank befindet sich auf einem Server mit dem Namen SQLA
, der am Standardport 1433 lauscht. Anbieter Ihrer eigenen <user name>
und <strong password>
.
CREATE REMOTE TABLE OrderReporting.Orders.MyOrdersTable
AT ( 'Data Source = SQLA, 1433; User ID = <user name>; Password = <strong password>;' )
AS SELECT <select_criteria>;
B. Abfragen des sys.dm_pdw_dms_workers DMV für den Remotetabellenkopiestatus
Diese Abfrage zeigt, wie der Kopierstatus für eine Remotetabellenkopie angezeigt wird.
SELECT * FROM sys.dm_pdw_dms_workers
WHERE type = 'PARALLEL_COPY_READER';
C. Verwenden eines Abfragebeitrittshinweiss mit CREATE REMOTE TABLE
Diese Abfrage zeigt die grundlegende Syntax für die Verwendung eines Abfragebeitrittshinweiss mit CREATE REMOTE TABLE
. Nachdem die Abfrage an den Steuerungsknoten übermittelt wurde, wendet SQL Server (wird auf den Computeknoten ausgeführt) die Hashjoinstrategie an, wenn der SQL Server-Abfrageplan generiert wird. Weitere Informationen zu Verknüpfungshinweisen und zur Verwendung der OPTION-Klausel finden Sie unter OPTION-Klausel (Transact-SQL).
USE ssawPDW;
CREATE REMOTE TABLE OrderReporting.Orders.MyOrdersTable
AT ( 'Data Source = SQLA, 1433; User ID = <user name>; Password = <strong password>;' )
AS SELECT T1.* FROM OrderReporting.Orders.MyOrdersTable T1
JOIN OrderReporting.Orders.Customer T2
ON T1.CustomerID=T2.CustomerID OPTION (HASH JOIN);