web-dev-qa-db-ja.com

読み取り専用のAlwaysOn可用性グループレプリカのストアドプロシージャ

AlwaysOn可用性グループの一部である読み取り専用のレポートサーバーがあります。開発者は、いくつかのストアドプロシージャを作成したいと考えています。私の質問は、ストアドプロシージャをどこに作成する必要があるかです。セカンダリは読み取り専用であるため、プライマリにありますか?

1
SQL_NoExpert

ストアドプロシージャはデータベースに含まれているため、ストアドプロシージャを作成しているデータベースが可用性グループに含まれている場合は、プライマリで作成します。レプリカが存在するため、セカンダリで作成することはできません。のみ。

ストアドプロシージャがプライマリで作成されると、データベースの一部となり、セカンダリレプリカで使用できるようになります。

可用性グループ内のデータベースに変更を加える場合も、同じ原則が適用されます。データベースが読み取り専用であるため、セカンダリにテーブル、ビュー、ストアドプロシージャを追加したり、権限を変更したりすることはできません。

1
Tony Hinkle

可能な回避策は次のとおりです。セカンダリインスタンスでデータベースを作成し、レプリケートされるデータベースのデータにアクセスするストアドプロシージャを作成するだけです。

編集:しかし、このデータベースは複製されません。

4
Danilo Braga