从安全angular度来看,有多个数据库的实例或多个客户端的多个实例

我们有20个客户,当前每个客户在自己的服务器上都有自己的数据库(在他自己的环境中)

所有的数据库都有相同的结构(模式),所有的数据库都有MS Sql Server 2008 64位

我们想把所有的数据库移到中央位置

这样做的最佳做法是什么?

  1. 所有数据库在一个实例下
  2. 每个数据库都有自己的实例

如果我们拥有所有的数据库,我们是否可以实现最佳的安全实践?

我的情况是否有任何指导方针?

这取决于您的安全需求。 拥有多个服务器可以提供您在客户端之间没有任何共享系统的好处。

把所有的数据库放在一个主机上,至less把操作系统和可用数据作为共享组件。 妥协服务器将提供对数据的访问(除了数据库内的所有内容都被encryption)。

在不同的端口上使用多个实例和绑定,可以提供至less在networking基础上限制访问的好处,这可能是一个额外的屏障。

最后把所有的东西放在一个实例中也是可行的 – 只要没有应用程序需要访问服务器资源,并且完全可以访问它自己的数据库(需要考虑更新和备份等情况 – 在这种情况下需要一些应用程序的附加访问) 。 拥有独特而强大的凭据(或Windows身份validation)作为身份validation,安全性可能就足够了。

我个人不build议把多个客户放在同一个主机上 – 让一个被攻破的客户成为进入你的networking的一个很好的起点,并且可能为其他客户创造一个桥梁。