次の方法で共有


MSSQLSERVER_18483

適用対象: SQL Server

詳細

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

説明

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

SQL Server Management Studio では、'<Server><Instance>' を '<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');
    

詳細

@@SERVERNAMEグローバル変数または SQL Server の 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. [ Distributor ] ダイアログ ボックスで、[<Server><Instance>' が独自のディストリビューターとして機能することをクリックして選択します。SQL Server によってディストリビューション データベースとログのラジオ ボタンが作成され、 [次へ] をクリックします。

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

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

    Note

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

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

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

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

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

関連項目