Wskazówki dotyczące korzystania z kwerendami rozproszonymi.

Jak długo dostawca obsługuje wymagane OLE DB interfejsy, każdej klasy Transact-SQL instrukcja wymienionych w tym temacie jest dozwolona.

Instrukcje języka Transact-SQL

Oto lista podzbiorami Transact-SQL są dozwolone w tabelach zdalnym uzyskać dostęp za pomocą języka serwer połączony-na podstawie nazwy lub ad hoc:

  • Wszystkie kwerendy, które mają standardowy formularz Wybierz select_list z klauzula gdzie dozwolone klauzula.INTO new_table_name klauzula SELECT nie jest dozwolone podczas new_table_name odwołuje się do tabela zdalna.

  • W instrukcji SELECT, INSERT, UPDATE i DELETE kolumn w tabelach zdalnego nie kwalifikowaną nazwą jednoczęściową lub czteroczęściowym tabela.Zdalny tabele powinny być wygładzone w klauzula FROM i nazwa alias należy korzystać w celu zakwalifikowania kolumna nazwy.

  • Tabele, które mają xml kolumny nie można zbadać, nawet jeśli kwerenda uzyskuje dostęp do innych niż-xml kolumny tabela.

  • Gdy kolumna dużego obiektu (LOB) z tabela zdalna jest określony jako element w select_list instrukcja SELECT, nie może zawierać instrukcję SELECT zamówienia według klauzula.

  • Predykaty jest puste i nie jest NULL, nie można odwoływać LOB kolumn w tabela zdalna.

  • GRUPY przez wszystkie jest niedozwolona zapytanie rozproszone, gdy kwerenda ma również klauzula WHERE.Grupuj według, bez określania wszystkich jest obsługiwany.

  • Instrukcji INSERT są dozwolone dla zdalnego tabel, tak długo, jak długo dostawca spełnia wymagania OLE DB dla instrukcji INSERT.Aby uzyskać więcej informacji, zobacz WSTAW wymagania OLE DB dostawców.

  • Stałe wartości NULL nie można wstawić do timestamp kolumna za pomocą zapytanie rozproszone.

  • TOŻSAMOŚĆ $ a $ROWGUIDCOL nie są obsługiwane z kwerendami rozproszonymi.Jawne wartości nie można wstawić do kolumn w tabelach zdalnego.

  • Instrukcje UPDATE i DELETE są dozwolone dla zdalnego tabel dostawca spełnia wymagania interfejs OLE DB, w określonej tabela.Aby uzyskać więcej informacji, zobacz AKTUALIZOWANIE i usuwanie wymagań dla dostawców OLE DB.

  • tabela zdalna zostać zaktualizowane lub usunięte przy użyciu kursor, definiowane zapytanie rozproszone podczas tabela zdalna jest określona w instrukcja UPDATE lub DELETE (AKTUALIZACJĘ lub usunięcie remote_table Gdzie bieżący z cursor_name) Jeśli dostawca spełnia warunki updatability w tabela zdalna.Aby uzyskać więcej informacji, zobacz Kursory przy użyciu kwerend rozproszonych.

  • Instrukcje READTEXT, WRITETEXT i UPDATETEXT nie są obsługiwane dla tabel zdalnego.

  • Kolumny, które mają duże obiektów (takich jak text, ntext, lub image) nie można odwoływać się w aktualizacji lub wstawić operacji, jeśli dostawca jest utworzone poza SQL Server procesu, opcja dostawcy AllowInProcess jest równa 0.Aby uzyskać więcej informacji, zobacz Konfigurowanie dostawców OLE DB dla kwerend rozproszonych.

  • Instrukcje języka definicji danych takich jak instrukcji CREATE, ALTER lub UPUSZCZANIA nie są dozwolone przeciwko serwerów połączonych.

  • instrukcja EXECUTE można wysyłać polecenia przekazujące serwer połączony za pomocą słowa kluczowego AT.Zdolność do wykonywania instrukcja zależy od konfiguracja serwer połączony RPC i serwer połączony możliwość honorować wykonać instrukcja.

  • Nie operacji poziom bazy danych lub oświadczenia są dozwolone na serwerach połączonych.

Inne wytyczne

Oto niektóre dodatkowe ograniczenia i wytycznych:

  • STATYCZNE kursory NIEWRAŻLIWE odwołań do tabel zdalnego.Kursory zestawu KLUCZY można odwołać zdalnego tabele dostawca OLE DB spełnia określone wymagania.Aby uzyskać więcej informacji na temat tych wymagań, zobacz Napędzana zestawu kluczy kursory wymagań dla dostawców OLE DB.Brak typu kursor można odwoływać się tabela zdalna.

  • Procedury przechowywane są obsługiwane tylko przeciwko SQL Server źródeł danych.

  • Połączenie musi mieć opcji ANSI_NULLS i ANSI_WARNINGS zestaw na przed można wykonywać połączenia kwerendami rozproszonymi.Aby uzyskać więcej informacji, zobacz ZESTAW ANSI_DEFAULTS (Transact-SQL).

  • Aby utworzyć najlepsze planów kwerend podczas korzystania z tabela serwer połączony, procesor kwerend musi mieć statystyk dystrybucji danych z serwer połączony.Użytkownicy, którzy mają ograniczone uprawnienia dla każdej kolumny tabela może nie masz wystarczających uprawnień do uzyskania wszystkich statystyk przydatne może odbierać mniej wydajne planu kwerend i niska wydajność.Jeśli wystąpienie serwer połączony SQL Server, aby uzyskać wszystkie dostępne statystyki, użytkownik musi własnej tabela lub być element członkowski z sysadmin stałej roli serwera db_owner stałej rola bazy danych lub db_ddladmin stałej rola bazy danych serwer połączony.