Microsoft アカウントでサインイン
サインインまたはアカウントを作成してください。
こんにちは、
別のアカウントを選択してください。
複数のアカウントがあります
サインインに使用するアカウントを選択してください。

現象

SQL Server 2000 がインストールされている別のコンピュータのハード ディスク イメージを使用して SQL Server 2000 を展開します。その後、SQL Server Enterprise Manager を使用してレプリケーション ディストリビュータを構成するとき、そのディストリビュータの構成に失敗し、次のエラー メッセージが表示されることがあります。

SQL Server Enterprise Manager は '<Server>\<Instance>' を '<Server>\<Instance>' のディストリビュータとして設定できませんでした。

エラー 18483: 'distributor_admin' はサーバー '<Server>\<Instance>' でリモート ログインとして定義されていないので、接続できませんでした。


注 : SQL Server 2000 の既定のインスタンスで上記の操作を実行した場合、エラー メッセージにインスタンス名は表示されません。


SQL Server 2000 システム グローバル変数 @@SERVERNAME の値が SQL Server 2000 コンピュータのネットワーク名と異なる場合があります。


注 : SQL Server 2005 でこの問題が発生した場合は、エラー メッセージがわずかに異なります。SQL Server 2005 でも、この資料で説明している回避策を使用して、この問題を回避することができます。

原因

SQL Server 2000 がインストールされている別のコンピュータのハード ディスク イメージから SQL Server 2000 を展開すると、新しくインストールされる SQL Server でも元のハード ディスク イメージのネットワーク名が保持されます。このネットワーク名が適切ではないためにレプリケーション ディストリビュータを設定することができません。SQL Server のインストール後にコンピュータの名前を変更した場合にも同じ問題が発生します。

回避策

この問題を回避するには、SQL Server 2000 のサーバー名をコンピュータの適切なネットワーク名に置き換えます。この操作を行うには、以下の手順を実行します。

  1. ディスク イメージから SQL Server 2000 を展開したコンピュータにログオンし、SQL クエリ アナライザで次の Transact-SQL ステートメントを実行します。

    -- Use the Master database
    USE master
    GO

    -- Declare local variables
    DECLARE @serverproperty_servername varchar(100),
    @servername varchar(100)

    -- Get the value returned by the SERVERPROPERTY system function
    SELECT @serverproperty_servername = CONVERT(varchar(100), SERVERPROPERTY('ServerName'))

    -- Get the value returned by @@SERVERNAME global variable
    SELECT @servername = CONVERT(varchar(100), @@SERVERNAME)

    -- Drop the server with incorrect name
    EXEC sp_dropserver @server=@servername

    -- Add the correct server as a local server
    EXEC sp_addserver @server=@serverproperty_servername, @local='local'
  2. SQL Server を実行中のコンピュータを再起動します。

  3. SQL Server 名とコンピュータのネットワーク名が一致することを確認するには、SQL クエリ アナライザで次の Transact-SQL ステートメントを実行します。

    SELECT @@SERVERNAME, SERVERPROPERTY('ServerName')

詳細

SQL Server で @@SERVERNAME グローバル変数または SERVERPROPERTY('ServerName') 関数を使用して、SQL Server を実行中のコンピュータのネットワーク名を確認できます。SERVERPROPERTY 関数の ServerName プロパティを使用すると、コンピュータおよび SQL Server サービスの再起動時にコンピュータのネットワーク名の変更が自動的に報告されます。@@SERVERNAME グローバル変数では、SQL Server 名を手動で再設定するまで、SQL Server の元のコンピュータ名が保持されます。

問題の再現手順


ディスク イメージから SQL Server を展開したコンピュータで、以下の手順を実行します。

  1. SQL Server Enterprise Manager を起動します。

  2. [SQL Server グループ] を展開して、SQL Server インスタンス名をクリックします。

  3. [ツール] メニューの [レプリケーション] をポイントし、[パブリッシング、サブスクライバ、およびディストリビューションの設定] をクリックします。

  4. ['<Server>\<Instance>' でのパブリッシングとディストリビューションの設定ウィザード] ダイアログ ボックスで、[次へ] をクリックします。

  5. [ディストリビュータの選択] で、['<Server>\<Instance>' を独自のディストリビュータとする
    SQL Server はディストリビューション データベースとログを作成します] をクリックして、[次へ] をクリックします。

  6. [SQL Server エージェントの設定] で、[次へ] をクリックします。

  7. [スナップショット フォルダの指定] で、[次へ] をクリックします。


    注 : スナップショット フォルダのパスを確認するメッセージが表示された場合は、[はい] をクリックします。

  8. [設定のカスタマイズ] で、[いいえ、以下の既定の設定を使用します] をクリックし、[次へ] をクリックします。

  9. [パブリッシングとディストリビューション設定ウィザードの完了] で、[完了] をクリックします。

関連情報

ディスク イメージおよび SQL Server インストールの詳細については、以下のマイクロソフト Web サイトを参照してください。

http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/instsql/in_afterinstall_25v2.asp

http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/instsql/in_afterinstall_5r8f.asp

ヘルプを表示

スキルを磨く

トレーニングの探索 >

新機能を最初に入手

Microsoft 365 Insider に参加する >

この情報は役に立ちましたか?

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?

フィードバックをいただき、ありがとうございます。

×