MSSQLSERVER_18483

適用対象:SQL Server

詳細

属性
製品名 SQL Server
イベント ID 18483
イベント ソース MSSQLSERVER
コンポーネント SQLEngine
シンボル名 REMLOGIN_INVALID_USER
メッセージ テキスト サーバー '%.ls' に接続できませんでした。'%. ls' はそのサーバーでリモート ログインとして定義されていません。 正しいログイン名を指定していることを確認してください。 %.*ls。

説明

このエラーは、SQL インスタンスが最初にインストールされた別のコンピューターのハード ディスク イメージを使用して復元されたシステムで、レプリケーション ディストリビューターを構成しようとしたときに発生します。 次のようなエラー メッセージがユーザーに報告されます。

SQL Server Management Studioで ' を<構成できませんでした'Server><Instance>' のディストリビューター<としてのサーバー><インスタンス>。 エラー 18483: '<distributor_admin' がサーバーでのリモート ログインとして定義されていないため、サーバー 'Server><Instance>' に接続できませんでした。 正しいログイン名を指定していることを確認してください。 %.*ls。

原因

SQL Server がインストールされている別のコンピューターのハード ディスク イメージから SQL Server を展開すると、イメージが作成されたコンピューターのネットワーク名は新しいインストールに保持されます。 ネットワーク名が正しくないと、レプリケーション ディストリビューターの構成に失敗します。 SQL Server のインストール後にコンピューターの名前を変更した場合、同じ問題が発生します。

ユーザー アクション

この問題を回避するには、SQL Server サーバー名をコンピューターの正しいネットワーク名に置き換えます。 これを行うには、次のステップに従います。

  1. ディスク イメージから SQL Server を展開したコンピューターにログオンし、SSMS で次の 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 名とネットワーク名が同じであることを確認するには、次の 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. Management Studioを起動します。

  2. オブジェクト エクスプローラーで、SQL Server インスタンス名を展開します。

  3. レプリケーション フォルダーを右クリックし、 [Configure distribution Replication]\(ディストリビューション レプリケーションの構成\) をクリックしてから、 [Configure Publishing, Subscribers, and Distribution]\(パブリッシング、サブスクライバー、およびディストリビューションの構成\) をクリックします。

  4. [ディストリビューションの構成ウィザード] ダイアログ ボックスで、 [次へ] をクリックします。

  5. [ディストリビューター] ダイアログ ボックスで、[サーバー><インスタンス>] が独自の<ディストリビューターとして機能することをクリックして選択します。SQL Serverディストリビューション データベースとログ ラジオ ボタンを作成し、[次へ] をクリックします。

  6. [SQL Server エージェントの起動] ダイアログ ボックスで、 [次へ] をクリックします。

  7. [スナップショット フォルダー] ダイアログ ボックスで、 [次へ] をクリックします。

    注意

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

  8. [ディストリビューション データべース] ダイアログ ボックスで、 [次へ] をクリックします。

  9. [パブリッシャー] ダイアログ ボックスで、 [次へ] をクリックします。

  10. [ウィザードのアクション] ダイアログ ボックスで、 [次へ] をクリックします。

  11. [ウィザードの完了] ダイアログ ボックスで、 [完了] をクリックします。

関連項目