SQL Server 2000でOPENROWSETを使用してクエリを実行すると、機能します。
ただし、SQL Server 2008で同じクエリを実行すると、次のエラーが発生します。
SQL Serverは、このサーバーのセキュリティ構成の一部としてこのコンポーネントがオフになっているため、コンポーネント「アドホック分散クエリ」のSTATEMENT「OpenRowset/OpenDatasource」へのアクセスをブロックしました。システム管理者は、sp_configureを使用して、「アドホック分散クエリ」の使用を有効にできます。
走ってみます
EXEC sp_configure 'show advanced options', 1
RECONFIGURE
GO
EXEC sp_configure 'ad hoc distributed queries', 1
RECONFIGURE
GO
しかし、実行しようとするとRECONFIGURE
エラーが発生します:
Msg 5808, Level 16, State 1, Line 1
Ad hoc update to system catalogs is not supported.
SQL Server 2008 R2でアドホック分散クエリを有効にするにはどうすればよいですか?
注:Microsoft SQL Server 2008 R2(SP1)-10.50.2550.0(X64)2012年6月11日16:41:53 Copyright(c)Microsoft Corporation Standard Edition(64-bit)on Windows NT 6.1(ビルド7601:サービスパック1)(ハイパーバイザー)
最初にこれを実行します。
EXEC sp_configure ‘allow updates’, 0
RECONFIGURE
または、RECONFIGURE
ステートメントをRECONFIGURE WITH OVERRIDE
に変更します。
EXEC sp_configure 'show advanced options', 1
RECONFIGURE WITH OVERRIDE --really reconfigure
GO
EXEC sp_configure 'ad hoc distributed queries', 1
RECONFIGURE WITH OVERRIDE --really reconfigure
GO