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 サーバー名をコンピューターの正しいネットワーク名に置き換えます。 そのためには、次の手順に従います。
ディスク イメージから 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';
SQL Server を実行しているコンピューターを再起動します。
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 を展開したコンピューターで、次の手順を実行します。
Management Studio を起動します。
オブジェクト エクスプローラーで、SQL Server インスタンス名を展開します。
レプリケーション フォルダーを右クリックし、[Configure distribution Replication]\(ディストリビューション レプリケーションの構成\) をクリックしてから、[Configure Publishing, Subscribers, and Distribution]\(パブリッシング、サブスクライバー、およびディストリビューションの構成\) をクリックします。
[ディストリビューションの構成ウィザード] ダイアログ ボックスで、[次へ] をクリックします。
[ Distributor ] ダイアログ ボックスで、[<Server><Instance>' が独自のディストリビューターとして機能することをクリックして選択します。SQL Server によってディストリビューション データベースとログのラジオ ボタンが作成され、 [次へ] をクリックします。
[SQL Server エージェントの起動] ダイアログ ボックスで、[次へ] をクリックします。
[スナップショット フォルダー] ダイアログ ボックスで、[次へ] をクリックします。
Note
スナップショット フォルダーのパスを確認するメッセージが表示された場合は、[はい] をクリックします。
[ディストリビューション データべース] ダイアログ ボックスで、[次へ] をクリックします。
[パブリッシャー] ダイアログ ボックスで、[次へ] をクリックします。
[ウィザードのアクション] ダイアログ ボックスで、[次へ] をクリックします。
[ウィザードの完了] ダイアログ ボックスで、[完了] をクリックします。