1

Windows 7 x-64 を実行している、ネットワークに接続されていないスタンドアロンの開発用 PC に SQL Server 2012 のフル バージョンをインストールしています。FOO が PC の名前で、SQL Server の名前付きインスタンスが FOO\SQL2012 だとします。

ここでは、ストアド プロシージャをデータのソースとして使用して新しい一時テーブルを作成する方法を示す例に従っています。

これらのクエリのいずれかを実行したいのですが、エラーが表示されています。

   SELECT * into #temp FROM OPENQUERY("FOO\SQL2012", 'exec MySchema.MyStoredProc')

   **ERROR: Server 'FOO\SQL2012' is not configured for DATA ACCESS.**

またはこのクエリ:

  SELECT * INTO #temp FROM OPENROWSET('SQLNCLI', 'Server=(local)\SQL2012;Trusted_Connection=yes;',
 ' EXEC MySchema.MyStoredProc')

 **ERROR: Msg 11529, Level 16, State 1, Procedure sp_describe_first_result_set, Line 1

すべてのコード パスがエラーになるため、メタデータを特定できませんでした。これらの一部については、以前のエラーを参照してください。**

現在認証されているユーザーが誰であれ、ローカル インスタンスに対して OPENROWSET、OPENQUERY を使用できるようにするには、SQL Server インスタンスをどのように構成すればよいでしょうか。

Windows 経由で認証されたユーザーと SQL Server 経由で認証されたユーザーには、これらのクエリの別々のバージョンが必要ですか?

4

1 に答える 1

5

これは、リンク サーバーごとに 1 回だけ行う必要があります (常に参照するか、常に参照するかのいずれかをお勧めしますFOO\(local)\一貫性を保つようにしてください!)。

EXEC sp_serveroption 'FOO\SQL2012', 'DATA ACCESS', 'true';
于 2013-01-11T18:59:53.017 に答える