2017-03-26 3 views
1

にエイリアスを作成します:「マイ・サーバー\ InstanceNameは」は私のSQL Serverインスタンス名は形式であるクエリ

を、私は、サーバーに別名を与えたい「のInstanceName」。私はこれを構成マネージャーで行いました。サーバーに接続すると、そのエイリアス名を使用して接続できます。しかし、クエリ内のオブジェクトを完全修飾する場合(たとえば、* InstanceName.Database.dbo.Tableからselect *)、それは動作しません。それはsys.serversでそのサーバを見つけることができないと言います。どうしてこれなの?接続後にエイリアス名をクエリーに入れていないようです。

ありがとうございます!

答えて

1

InstanceNameと別名は、2つの異なるものです。別のサーバ(または別のインスタンス)に接続するには、ローカルサーバー用の

Database.dbo.Table

リンクサーバー https://docs.microsoft.com/en-us/sql/relational-databases/linked-servers/linked-servers-database-engineを追加する必要があります。

通常あなたが任意のエイリアスを必要としませんが、あなたが本当にこの使用例をしたい場合:

EXEC sp_addlinkedserver  
    @server=N'S1_instance1', 
    @srvproduct=N'', 
    @provider=N'SQLNCLI', 
    @datasrc=N'S1\instance1' 
関連する問題