由于硬件故障,我们正在将安装的软件从一台服务器迁移到一台新服务器。有两种软件(vmware vcenter和symantec备份exec)依赖于分离的SQLServer快捷实例。
这个软件的最初设置(它们都是)是由一家外部公司完成的,而且他们似乎遵循了下一个->.->next->finish方法来安装软件,结果是每个软件都有他们自己的SQLServer快捷实例。
我的问题是,这种方法是最好的选择还是最好将所有数据库保存在SQLServer Express的同一个实例上?
发布于 2013-01-16 16:44:24
对于同一台计算机上Server的多个实例,通常的参数是为每个实例使用额外的资源。这意味着为Server二进制文件、系统数据库和其他杂项文件的整个副本提供额外的磁盘空间。仅运行服务器二进制本身就会产生CPU、线程和RAM开销。最大的资源块可能是两个单独的数据缓存。具有两个数据缓存,这可能会阻止一个或另一个实例有效地使用RAM,这取决于数据库大小、系统如何被查询以及系统是如何配置的。对于其他实例,也会有更多的管理时间。例如,将有两个要创建和观察的备份作业,两个要创建和监视的重新索引作业,要配置的最小和最大RAM值等。您可能需要为每个附加实例打开额外的防火墙端口。
对于多个实例,最流行的(也是最好的)论点是,两个不同的应用程序需要尽可能多地相互隔离,安全性方面。IIRC最初的目的是帮助PaaS供应商在虚拟化为黄金时段做好准备之前向客户提供Server,而Server (和Windows )必须安装在“裸金属”上。显然,这些客户需要彼此完全孤立,这些安全关切今天与2000年一样。
有些应用程序需要对tempdb进行特定的排序,该排序规则由运行在实例上的所有应用程序共享。这个问题可以用多个实例解决。同样,如果应用程序需要特定的服务包或热修复级别,则可以将每个实例保持在不同的版本。
如果您有两个必须使用相同数据库名称的不同应用程序(或不同版本(dev、test、production) ),则安装多个实例是可能的解决方案。
(必须隔离需求的另一个解决方案是运行两个虚拟化操作系统,每个虚拟化操作系统都有自己的Server安装。这可能会提供更好的隔离,但它可能会增加许可和管理的成本,并在计算机上造成更多的资源开销。尽管如此,我看到越来越多的DBA立即走向虚拟化。也许“多个实例”是一个已经来来去去的特性,至少对于大型系统来说是这样,但我没有看到任何迹象表明微软会放弃它。)
https://serverfault.com/questions/469574
复制相似问题