为Web应用程序分离SQL数据库? 或者在相同的SQL上托pipe两个Web应用程序?

好吧,我的Hyper-V Server 2012看起来像这样:我们目前有两个虚拟机正在生产,一个正在运行SharePoint 2010,另一个正在承载SQL Server 2008 R2 for SharePoint。

我们正准备添加另一台虚拟机来为我们的网站托pipe一个电子商务网上商店。 我发现一个是开源的,使用MSSQL服务器(nopCommerce)。 我的问题是: SQL Serverangular色的最佳实践什么? 我应该使用现有的SQL Server(当前托pipeSharePoint)并行托pipe两个数据库吗? 还是应该在WebStore虚拟机上安装SQL Server的本地实例,那么最终将有2个专用于SharePoint的虚拟机和1个专门用于Web Store的虚拟机? 或者,我甚至应该为Web Store创build另一个SQL Server虚拟机,所以我有两个用于SharePoint的虚拟机和两个用于Web Store的虚拟机? (这个对我来说似乎是资源昂贵的。)

而且我们还有其他考虑:我们的库存跟踪系统目前作为SharePoint上的Access Web-App数据库托pipe。 我们希望我们的库存数据填充网上应用店。 从我的谷歌search,似乎连接在一起的SQL数据库是不是太大的交易,发生了不less。 但是我对SQL最佳实践并不熟悉,但是我不知道是否将数据库保存在同一台服务器上的情况更是如此。

对此没有正确的答案, 只有适合你的东西,如果不知道你的情况的详细情况,这不是我们任何人都能真正帮助你的。

单个大型服务器上的所有数据库都可以减lesspipe理开销,使备份更简单,并且可以独立于其余服务器升级SQL Server。 你所有的IOPS都在一个地方,所以你可以升级一台服务器来改善许多不同的应用程序。

但是,在单个服务器上安装多个大型应用程序可能会造成问题,因为如果单个数据库超出了单个服务器(例如,大型Sharepoint安装),那么其他数据库可能会因为资源而匮乏,然后您必须分割它们closures。

保持你的应用程序服务器和SQL服务器可以简单的configuration,并且你有更less的失败点担心。 如果您希望在非常繁忙的情况下提高电子商务商店的性能,但不关心内部分享点,则可以增加单个应用程序。 灾难恢复/高可用性是一个完全独立的虚拟机(假设这些机器是虚拟的)更简单。

现在,SQL Server授权是通过内核完成的,而且我相信每个内核可以有多个实例,所以如果它们全都位于同一台服务器上,则可能无法节省许可成本。

我们将两者混合在一起 – 某些东西都包含在单个虚拟机中,但更大的东西包含单独的专用SQL Server,而其他更小的东西则具有独立的共享SQL Server。

这一切都取决于你想要pipe理什么。