none
DB移行後のレプリケーション設定 RRS feed

  • 質問

  • お世話になっております。

    SQL Server 2012 SP1のレプリケーションに関して質問です。
    別サーバから移行したDBでレプリケーションの設定が出来ません。

    元々
    OS:Windows Server 2003 R2
    DB:SQL Server 2005 SP3
    (非AD環境)
    で運用していたものを
    OS:Windows Server 2008 SP2
    DB:SQL Server 2012 SP1
    (AD環境)
    に移行するべくテストを行っています。

    このサーバはAD配下にいます。

    今回は移行前の検証テストですのでOS、SQLSERVER・SQL agentの実行権限は
    全てADの最高権限であるdomain\administratorで動かしています。

    旧DBサーバにはトランザクションレプリケーションの設定がされています。
    ※ディストレビューターは旧DBサーバ自身です。
    旧サーバでパブリッシャーとディストレビュータの設定を無効化し
    DBの完全バックアップを取り検証用サーバで復元しました。

    正常に復元が完了し、レプリケーションの設定を行ったところ
    ディストレビューションの設定は問題なく完了。
    新しいパブリッシャーを作成したところスナップショットエージェントは正常に完了するのですが
    ログリーダーエージェントが起動しません。

    ++ログ++
    2014-06-18 04:29:11.711 プロセスは、'sp_replcmds' を 'ServerName' で実行できませんでした。
    状態: 0、コード: 15517、テキスト: 'データベース プリンシパルとして実行できません。プリンシパル "dbo" が存在しないか、この種類のプリンシパルで権限を借用できないか、ユーザーに権限がありません。'。
    2014-06-18 04:29:11.711 状態: 0、コード: 22037、テキスト: 'プロセスは、'sp_replcmds' を 'ServerName' で実行できませんでした。'。
    ++++++

    とありました。
    またこのパブリッシャーを削除しようとすると

    ++ログ++
    データベース プリンシパルとして実行できません。プリンシパル "dbo" が存在しないか、この種類のプリンシパルで権限を借用できないか、ユーザーに権限がありません。
    データベース コンテキストが 'DBName' に変更されました。 (Microsoft SQL Server、エラー: 15517)
    ++++++

    となります。

    ちなみに検証用サーバで新規に作成したDBのレプリケーションは正常に完了します。

    エラーを見れば権限の問題なんだろうということはわかりますので
    バックアップ前の権限をどこかで持ってしまったまま復元されたのだろうか
    と思っていますがどこを見ればよいのかわかりません。

    サーバロールやログインのユーザマッピング等を正常に動作しているサーバや
    パブリッシャーの設定が問題ないDB等と見比べているのですが
    なかなか違いを見つけることが出来ません。

    domain\administratorはsysadminに含まれています。
    ログリーダーエージェントの実行権限はdomain\administratorで設定しています。

    どこを見れば、どこを変更すればよいのでしょうか?
    ご教授ください。よろしくお願いいたします。
    2014年6月18日 5:08

回答

  • すみません。自己解決いたしました。

    DBのプロパティのファイルの所有者が空欄になっていました。

    プロパティの全般にあるデータベースの所有者がdomain\administratorでしたので

    確認不足でした。

    • 回答としてマーク 星 睦美 2014年6月18日 7:40
    2014年6月18日 7:22