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.
Aktualisiert: 17. Juli 2006
Wenn der Anbieter die erforderlichen OLE DB-Schnittstellen unterstützt, sind alle im Folgenden genannten Transact-SQL-Anweisungsklassen zugelassen.
Transact-SQL-Anweisungen
Die folgende Liste enthält die Teilmengen der Transact-SQL-Sprache, die für Remotetabellen zulässig sind, auf die über Verbindungsservernamen oder über Ad-hoc-Namen zugegriffen wird:
- Alle Abfragen in der Standardform SELECT select_list FROM-Klausel WHERE-Klausel sind zulässig. Die INTO new_table_name-Klausel in SELECT-Anweisungen ist nicht zulässig, wenn new_table_name auf eine Remotetabelle verweist.
- In SELECT-, INSERT-, UPDATE- und DELETE-Anweisungen können Spalten in Remotetabellen nicht mit einem einteiligen oder vierteiligen Tabellennamen gekennzeichnet werden. Den Remotetabellen sollte in der FROM-Klausel ein Alias zugeordnet werden, und der Aliasname sollte zur Kennzeichnung des Spaltennamens verwendet werden.
- Tabellen, die xml-Spalten enthalten, können nicht abgefragt werden, selbst wenn mit der Abfrage auf Nicht-xml-Spalten der Tabelle zugegriffen wird.
- Wenn eine LOB-Spalte (Large OBject) einer Remotetabelle als Element in der select_list einer SELECT-Anweisung angegeben wird, darf die SELECT-Anweisung keine ORDER BY-Klausel enthalten.
- Die Prädikate IS NULL und IS NOT NULL können nicht auf LOB-Spalten in einer Remotetabelle verweisen.
- GROUP BY ALL ist in einer verteilten Abfrage nicht zulässig, wenn die Abfrage auch eine WHERE-Klausel enthält. GROUP BY ohne die Angabe von ALL wird unterstützt.
- INSERT-Anweisungen können auf Remotetabellen angewendet werden, sofern der Anbieter die OLE DB-Anforderungen für INSERT-Anweisungen erfüllt. Weitere Informationen finden Sie unter INSERT-Anforderungen für OLE DB-Anbieter.
- NULL-Konstanten können nicht über eine verteilte Abfrage in eine timestamp-Spalte eingefügt werden.
- $IDENTITY und $ROWGUIDCOL werden für verteilte Abfragen nicht unterstützt. Explizite Werte können in Remotetabellen nicht in identity-Spalten eingefügt werden.
- UPDATE- und DELETE-Anweisungen können auf Remotetabellen angewendet werden, sofern der Anbieter die OLE DB-Schnittstellenanforderungen für die angegebene Tabelle erfüllt. Weitere Informationen finden Sie unter UPDATE- und DELETE-Anforderungen für OLE DB-Anbieter.
- Eine Remotetabelle kann durch einen für eine verteilte Abfrage definierten Cursor aktualisiert oder gelöscht werden, wenn die Remotetabelle in der UPDATE- oder DELETE-Anweisung angegeben ist (UPDATE oder DELETE remote_table WHERE CURRENT OF cursor_name), sofern der Anbieter die Bedingungen für Aktualisierbarkeit der Remotetabelle erfüllt. Weitere Informationen finden Sie unter Verwenden von Cursorn mit verteilten Abfragen.
- READTEXT-, WRITETEXT- und UPDATETEXT-Anweisungen können nicht auf Remotetabellen angewendet werden.
- Auf Spalten mit LOB-Datentypen (Large Object, z. B. text, ntext oder image) kann bei Aktualisierungs- oder Einfügevorgängen nicht verwiesen werden, wenn der Anbieter außerhalb des SQL Server-Prozesses instanziiert wird; die Anbieteroption AllowInProcess entspricht 0. Weitere Informationen finden Sie unter Konfigurieren von OLE DB-Anbietern für verteilte Abfragen.
- DDL-Anweisungen (Data Definition Language, Datendefinitionssprache) wie CREATE, ALTER oder DROP sind für Verbindungsserver nicht zulässig.
- Die EXECUTE-Anweisung, mit der ein Pass-Through-Befehl angegeben wird, wird für Verbindungsserver unterstützt. Mit dieser Anweisung können gespeicherte Prozeduren für andere Anbieter als SQL Server ausgeführt werden.
- Es sind keine anderen Operationen oder Anweisungen auf Datenbankebene für Verbindungsserver zulässig.
Weitere Richtlinien
Es gelten folgende zusätzliche Einschränkungen und Richtlinien:
- STATIC- oder INSENSITIVE-Cursor können auf Remotetabellen verweisen. Keysetgesteuerte Cursor können auf Remotetabellen verweisen, wenn der OLE DB-Anbieter bestimmte Anforderungen erfüllt. Weitere Informationen zu diesen Anforderungen finden Sie unter Anforderungen für OLE DB-Anbieter in Bezug auf die Verwendung keysetgesteuerter Cursor. Es können keine anderen Cursortypen auf eine Remotetabelle verweisen.
- Gespeicherte Prozeduren werden nur für SQL Server-Datenquellen unterstützt.
- Die Optionen ANSI_NULLS und ANSI_WARNINGS müssen für eine Verbindung auf ON festgelegt sein, damit verteilte Abfragen ausgeführt werden können. Weitere Informationen finden Sie unter SET ANSI_DEFAULTS (Transact-SQL).
Siehe auch
Konzepte
Verwenden von Transaktionen mit verteilten Abfragen
Datentypzuordnung mit verteilten Abfragen
Verteilte Abfragen
Andere Ressourcen
SELECT (Transact-SQL)
EXECUTE (Transact-SQL)
Hilfe und Informationen
Informationsquellen für SQL Server 2005
Änderungsverlauf
| Version | Verlauf |
|---|---|
17. Juli 2006 |
|