web-dev-qa-db-ja.com

SQL Server 2008R2でアドホック分散クエリを有効にする方法

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)(ハイパーバイザー)

1
Ian Boyd

ここから: http://sqlserverpedia.com/blog/database-design/error-message-ad-hoc-update-to-system-catalogs-is-not-supported/

最初にこれを実行します。

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
4
Glenn Sullivan