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 サーバー名をコンピューターの正しいネットワーク名に置き換えます。 これを行うには、次のステップに従います。
ディスク イメージから 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');
説明
SQL Server で @@SERVERNAME
グローバル変数または 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]\(パブリッシング、サブスクライバー、およびディストリビューションの構成\) をクリックします。
[ディストリビューションの構成ウィザード] ダイアログ ボックスで、 [次へ] をクリックします。
[ディストリビューター] ダイアログ ボックスで、[サーバー><インスタンス>] が独自の<ディストリビューターとして機能することをクリックして選択します。SQL Serverディストリビューション データベースとログ ラジオ ボタンを作成し、[次へ] をクリックします。
[SQL Server エージェントの起動] ダイアログ ボックスで、 [次へ] をクリックします。
[スナップショット フォルダー] ダイアログ ボックスで、 [次へ] をクリックします。
注意
スナップショット フォルダーのパスを確認するメッセージが表示された場合は、 [はい] をクリックします。
[ディストリビューション データべース] ダイアログ ボックスで、 [次へ] をクリックします。
[パブリッシャー] ダイアログ ボックスで、 [次へ] をクリックします。
[ウィザードのアクション] ダイアログ ボックスで、 [次へ] をクリックします。
[ウィザードの完了] ダイアログ ボックスで、 [完了] をクリックします。
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示