SQL Serverデータベースに複数のリンクサーバーがあります。 は、私は、プライマリホストテーブルから選択された変数openqueryでlinkserverを作成します
EXEC [Schema].[Server]
この手順は、1行今
------------------
| - | Server
------------------
| 1 | server_name
------------------
私はOPENQUERYを使用してビューを作成したいとテーブル「のserverTable」を返すと、一つのアイテムを識別するための手順を作成しました'のserverTable' で
USE [Database]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [Schema].[View] AS
SELECT
*
FROM OPENQUERY (
server_name, <-- variable to be updated depending on 'ServerTable' item
'SELECT *
FROM "_SYS_BIC"."system-local.bw.bw2hana/WHC_CP03"'
)
;
GO
動的SQLをビューに含めることができないため、回答が提示された動的SQLソリューションは、ビューが必要な場合は機能しません。ビュー*を動的に生成すること、またはリンクされたサーバーを設定し、リンクされたサーバーオブジェクトに同義語を使用することを検討してください。問題のリモートサーバがSQL Serverの場合、 'sp_setnetname'を使用して、使用している名前以外のサーバにすることができます(ただし、インスタンス名をそのようにリダイレクトすることはできません)。 –