2016-03-21 66 views
0

ストアドプロシージャのアーティクル(実行をレプリケートする)を既存のパブリケーションに追加しようとしていて、ログリーダーエージェントを追加した直後に "{配布サーバーでsp_MSAdd_ReplCmdsを実行できません} "とエラー" nvarchar値の変換中にエラーが発生しました。 " 。同じ記事で、同様のサブスクリプションを持つ他のディストリビューションサーバー上で新しいパブリケーションを成功さ作成トランザクションレプリケーションログリーダーエラーsp_MSAdd_ReplCmdsを実行できません

  1. 別で同じ配布サーバ上の新しい出版物を作成:intにトラブルシューティングを行うとき、私は次のような知見を作りました。
  2. 単一のサブスクリプションを追加するまで、同じ配布サーバーとSAME配布データベースで新しいパブリケーションを作成すると、同じエラーでログリーダーが失敗する
  3. ログリーダーのエラーは消えるあるケースでは、エラーが持続してパブリケーションの再構築を促しました
  4. Webでsp_MSAdd_ReplCmdsを含む他のエラーが発生しましたが、その後のエラーメッセージでは、通常、エージェントの所有者やその他レプリケーションに関係するアカウントはsysadminです。私の場合、関係するすべてのアカウントはすでにシステム管理者です。私はこの変な変換エラーを含む何かを見つけることができませんでした。

    配信サーバは、MS SQL Server 2012のであり、我々が配布デシベルを新たにSQL Server 2012のへの私たちのアップグレード後に作成されたと信じていながら、DBが再設定またはすべての再初期化2008

    SQLから移行された可能ですこれらの記事を追加するためにこのサーバーに関連する出版物は、私が避けようとしている長い長い仕事になります。どんな助けもありがとう。

答えて

0

私たちはこの問題を解決しました。他にもこのようなことが起こった場合に備えて、私はここに投稿します。学習した教訓は、既存のレプリケーションオブジェクトから作成されたスクリプトを信頼することではありません。別のディストリビューションdbに新しいストアドproc実行アーティクルを作成するために、既存のアーティクルからスクリプトを作成し、関連するパラメータを変更して実行しました。 DBAは、@destination_table、@pre_creation_cmd、@creation_script、および@descriptionという記事を追加するために生成されたスクリプトに含まれる4つのパラメータを削除しました。彼らはそこのデフォルト値のように思えましたが、それらを完全に保つことは、OPで論じられているログリーダーエラーを防ぎました。実際にどちらが解決策であったかわからない - 我々は4つすべてを取り除いた後、それは働いた。オブジェクト自体を正確に反映していない既存のレプリケーションオブジェクトからスクリプトを生成するときに問題が発生していました。これは、既存のレプリケーションオブジェクトからのスクリプト作成に注意するもう1つの理由です。

関連する問題