単一テーブルのSQLServerデータベース(2008)に書き込むWindowsサービスがあります。
別のアプリケーションに読み取り専用モードでテーブルを読み取らせたい。
アプリケーションがデータベースを適切に開いて読み取り専用にするために何をする必要がありますか?
サービスがデータベースを開く方法に変更はありますか?
明らかに、サービスがデータベースに書き込む必要があるため、データベースを読み取り専用に変更することはできません。
単一テーブルのSQLServerデータベース(2008)に書き込むWindowsサービスがあります。
別のアプリケーションに読み取り専用モードでテーブルを読み取らせたい。
アプリケーションがデータベースを適切に開いて読み取り専用にするために何をする必要がありますか?
サービスがデータベースを開く方法に変更はありますか?
明らかに、サービスがデータベースに書き込む必要があるため、データベースを読み取り専用に変更することはできません。
サービスを変更する必要はありません。db_readerロールのみが付与されているログインを指定するだけです。ストアドプロシージャがある場合は、GRANT EXEC ON <proc> TO <user>
コマンドを使用してそれらへのアクセスを許可する必要があります。
そのアプリケーションを、サーバー障害で検出されたdb_datareaderロールのみを持つユーザーに接続させます。
[セキュリティ]>[ログイン]で、新しいログインを作成し、[ユーザーマッピング]セクションで2つのデータベースにチェックマークを付け、それぞれについてdb_datareaderロールメンバーシップを選択します。
これにより、各DB内のすべてのデータへの読み取りアクセスが提供されます。
..。