sp_addserver (Transact-SQL)

適用対象:SQL Server

SQL Serverのローカル インスタンスの名前を定義します。 SQL Serverをホストしているコンピューターの名前が変更されたら、sp_addserverを使用して、SQL Server データベース エンジンのインスタンスに新しいコンピューター名を通知します。 このプロシージャは、コンピューターでホストされているデータベース エンジンのすべてのインスタンスで実行する必要があります。 データベース エンジンのインスタンス名は変更できません。 名前付きインスタンスのインスタンス名を変更するには、指定した名前で新しいインスタンスをインストールし、古いインスタンスからデータベース ファイルをデタッチし、新しいインスタンスにデータベースをアタッチして古いインスタンスをドロップします。 または、クライアント コンピューター上でクライアント別名を作成して、サーバー コンピューター上のインスタンス名を変更せずに、接続を別のサーバーとインスタンス名か サーバー:ポート の組み合せにリダイレクトできます。

Transact-SQL 構文表記規則

構文


sp_addserver [ @server = ] 'server' ,
     [ @local = ] 'local' 
     [ , [ @duplicate_ok = ] 'duplicate_OK' ]

引数

[ @server = ] 'server' サーバーの名前を指定します。 サーバー名は一意であり、Microsoft Windows コンピューター名の規則に従う必要がありますが、スペースは使用できません。 server のデータ型は sysnameで、既定値はありません。

SQL Serverの複数のインスタンスがコンピューターにインストールされている場合、インスタンスは別のサーバー上にあるかのように動作します。 サーバーを servername\instancename呼び、名前付きインスタンスを指定します。

[ @local = ] 'LOCAL' ローカル サーバーとして追加されるサーバーを指定します。 @localvarchar(10)で、既定値は NULL です。 @localLOCAL として指定すると、 @server はローカル サーバーの名前として定義され、@@SERVERNAME 関数では serverの値が返されるようになります。

SQL Serverセットアップでは、インストール時にこの変数をコンピューター名に設定します。 既定では、コンピューター名は、ユーザーが追加の構成を必要とせずにSQL Serverのインスタンスに接続する方法です。

ローカル定義は、データベース エンジンが再起動された後にのみ有効になります。 データベース エンジンの各インスタンスで定義できるローカル サーバーは 1 つだけです。

[ @duplicate_ok = ] 'duplicate_OK' 重複するサーバー名を許可するかどうかを指定します。 @duplicate_OKvarchar(13)で、既定値は NULL です。 @duplicate_OK には、値 duplicate_OK または NULL のみを指定できます。 duplicate_OKが指定されていて、追加されているサーバー名が既に存在する場合、エラーは発生しません。 名前付きのパラメーターを指定しない場合は、 @local を指定する必要があります。

リターン コードの値

0 (成功) または 1 (失敗)

解説

サーバー オプションを設定またはクリアするには、 sp_serveroptionを使用します。

sp_addserver は、ユーザー定義トランザクション内では使用できません。

sp_addserverを使用してリモート サーバーを追加することは廃止されました。 代わりに sp_addlinkedserver を使用してください。

sp_addserverを使用してローカル サーバー名を変更すると、可用性グループまたはレプリケーションの使用時に望ましくない効果やサポートされていない構成が発生する可能性があります。

アクセス許可

setupadmin 固定サーバー ロールのメンバーシップが必要です。

次の例では、SQL Serverをホストしているコンピューターの名前のデータベース エンジン エントリを にACCOUNTS変更します。

sp_addserver 'ACCOUNTS', 'local';

参照

SQL Server sp_addlinkedserver (Transact-SQL)sp_dropserver (Transact-SQL)sp_helpserver (Transact-SQL)システム ストアド プロシージャ (Transact-SQL)セキュリティ ストアド プロシージャ (Transact-SQL) のStand-Alone インスタンスをホストするコンピューターの名前を変更する