中央 SQL Server 开发数据库服务器

6
我们正在重新考虑我们的开发环境。目前,我们所有人都使用Elitebook笔记本电脑,但速度不够快。我们正在考虑将开发环境虚拟化到一个中央VM服务器上。
我们的开发人员使用Visual Studio工作,并使用SQL Server作为数据库。我们还有一些SharePoint开发人员需要64位Win2k8机器来支持SharePoint 2010。这些已经是虚拟机,具有自己的本地SQL Server安装。
每个开发人员的机器或VM都安装了SQL Server。这需要从所有盒子中获取资源,并且在团队协作项目时非常具有挑战性。因此,我们正在研究将资源集中到单个DB服务器的可能性。该服务器必须运行多个SQL Server实例(每个Sharepoint开发人员首先需要一个单独的实例)。我们还需要旧版本的SQL Server 2005和SQL Server 2000安装程序以支持向后兼容性。除了SQL Server盒子外,计划包括为每个开发人员安装开发工具的VM会话。因此,开发人员可以直接RDP到开发环境,拥有自己的映像并利用集中式DB服务器。测试服务器也将在同一环境中虚拟化。
我正在寻找有关此事的一些提示和最佳实践。例如:
  • 一个普通盒子可以承载多少个SQL Server实例?如果我们升级虚拟化核心/内存,是否足以添加新实例?我不期望在开发中使用太多。
  • 与在每个开发盒子上保留本地实例相比,集中SQL Server实例的缺点是什么?
  • 应该如何将其集成到DTAP策略中?

我不禁想知道你在数据库方面做了什么需要每个开发者都有一个单独的实例。为什么不在单个实例内为每个开发者提供自己的数据库呢? - Marnix van Valen
这就是SharePoint的工作方式,它需要多个数据库,而且您不能在一个SQL实例中托管多个SharePoint实例。主要因为它会创建一个无法重命名的SharePoint_Config数据库,因此第二个实例将连接到现有实例而不是创建新实例(这不是我们想要的)。 - Jasper
@Jasper,你最终做了什么?我现在也面临同样的困境,但不确定让每个人都在同一数据库集上工作还是创建实例更好?在我们的情况下,我们同时使用8个数据库。 - katit
随着SharePoint应用程序的当前开发,这个问题变得更加简单了。只需为您的开发人员提供一个开发者网站,并使用本地环境来提供托管应用程序和服务。如果真的需要,我们会使用Azure提供每个开发人员的开发机器(VM)。 - Jasper
2个回答

2

一些想法:

实例数量取决于硬件;我不确定是否有数学公式可以帮助计算在VMbox上运行多少个实例,但听起来你需要一台强大的机器才能为每个开发人员运行多个实例以及开发工具(我几乎无法让SSMS和Visual Studio在我的笔记本电脑上很好地协同工作)。更好的硬件=更高的成本。

在终端系统上开发可能有一些优点,但我也能想到一些缺点:

  • 网络延迟。如果您的开发人员有远程工作需求,他们将需要快速的互联网连接才能做任何事情。如果开发环境留在他们的笔记本电脑上,他们可以离线工作。

  • 实例相互依赖。尽管SQL Server实例是完全独立的,但有时您需要重新启动服务器。您将需要与所有开发人员协调(如果只有少数人可能并不是什么大问题)。

  • 冗余/维护。如果一个开发人员的机器出现故障,您会损失一天的生产力;如果服务器崩溃,您的公司将为每个人支付一个假期
    :)

您是否已经计算出升级个人工作站的成本,以便可以比较建立集中式基础设施的成本?

再次强调,这些只是我认为您应该考虑的一些挑战;可能有方法来抵消它们,但它们可能会影响您的决策。


嗨,斯图尔特,感谢您的见解。当然,完全远程工作会带来一些挑战,但我们相信这种方法有一个美好的未来。虽然我们可能不得不选择某种混合模式,那也是一个选项。现在只是试图弄清楚事情。至于实例:每个SharePoint开发人员只需要一个单独的实例。我们可以选择将它们保留在开发机器上。其他(asp.net)开发人员可以在单个实例中协作。 - Jasper

1

我建议尽可能将数据库服务器集中起来。所有开发人员都使用集中的数据库实例工作应该会使在不同环境之间迁移更改变得容易得多。这就值得努力。

对于SharePoint开发环境,我强烈建议投资一些书籍,以确保您走上正确的道路。你也应该能够让所有开发人员在相同的开发实例上工作。这是一本不错的书,我相信还有其他的:SharePoint 2010 Development

至于将开发人员机器也做成虚拟机,我首先会寻求开发人员的意见,并认真考虑Stuart提出的优缺点。


Chris,感谢您的评论。我已经有足够多的关于SharePoint和推荐开发硬件的书籍了,但我们公司正在选择集中和云端的方法,并要求我看看在那里可能性是什么。我必须承认,我确实喜欢拥有大型强大的服务器的想法,而不是一个每个月变慢并且应该每两年更换一次以保持一切顺利运行的单个笔记本电脑。但正如我也回复Stuart的那样:混合方法现在可能是最好的选择,我还不完全确定。再次感谢您的评论! - Jasper

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接