複数のクライアントのデータを格納するために、単一のSQLServerデータベースを使用することを検討しています。すべてのデータを1つのデータベースに含めることで、「クライアントごとに個別のデータベース」を設定するよりも管理しやすくなると考えています。
私たちが抱えている最大の懸念は、間違ったクライアントへの偶発的なアクセスです。あるクライアントのデータを別のクライアントに誤って表示した場合、それは非常に悪いことです。私たちは多くのクエリを実行し、誰かが「これとこれのクエリを書いて、15分以内に会議のクライアントに見せに行く」と言うシナリオを恐れています。誰かが不注意WHERE
で、正しいクライアントをフィルタリングする句を省略した場合、深刻な問題が発生します。単一の「グローバル」データベースから誤って間違ったクライアントのデータをプルすることを不可能にする(または少なくとも非常に困難にする)ような、SQL Serverの堅牢なセットアップまたはデザインパターンはありますか?
明確にするために、これはクライアントが直接またはアプリを介して(まだ)使用するデータベースではありません。私たちは何人かのプログラマーがアクセスするデータベースについて話しているので、自分自身を台無しにすることを恐れています。