Accessing External Data

Aby uzyskać dostęp do danych ze urządzenie źródłowe danych OLE DB, musisz podać SQL Server następujące informacje:

  • Nazwa dostawca OLE DB, który umożliwia uzyskanie dostępu do urządzenie źródłowe danych.

  • Wszelkie informacje dostawca OLE DB, musisz mieć zlokalizować urządzenie źródłowe danych.

  • Nazwę obiektu, który jest źródłem danych OLE DB może narazić jako zestawu zestaw wierszy lub kwerendy, które mogą być wysyłane do dostawca OLE DB, który spowoduje, że urządzenie źródłowe danych do udostępnienia zestawu zestaw wierszy.Obiekty, które mogą być narażeni zestawów wierszy są znane jako tabele zdalnego.Kwerendy, które generują zestawów wierszy są określane jako kwerendy przekazujące.

  • Opcjonalnie użytkownik może podać SQL Server z prawidłowym logowania identyfikatorów dla urządzenie źródłowe danych OLE DB.

SQL Server obsługa odwoływania się do heterogenicznych źródłami danych OLE DB w Transact-SQL instrukcje przy użyciu: połączonych nazwa serwera lub nazwy komputera ad hoc.

serwer połączony Nazwy

Serwer połączony jest serwer wirtualny, który został zdefiniowany do SQL Server wszystkie wymagane w celu uzyskania dostępu do urządzenie źródłowe danych OLE DB informacje. Połączony nazwa serwera jest zdefiniowany za pomocą sp_addlinkedserver systemu procedura przechowywana.Definicja serwer połączony zawiera wszystkie informacje wymagane do lokalizowania urządzenie źródłowe danych OLE DB.Lokalne SQL Server identyfikatory logowania są mapowane do logowania w połączonego serwera za pomocą sp_addlinkedsrvlogin.

Zdalne tabel można odwoływać się przy użyciu nazwy serwer połączony jako jedną z następujących czynności:

  • Nazwa serwera w odwołaniu four-part nazwę tabela lub widoku w Transact-SQL Instrukcja. Pozostałe trzy części nazwa odwołuje się do obiektu w serwer połączony, który jest udostępniany jako zestawu zestaw wierszy.

  • Parametr wejściowy funkcja OPENQUERY.OPENQUERY wysyła dostawca OLE DB polecenie do wykonać.Zwracany zestaw wierszy następnie może być używany jako odwołanie w tabela lub widoku Transact-SQL Instrukcja.

Aby uzyskać więcej informacji zobaczIdentyfikowanie urządzenie źródłowe danych przy użyciu nazwy serwer połączony.

Nazwy ad hoc

Rzadkie kwerend względem źródła danych OLE DB, które nie są zdefiniowane jako połączonych serwerów jest używana o nazwie ad hoc.W SQL Server, funkcji OPENROWSET i OPENDATASOURCE zawierają informacje o połączeniu, aby uzyskać dostęp do danych ze źródła danych OLE DB.

Domyślnie nazwy ad hoc nie są obsługiwane.The DisallowAdhocAccess dostawca option must be zestaw to 0 and the Ad Hoc Distributed Queries advanced konfiguracja option must be enabled.

Security noteSecurity Note:

Enabling the use of ad hoc names means that any authenticated login to SQL Server can access the provider.SQL Server administrators should enable this feature only for highly trusted providers that are safe to be accessed by any local login.

OPENROWSET i OPENDATASOURCE należy używać tylko do odwołania źródła danych OLE DB, do których dostęp uzyskuje się rzadko.Dla dowolnego źródła danych, które będzie można uzyskać dostępu do więcej niż kilka razy zdefiniować serwer połączony.OPENDATASOURCE ani OPENROWSET udostępniają wszystkie funkcje definicji serwer połączony.Dotyczy to także zabezpieczeń zarządzania i zdolność do informacji dotyczących wykazu kwerendy.Za każdym razem, funkcje te są nazywane, wszystkie informacje o połączeniu, łącznie z hasłami, należy podać.

OPENROWSET i OPENDATASOURCE wydają się być funkcje, a dla wygody są określane jako funkcji; jednak OPENROWSET i OPENDATASOURCE są makra, które nie obsługują dostarczanie Transact-SQL zmienne w postaci argumentów.

OPENROWSET może być używana z dowolnego dostawca OLE DB, który zwraca zestawu zestaw wierszy i może służyć dowolnym odwołanie do tabela lub widoku jest używany w Transact-SQL Instrukcja. OPENROWSET jest określany za pomocą następujących czynności:

  • Wszystkie informacje wymagane do połączenia ze źródłem danych OLE DB.

  • Nazwę obiektu, która będzie generowała zestawu zestaw wierszy lub kwerendy, która będzie generowała zestawu zestaw wierszy.

OPENDATASOURCE zawiera informacje o połączeniu jako część nazwy four-part obiektów.Ta funkcja obsługuje tylko dostawców OLE DB wystawiać wielu wierszy za pomocą katalog**.schema. zapis** obiektu.OPENDATASOURCE mogą być używane w tej samej lokalizacji w Transact-SQL Składnia, połączony nazwa serwera mogą być używane. OPENDATASOURCE jest określany za pomocą następujących czynności:

  • Nazwa zarejestrowana jako PROGID dostawca OLE DB, który jest używany do uzyskiwania dostępu do urządzenie źródłowe danych.

  • Ciąg połączenia, który określa różne właściwości połączenia, które mają być przekazywane do dostawca OLE DB.Składnia ciąg połączenia jest sekwencją pary słowo kluczowe wartość.Podstawowa składnia jest zdefiniowany w pakiet Microsoft Data Access SDK, a każdy dostawca dokumentów obsługuje pary określone słowo kluczowe wartość.Aby uzyskać więcej informacji na temat ciągów połączeń Zobacz OPENDATASOURCE (Transact-SQL).

Aby uzyskać więcej informacji zobaczIdentyfikowanie urządzenie źródłowe danych przy użyciu nazwy typu ad hoc.

Uzyskiwanie dostępu do serwerów połączonych

Po serwer połączony jest tworzona przy użyciu sp_addlinkedserver, dostęp do serwera można uzyskać przy użyciu następujących:

  • Kwerendy rozproszonych, które dostęp tabel w połączonego serwera za pomocą SELECT, INSERT, UPDATE i DELETE instrukcji przy użyciu nazwy serwer połączony.

  • Zdalnie przechowywane procedury wykonywane przed serwer połączony przy użyciu nazwy four-part.

  • Instrukcja wykonać, które przekieruje dowolnego sparametryzowana przekazujące kierują polecenia przy użyciu AT linked_server_name rozszerzenie. Polecenie to obejmuje języka definicja danych (DDL) i instrukcji języka (DML) manipulacji dane lub polecenia, które zwracają wynik więcej niż jeden.Aby uzyskać więcej informacji zobaczUsing Pass-Through Queries As Tables.

sp_addserver jest przechowywana jako funkcja zgodności istniejących aplikacji, ale nie będą obsługiwane tej procedura przechowywana w przyszłych wydaniach.W aplikacji są przenoszone do SQL Server 2008, aplikacje te mogą muszą być uruchamiane przez pewien czas z niektórych nowy kod, który korzysta z kwerendami rozproszonymi przed definicji połączonego serwera i niektóre starsze kod, który korzysta z definicji serwera zdalnego. Zarówno serwery połączone, jak i zdalnych serwerów za pomocą tego samego obszaru nazw.Dlatego definicja zdalnego serwera albo serwer połączony muszą używać nazwę, która różni się od nazwy sieciowej serwera uzyskiwany zdalnie.Zdefiniuj jeden z wpisów z nazwą innego serwera, a za pomocą sp_setnetname ma być skojarzony z nazwą sieciową serwera zdalnego tej definicji.