本番アプリ用にプレミアム P2 SQL Azure データベースを使用しています。セキュリティ上の理由から、DB 固有のスキーマ/ビュー/ロールと、SSRS クエリからデータを読み取るための特定の DB ユーザー アカウントを作成しました。
PRIMARY
サーバーとデータベースを呼び出すだけですMyApp
このためのセットアップ スクリプトを以下に示します。
-- On Primary Master
CREATE LOGIN ssrsuser WITH password='******'
-- On Primary MyApp
CREATE USER ssrsuser FOR LOGIN ssrsuser
CREATE ROLE [ssrsreader] AUTHORIZATION [db_owner]
GRANT SELECT ON SCHEMA :: [App] TO [ssrsreader]
GRANT SELECT ON SCHEMA :: [Reports] TO [ssrsreader]
EXEC sp_addrolemember 'ssrsreader', 'ssrsuser'
そのため、ユーザーは Prod DB に多くの負荷をかけていたため、レポート機能をセカンダリ同期スレーブ データベースに移動する時期であると判断しました。
SQL Azure Premium レベルを使用しているため、読み取り専用のセカンダリ コピーでアクティブ ジオ レプリケーションを有効にすることができます。実際、MS は、レポートなどの読み取り専用のワークロードに適しているとさえ言っています。
サーバーをセットアップし、シードを有効にしました。これで完了です。管理者ユーザーとパスワードSECONDARY
を使用して読み取り専用コピーにアクセスできます。SECONDARY
しかし、SECONDARY
サーバーには のログインがありません。ssrsuser
私は で作成できますが、データベースが読み取り専用モードであるため、ユーザーSECONDARY.master
を作成できません。DROP RECREATE
SECONDARY.MyApp
これを回避する他の方法はありますか。SECONDARY
サーバー管理者のユーザーとパスワードをSSRS接続文字列に入れる必要は本当にありません。