我们正在考虑使用单个 SQL Server 数据库来存储多个客户端的数据。我们认为将所有数据放在一个数据库中可以使事情比“每个客户端单独的数据库”设置更易于管理。
我们最大的担忧是意外访问错误的客户端。如果我们不小心将一个客户的数据显示给另一个客户,那将是非常非常糟糕的。我们执行了很多查询,并且害怕有人说“给我写一个关于这个和这个的查询,以便在 15 分钟内向客户展示会议。” 如果有人粗心并忽略了WHERE
过滤正确客户的子句,那么我们将遇到严重的麻烦。SQL Server 是否有强大的设置或设计模式,使得不可能(或至少非常困难)意外地从单个“全局”数据库中提取错误的客户端数据?
需要明确的是,这不是客户直接或通过应用程序使用的数据库(目前)。我们正在谈论由我们的几个程序员访问的数据库,我们害怕搞砸自己。