他のサーバーからデータベース オブジェクトにアクセスするときは、[サーバー].[データベース名].[スキーマ名].object_name を使用します。
しかし、mssql データベース サーバーのサービス名が既定のサービス名 (つまり、MSSQLServer2008R2) と異なる場合、データベース オブジェクトにアクセスするにはどうすればよいでしょうか。構文は何でしょうか?
他のサーバーからデータベース オブジェクトにアクセスするときは、[サーバー].[データベース名].[スキーマ名].object_name を使用します。
しかし、mssql データベース サーバーのサービス名が既定のサービス名 (つまり、MSSQLServer2008R2) と異なる場合、データベース オブジェクトにアクセスするにはどうすればよいでしょうか。構文は何でしょうか?
ここでいくつかの異なることを混同しているようです。
インスタンス名は、SQL Server をインストールしたときに指定した名前です。インスタンス名を指定しなかった場合は、名前のないデフォルトのインスタンスがインストールされています。インスタンスに関するドキュメントはこちらを参照してください。を使用してデフォルトのインスタンスServerName
にアクセスできますが、名前付きインスタンスにアクセスするには を使用する必要がありますServerName\InstanceName
。
SQL Server の各インスタンスには、それを実行する Windowsサービスがあります。そのサービスの名前は、デフォルトでインスタンス名から形成されます。これらは、Windows サービス リストまたは SQL Server 構成マネージャーに表示されるサービスです。
最後に、4 部構成の名前付けを使用して別のサーバー上のデータベースにアクセスする場合は、リンク サーバーの作成時にリンク サーバー名を定義します。指定するサーバー名は、必ずしもリモート サーバーのインスタンス名と同じである必要はありません。それはあなたが好きなものにすることができます。sp_addlinkedserver
hereのドキュメントを参照してください。
あなたの質問は、「別のサーバー上の名前付きインスタンスの正しいリンク サーバー名は何ですか?」と尋ねているようです。リンク先のドキュメントの例 A はsp_addlinkedserver
、SQL Server の名前付きインスタンスへのリンク サーバーを作成する方法を示しています。それがあなたの本当の質問かもしれません。