Uzyskiwanie dostępu do danych zewnętrznych

Dostęp do danych ze źródło danych OLE DB, musisz podać SQL Server z następującymi informacjami:

  • Nazwa dostawca OLE DB, który udostępnia źródło danych.

  • Aby zlokalizować źródło danych musi mieć informacje dostawca OLE DB.

  • Nazwę obiektu źródła danych OLE DB mogą ujawnić jako zestawu zestaw wierszy lub kwerendy wysyłanej do dostawca OLE DB, który spowoduje, że źródło danych udostępnić 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ą znane jako kwerend przekazujących.

  • Opcjonalnie można podać SQL Server z logowania prawidłowe identyfikatory źródło danych OLE DB.

SQL Serverobsługuje odwoływania się do heterogenicznych źródeł danych OLE DB w Transact-SQL instrukcji przy użyciu: połączone nazwa serwera lub nazwę komputera ad hoc.

Nazwy serwerów połączonych

Serwer połączony jest serwer wirtualny, który został zdefiniowany na SQL Server wszystkie informacje wymagane do dostępu do źródło danych OLE DB.Nazwa serwer połączony jest zdefiniowany za pomocą sp_addlinkedserver systemowa procedura składowana.Definicja serwer połączony zawiera wszystkie informacje wymagane do lokalizowania źródło danych OLE DB.Lokalne SQL Server logowania są mapowane do logowania do serwer połączony za pomocą sp_addlinkedsrvlogin.

Tabele zdalnego można się odwoływać za pomocą połączonych nazwa serwera jako jedną z następujących czynności:

  • Nazwa serwera w odwołaniu czteroczęściowym nazwę tabela lub widoku w Transact-SQL instrukcja.Pozostałe trzy części nazwę odwołania obiektu serwer połączony jest ujawniona jako zestawu zestaw wierszy.

  • Parametr wejściowy OTWÓRZKWERENDĘ funkcja.OTWÓRZKWERENDĘ wysyła dostawca OLE DB, polecenie do wykonać.zestaw wierszy zwracanych mogą być następnie używane jako odwołanie do tabela lub widoku w Transact-SQL instrukcja.

Aby uzyskać więcej informacji, zobacz Identyfikowanie źródła danych przy użyciu nazwy serwera połączonego.

Nazwy Ad Hoc

Nazwa ad hoc jest używany rzadko kwerend względem źródeł danych OLE DB, które nie są zdefiniowane jako serwery połączone.W SQL Server, funkcji OPENROWSET i OPENDATASOURCE dostarcza informacji o połączeniu dla dostępu do danych ze źródeł danych OLE DB.

Domyślnie ad hoc nazwy nie są obsługiwane.DisallowAdhocAccess opcja dostawca musi być zestaw 0 i Przyk³adzie musi być włączona opcja Konfiguracja zaawansowana.

Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

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 powinno być używane tylko do odwołania źródła danych OLE DB, które są rzadko dostępne.Wszystkie źródła danych, które będą dostępne więcej niż kilka razy można zdefiniować w serwer połączony.OPENDATASOURCE ani OPENROWSET zapewnia funkcjonalność serwer połączony definicje.Obejmuje to zarządzanie zabezpieczeniami i zdolność do wykazu kwerendami.Każdy czas , że funkcje te są nazywane, wszystkie informacje o połączeniu, łącznie z hasłami, podaje się.

OPENROWSET OPENDATASOURCE wydają się być funkcje i dla wygody są nazywane funkcjami; Jednakże OPENROWSET OPENDATASOURCE makra i są nie obsługują dostarczanie Transact-SQL zmienne jako argumenty.

OPENROWSET może być używany z dostawca OLE DB zwraca zestawu zestaw wierszy i może służyć dowolnym odwołanie do tabela lub widoku jest używany w Transact-SQL instrukcja.Określono OPENROWSET z następujących czynności:

  • Wszystkie informacje wymagane do połączenia z danymi OLE DB źródło.

  • Nazwę obiektu, który wygeneruje zestawu zestaw wierszy lub kwerendę, która będzie generować zestawu zestaw wierszy.

OPENDATASOURCE zawiera informacje o połączeniu jako część nazwy czteroczęściowym identyfikatorem obiektu.Ta funkcja obsługuje tylko dostawców OLE DB ujawniające wiele zestawów wierszy za pomocą katalog**.schematu.**obiektu notacji.OPENDATASOURCE mogą być używane w tej samej lokalizacji w Transact-SQL składni, połączony nazwa serwera może być używany.Określono OPENDATASOURCE z następujących czynności:

  • Nazwa zarejestrowana jako PROGID dostawca OLE DB, który jest używany do uzyskania dostępu do źródło danych.

  • Połączenie ciąg , który określa różne właściwości połączenia mają być przekazywane do dostawca OLE DB.Składnia połączenia ciąg jest sekwencją pary słowo kluczowe wartość.Podstawowa składnia jest zdefiniowany w Microsoft danych Access Software Development Kit, i każdy dostawca dokumenty obsługuje pary 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, zobacz Identyfikowanie źródła danych przy użyciu nazwy Ad Hoc.

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

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

  • Kwerendami rozproszonymi dostęp tabelach serwer połączony za pomocą SELECT, INSERT, UPDATE i DELETE instrukcji przy użyciu nazwy serwer połączony.

  • Zdalne przechowywane procedury wykonywane serwer połączony przy użyciu nazwy czteroczęściowym identyfikatorem.

  • Instrukcja EXECUTE, który zajmuje dowolnego sparametryzowana przekazujące polecenia przy użyciu AT linked_server_name rozszerzenia.Polecenie to obejmuje języka definicja danych (DDL) i język edycji danych (DML) instrukcji lub poleceń, które zwraca więcej niż jeden wynik.Aby uzyskać więcej informacji, zobacz Za pomocą kwerendy przekazujące jako tabele.

sp_addserver utrzymane jako funkcja zgodności istniejących aplikacji, ale procedura składowana nie będą obsługiwane 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 używający kwerend rozproszonych definicji serwer połączony i niektórych starszych kod używającym definicji serwera zdalnego.Serwerów połączonych i serwerów zdalnych za pomocą tych samych nazw.Dlatego serwer połączony lub definicji serwera zdalnego, należy użyć nazwy, która różni się od nazwy sieciowej serwera uzyskiwany zdalnie.Zdefiniuj jeden z wpisów z inną nazwa serwerai sp_setnetname do kojarzenia tej definicji z nazwą sieciową serwera zdalnego.