物理サーバーにSQL Serverの2つのインスタンス、1つの2008 R2(ポート1433)と1つのプレーン2008(ポート1444)を実行しています。リンクされたSQL Serverから特定の列を選択
私はこのクエリを実行しようとすると、私はマルチパート識別子はバインドできませんでしたエラーが発生します
SELECT *
FROM [LINKEDSERVER,1444].[DBNAME].[dbo].[TABLENAME]
R2
リンクサーバーのセットアップし、次の問合せは、2008年から正常に実行できます。SELECT [LINKEDSERVER,1444].[DBNAME].[dbo].[TABLENAME].[COLUMNNAME]
FROM [LINKEDSERVER,1444].[DBNAME].[dbo].[TABLENAME]
ここでは何が起こっているのかを誰か教えてください。私はシンプルな構文エラーや何かがあると仮定しますが、私が見つけることができる例はすべてSelect *
であり、それは私が必要とするものではありません。
完全に修飾するのではなく、 'SELECT'で列名を使ってみましたか? – Siyual
クエリはSQL Serverの複数のインスタンスにまたがっており、同じインスタンス内の複数のデータベースにまたがっているため、完全修飾されている必要があります。私はそれが渦巻くように聞こえることを知っています、しかし、私はここに入るつもりはないので、この方法でなければなりません。同義語の解決策は私にとってはうまくいった。私はテーブルエイリアスを使用することができましたが、私はこれを常に照会しています。その短い名前は大いに役立ちます。 – user2625842