Udostępnij za pośrednictwem


Identyfikowanie urządzenie źródłowe danych przy użyciu nazwy typu ad hoc

Gdy urządzenie źródłowe danych OLE DB będzie nie odwoływać się wystarczająco często, tak aby zatrzymać, konfigurowanie serwer połączony, o nazwie ad hoc może służyć jako odwołanie tabela.W SQL Server, aby podać nazwę ad hoc można użyć funkcji OPENROWSET i OPENDATASOURCE.

Kontrolowanie, kto może uzyskać dostęp do urządzenie źródłowe danych jest dostępna tylko za pośrednictwem serwerów połączonych.Ten formant nie jest dostępna dla nazw ad hoc, nazw ad hoc są domyślnie wyłączone dla wszystkich dostawców OLE DB, z wyjątkiem SQL Server Macierzysta klient dostawca OLE DB.

Important noteImportant Note:

Dla każdego wystąpienie SQL Server, członkowie sysadmin roli serwera stałe można włączyć lub wyłączyć korzystanie z nazw łącznika ad hoc dla dostawca OLE DB przy użyciu DisallowAdhocAccess Opcja dostawca a Ad Hoc Distributed Queries opcji konfiguracja serwera.Po włączeniu dostępu ad hoc, każdy użytkownik zalogowany do tego wystąpienie możliwe wykonać instrukcji SQL, zawierających nazwy ad hoc łącznika odwoływania się do dowolnego urządzenie źródłowe danych w sieci, w których można uzyskiwać dostęp za pomocą tego dostawca OLE DB.Do kontrolowania dostępu do źródeł danych, członkowie sysadmin roli można wyłączyć dostęp ad hoc dla tego dostawca OLE DB, w tym samym ograniczanie użytkownikom tylko te źródła danych, które odwołują się nazw serwer połączony zdefiniowanych przez administratorów.Domyślnie dostęp ad hoc jest włączona dla SQL Server Macierzysty klient dostawca OLE DB i wyłączać dla wszystkich innych dostawców OLE DB.

Zarówno OPENROWSET i OPENDATASOURCE zawierają informacje połączenia ad hoc.Te funkcje służą do określania wszystkich informacji wymaganych do uzyskiwania dostępu do urządzenie źródłowe danych OLE DB; jednak nie używając OPENROWSET lub OPENDATASOURCE wymiennie:

  • Za pomocą OPENROWSET tam, gdzie dostawca OLE DB zwraca zestawów zestaw wierszy, określając nazwę tabela (lub widoku) albo przez określenie kwerendę, która zwraca zestawu zestaw wierszy.OPENROWSET może być używany zamiast nazwy tabela lub widoku w Transact-SQL Instrukcja.

  • Użyj OPENDATASOURCE tylko wtedy, gdy dostawca umożliwia uzyskanie dostępu do zestawów wierszy i używa katalog**.schema. zapis** obiektu.OPENDATASOURCE mogą być używane w tej samej lokalizacji w Transact-SQL Składnia, której można użyć nazwy serwer połączony. W związku z tym katalog**.schema. Notacja** obiektu, OPENDATASOURCE może służyć jako pierwsza część four-part nazwy, która odwołuje się do tabela lub widoku.

OPENROWSET i OPENDATASOURCE należy używać tylko w przypadku, gdy nie można skonfigurować serwer połączony stały, uzyskiwanie dostępu do danych zewnętrznych w sytuacjach ad hoc.OPENROWSET i OPENDATASOURCE nie są dostępne wszystkie funkcje dostępne z serwer połączony, takich jak Zarządzanie mapowaniami logowania, możliwość wykonywania kwerend metadane serwer połączony i możliwość konfigurowania różnych ustawień połączenia, takie jak wartości limitu czas.

Security noteSecurity Note:

Podczas łączenia się z innym źródłem danych SQL Server odpowiednio personifikuje logowania do systemu Windows uwierzytelniania logowania; jednak SQL Server Nie można personifikować SQL Server uwierzytelnianie logowania. Dlatego dla SQL Server uwierzytelniony logowania SQL Server można uzyskać dostępu do danych innego urządzenie źródłowe, takie jak pliki, dane nonrelational urządzenie źródłowe s, takie jak usługa Active Directory, za pomocą kontekstu zabezpieczeń systemu Windows konto zgodnie z którymi SQL Server Usługa jest uruchomiona. W ten sposób potencjalnie może udzielić dostępu logowania do danych innego urządzenie źródłowe dla których nie mają uprawnień, ale konto, pod którym SQL Server Usługa jest uruchomiona ma uprawnienia. Prawdopodobieństwo wystąpienia tej sytuacji należy rozważyć podczas korzystania z SQL Server uwierzytelnianie logowania.

Argumenty OPENROWSET i OPENDATASOURCE nie obsługują zmiennych.Argumenty muszą być określony jako literały ciągów znaków.Zmienne muszą być przekazywane w postaci argumentów, ciąg kwerendy, która zawiera zmienne może być konstruowana dynamicznie i wykonać przy użyciu instrukcja wykonać.