与在一台机器上运行多个 SQL 实例相比,使用虚拟实例有哪些好处?
答案1
如果将 SQL Server 拆分为同一主机上的各个虚拟机,则具有以下优点:
更好地限制资源。 SQL 2008 的资源管理器是一个不错的开始,但仍然不够精细,尤其是在限制 IO 方面。使用虚拟服务器,您可以在虚拟机级别限制 CPU、内存和 IO,从而让您即使在旧版本的 SQL Server 上也能限制资源。
更容易的性能升级和降级。如果一台虚拟机需要扩展,比如其应用程序突然变得更受欢迎,您可以将其 VMotion 到更强大的机器而无需停机。另一方面,如果您使用多个实例,则需要耗费大量时间和人力进行安装。
更灵活的停机时间- 如果您的所有数据库都位于一个操作系统上(多个 SQL 实例),那么您必须进行大量协调才能进行 Windows 修补。如果它们被分散到不同的虚拟客户机上,那么您可以在每个客户机(及其匹配的数据库)最方便的时候进行修补。
更好的安全限制。如果一个 SQL Server 遇到问题并且第三方需要参与故障排除,您可以授予他们操作系统级别的权限,而不必担心他们会对安装在该框上的其他 SQL Server 做什么。
应用程序兼容性问题更少。 某些应用程序与 SQL Server 的命名实例不兼容。
不过,这并非全是好事。虚拟服务器方法的一些缺点包括:
- 可能更贵——你必须为虚拟化层付费,而且根据你的某些软件的许可方式,你可能需要支付不同的费用。一些实用程序是根据主机上的 CPU 数量进行许可的,并不是所有的 CPU 都可能分配给 SQL Server。
- 可能需要进行更严格的故障排除——一些供应商喜欢将责任归咎于虚拟化层。
- 更多操作系统管理 - 每个添加的操作系统都意味着更多的管理和维护。
我做了一个关于整合与虚拟化的网络广播与 SQL Server 专家 Kevin Kline 和 Ron Talmage 一起。不过需要注册。