2011-08-10 6 views

Répondre

2

OPENROWSET peut être utilisé pour accéder aux données à distance à partir des données OLE DB sources uniquement si l'option de Registre DisallowAdhocAccess est explicitement défini sur 0. Lorsque cette option est activée, le comportement par défaut ne permet pas ad hoc accès .

HOW TO: Use the DisallowAdHocAccess Setting to Control Access to Linked Servers

Accessing External Data

Un nom ad hoc est utilisé pour les requêtes peu fréquentes par rapport aux données OLE DB sources qui ne sont pas définis comme des serveurs liés. Dans SQL Server, les fonctions OPENROWSET et OPENDATASOURCE fournissent des informations de connexion pour accéder aux données à partir de sources de données OLE DB. Par défaut, les noms ad hoc ne sont pas pris en charge. L'option de fournisseur DisallowAdhocAccess doit être être définie sur 0 et l'option de configuration avancée Ad Hoc Distributed Queries doit être activée.

sécurité Note

Permettre l'utilisation des noms ad hoc signifie que toute connexion authentifié à SQL Server peut accéder au fournisseur. Les administrateurs SQL Server doivent activer cette fonctionnalité uniquement pour les fournisseurs de confiance qui sont sûrs d'être accessibles par n'importe quel login local. OPENROWSET et OPENDATASOURCE doivent être utilisés uniquement pour référencer des sources de données OLE DB auxquelles on accède rarement.

Pour toutes les sources de données auxquelles sera accédé plus de plusieurs fois, définissez un serveur lié. Ni OPENDATASOURCE ni OPENROWSET ne fournissent toutes les fonctionnalités des définitions de serveur lié . Cela inclut la gestion de la sécurité et la capacité à interroger les informations de catalogue. Chaque fois que ces fonctions sont appelées, toutes les informations de connexion, y compris les mots de passe, doivent être fournies.

+0

Quelques questions .. Dans quel serveur le DisallowAdhocAccess doit-il être défini? Celui qui exécute les requêtes ou la fin de réception? – john2x

+1

A la fin définissant le serveur lié. –