MSSQL_ENG014117
メッセージの詳細
製品名 |
SQL Server |
製品バージョン |
9.0 |
製品ビルド番号 |
9.00.1399.60 |
イベント ID |
14117 |
イベント ソース |
MSSQLSERVER |
コンポーネント |
SQL Server データベース エンジン |
シンボル名 |
|
メッセージ テキスト |
'%s' はディストリビューション データベースとして構成されていません。 |
説明
このエラーは、次のいずれかまたは両方に該当する場合に発生する可能性があります。
- 指定したディストリビューション データベースのエントリが、msdb..MSdistributiondbs に存在しない場合。
- master データベース内にローカル サーバーのエントリがない場合、またはエントリは存在するが正しくない場合。
レプリケーションでは、コンピュータ名とオプションのインスタンス名 (クラスタ化されたインスタンスの場合は、SQL Server 仮想サーバー名とオプションのインスタンス名) を使用して、トポロジのすべてのサーバーを登録する必要があります。レプリケーションが正しく機能するためには、トポロジの各サーバーに対してSELECT @@SERVERNAME
によって返された値が、コンピュータ名または仮想サーバー名と、オプションのインスタンス名で一致している必要があります。
SQL Server インスタンスのいずれかを IP アドレスまたは完全修飾ドメイン名 (FQDN) で登録している場合、レプリケーションはサポートされません。レプリケーションの構成時に、SQL Server Management Studio 内に IP アドレスまたは FQDN で登録された SQL Server インスタンスがあった場合、このエラーが発生する可能性があります。
ユーザーの操作
ディストリビュータ インスタンスが正しく登録されているかどうかを確認します。コンピュータのネットワーク名と SQL Server インスタンスの名前が異なる場合は、次のいずれかを実行してください。
SQL Server インスタンス名を有効なネットワーク名として追加します。代替ネットワーク名を設定する 1 つの方法は、その名前をローカル ホスト ファイルに追加することです。ローカル ホスト ファイルは、既定では、WINDOWS\system32\drivers\etc または WINNT\system32\drivers\etc にあります。詳細については、Windows のマニュアルを参照してください。
たとえば、コンピュータ名が comp1、そのコンピュータの IP アドレスが 10.193.17.129、インスタンス名が inst1/instname の場合、ホスト ファイルに次のエントリを追加します。
10.193.17.129 inst1ディストリビューションを無効化し、インスタンスを登録して、ディストリビューションを再設定してください。ディストリビューションの無効化の詳細については、「パブリッシングおよびディストリビューションの無効化」を参照してください。@@SERVERNAME の値が、クラスタ化されていないインスタンスに対して適切でない場合は、次の手順を実行してください。
sp_dropserver '<old_name>', 'droplogins' go sp_addserver '<new_name>', 'local' go
sp_addserver (Transact-SQL) ストアド プロシージャを実行したら、SQL Server サービスを再起動し、@@SERVERNAME への変更を有効にする必要があります。
@@SERVERNAME の値がクラスタ化されたインスタンスに対して適切でない場合は、クラスタ アドミニストレータを使用して名前を変更する必要があります。詳細については、「フェールオーバー クラスタリング」を参照してください。
ディストリビュータ インスタンスが正しく登録されていることを確認したら、ディストリビューション データベースが msdb..MSdistributiondbs の一覧に表示されているかどうかを確認します。表示されていない場合は、次の手順を実行します。
- ディストリビューション構成のスクリプトを作成します。詳細については、「レプリケーションのスクリプト作成」を参照してください。
- ディストリビューションを無効化してから、再度有効化します。詳細については、「ディストリビューションの構成」を参照してください。