2013-12-16 31 views
1

我有一个关于为SQL Server 2008 R2分配资源的问题。我们有一台物理服务器Windows 2008 R2,其中三台安装了用于生产,测试和开发的SQL Server 2008 R2。该服务器具有64GB的RAM和24个内核。如果我们想为特定实例分配特定数量的资源,我们可以做到吗?例如,我们希望为生产实例分配32 GB和12个内核,并分别为测试和开发分配12 GB和6个内核。为SQL Server实例分配资源-dba

因为所有三个实例都在同一个物理服务器上,所以我们不希望测试和开发实例消耗比我们想要的更多的资源。有没有办法在服务器或SQL Server中设置它?

回答

0

您有一些选择。我看到的三个选项是:

(1)为同一台物理机上的每个服务器使用一个虚拟机,并根据需要为虚拟机分配资源。

(2)使用SQL Server资源州长(http://blog.sqlauthority.com/2012/06/04/sql-server-simple-example-to-configure-resource-governor-introduction-to-resource-governor/

有了这个,你可以由用户设置的资源消耗。因此,对于您的测试服务器,只需使用较低的资源分配设置其用户即可。

(3)在sql server中,您还可以使用sp_configure在sys.configurations中设置实例的最大内存。对于CPU,您可以尝试在测试环境中尝试亲和性掩码,或者为实例分配特定的CPU ID范围或NUMA节点ID范围。欲了解更多详情:http://msdn.microsoft.com/en-us/library/ee210585(v=sql.110).aspx

我会建议在任何情况下总是设置最大服务器内存。如果没有大量测试,我不会推荐使用亲和性或CPU范围设置。相反,对于你的情况,我会建议使用资源调控器。这是BC它没有虚拟机的缺点,虚拟机本身有开销,因此耗尽了一些服务器资源。您也可以使用资源调控器将CPU调度留给操作系统和服务器。此选项也为您提供最大的灵活性,因为您可以限制特定用户的资源,以防万一您需要。