2011-08-10 13 views
0

OPENDATASOURCEコマンドを使用して別のデータベースからデータを取得しようとしていますが、DisallowAdHocAccessに関するエラーが発生します。SQL Server 2008でdisallowadhocaccessを無効にする方法

SQL Serverのバージョンは、リモートサイトで実行されている2008 Express Editionです。

答えて

2

OPENROWSETは、OLE DBデータソースからリモートデータにアクセスするために使用することができます のDisallowAdHocAccessレジストリオプションが明示的にこのオプションが設定されていない 0に設定されている場合にのみ、デフォルトの動作では、アドホック のアクセスを許可していません。 。

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

Accessing External Data

アドホック名がリンクサーバーとして定義されていないOLE DBデータソースに対する 頻度の低いクエリに使用されます。 SQL Serverでは、 OPENROWSETおよびOPENDATASOURCE関数は、OLE DBデータソースからデータにアクセスするための接続情報 を提供します。既定では、ad hoc の名前はサポートされていません。 DisallowAdhocAccessプロバイダーオプションは を0に設定し、アドホック分散クエリの詳細設定 オプションを有効にする必要があります。アドホック名の使用を有効に

セキュリティに関する注意

は SQL Serverへの任意の認証済みログインがプロバイダにアクセスできることを意味します。 SQL Serverの管理者は、 にローカルのログインでアクセスできる安全性の高い信頼性の高いプロバイダに対してのみ、この機能を有効にする必要があります。

OPENROWSETおよびOPENDATASOURCEは、アクセス頻度の低いOLE DB データソースを参照する場合にのみ使用してください。 に複数回アクセスするデータソースの場合は、リンクサーバーを定義します。 OPENDATASOURCEもOPENROWSETも、 のリンクサーバー定義のすべての機能を提供しません。これには、セキュリティ管理とカタログ情報を照会する機能が含まれます。これらの関数 が呼び出されるたびに、パスワードを含むすべての接続情報が である必要があります。

+0

いくつかの質問..どのサーバーでDisallowAdhocAccessを設定する必要がありますか?クエリまたは受信側を実行しているのは? – john2x

+1

リンクサーバーを最後に定義します。 –

関連する問題