sp_addserver (Transact-SQL)
適用対象:SQL Server
SQL Serverのローカル インスタンスの名前を定義します。 SQL Serverをホストしているコンピューターの名前が変更されたら、sp_addserverを使用して、SQL Server データベース エンジンのインスタンスに新しいコンピューター名を通知します。 このプロシージャは、コンピューターでホストされているデータベース エンジンのすべてのインスタンスで実行する必要があります。 データベース エンジンのインスタンス名は変更できません。 名前付きインスタンスのインスタンス名を変更するには、指定した名前で新しいインスタンスをインストールし、古いインスタンスからデータベース ファイルをデタッチし、新しいインスタンスにデータベースをアタッチして古いインスタンスをドロップします。 または、クライアント コンピューター上でクライアント別名を作成して、サーバー コンピューター上のインスタンス名を変更せずに、接続を別のサーバーとインスタンス名か サーバー:ポート の組み合せにリダイレクトできます。
構文
sp_addserver [ @server = ] 'server' ,
[ @local = ] 'local'
[ , [ @duplicate_ok = ] 'duplicate_OK' ]
引数
[ @server = ] 'server'
サーバーの名前を指定します。 サーバー名は一意であり、Microsoft Windows コンピューター名の規則に従う必要がありますが、スペースは使用できません。 server のデータ型は sysnameで、既定値はありません。
SQL Serverの複数のインスタンスがコンピューターにインストールされている場合、インスタンスは別のサーバー上にあるかのように動作します。 サーバーを servername\instancename と呼び、名前付きインスタンスを指定します。
[ @local = ] 'LOCAL'
ローカル サーバーとして追加されるサーバーを指定します。 @local は varchar(10)で、既定値は NULL です。 @local を LOCAL として指定すると、 @server はローカル サーバーの名前として定義され、@@SERVERNAME 関数では serverの値が返されるようになります。
SQL Serverセットアップでは、インストール時にこの変数をコンピューター名に設定します。 既定では、コンピューター名は、ユーザーが追加の構成を必要とせずにSQL Serverのインスタンスに接続する方法です。
ローカル定義は、データベース エンジンが再起動された後にのみ有効になります。 データベース エンジンの各インスタンスで定義できるローカル サーバーは 1 つだけです。
[ @duplicate_ok = ] 'duplicate_OK'
重複するサーバー名を許可するかどうかを指定します。 @duplicate_OK は varchar(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 インスタンスをホストするコンピューターの名前を変更する