我正在与这家公司合作,目前在虚拟化的 Windows Server 2003 中运行他们的 SQL Express 数据库。
对于将其替换为虚拟化精简版 Windows 7 或 8.1,您的专家有何看法?
我知道这并不理想,但他们不愿意为新的服务器许可证付费。(请理解,根据您所在的位置,此费用可能是一个更高的问题)。
这是一个只有 8 个本地用户和一些 RDP 用户(2 个普通用户,2 个非常随意的用户)的小型网络。
如果我理解正确,Windows 7 已将 TPC 连接限制提高到 20,但我不确定此限制或其他限制将如何影响其上的 SQL 实例。
数据库在年初被清除,然后它的大小是 ~1.5 GB,到年底它增长 (*) 到 ~10 GB。
( ) 它会不必要地增长,因为其中绝对没有那么多有价值的数据,它是大多数日志...*
你有什么建议?谢谢你。
看起来你的问题围绕着我的 3 个部分:
1-许可合规性/支持/(安全合规性?)。
2-服务于此的最佳实践。
3-测试它。这是一个不常见的场景。
对于 #1,我联系了 MS 支持,他们说:
因此,根据该代表的说法,不仅您的数据文件会被计入,日志和临时数据也会被计入。如果您已经在使用 express,您可能已经意识到它的局限性。
CPU: 就最佳实践而言,您能否在您选择的虚拟机管理程序中为它提供一个非常好的 CPU,因为您在这方面受到限制。如果需要,也许使用 powershell 或其他选项设置您自己的日志传送以获得某种“HA”。这更多是为了确保您不会丢失数据,因为似乎用户很少,而且数据库大小限制如此之小,恢复时间可能不是问题。
RAM: 您被限制为 1GB 的 RAM,因此请确保您的执行计划缓存未满并解决该问题,否则或还要确保您有快速磁盘。10GB 磁盘和 1GB 内存意味着我们又回到了优化磁盘的 32 位时代。现在我们有 SSD,所以这是一个很好的作弊。
磁盘/IOPS:他们不想支付许可费用?好吧,花 200 美元买一台寿命极长的三星 850。如果他们想要真正便宜并且丢失日志备份的尾巴,请将您的 tlog 和数据放在那里。您仍将获得 IOPS,并且您经常从磁盘上进行日志备份,最好是从 VM 上备份,对吗?你是因为如果你不是,你现在将失去一切。如果可能的话,一起备份到另一个虚拟机上的磁盘上,或者备份到 NAS 设备上,以防万一实际虚拟机损坏并且由于某种原因无法访问虚拟硬盘驱动器文件。记得测试恢复。
监控: 监控您的数据大小和磁盘秒数/读写。Windows Server 在内核的许多方面进行了优化,而 Windows 7 则没有。它可能会蔓延到所有地方。从旧系统中获取良好的性能基线,并将性能与新系统进行比较。
测试测试测试:迁移时能否在新虚拟机上重放一些负载?在新机器上重放生产负载。建立一个新的并行实例并恢复昨晚的备份,然后记录所需的安全和配置步骤,以便您可以编写脚本并在 VM 出现故障或需要重做时重复执行。一旦编写好脚本,恢复 EOD 备份并与最终用户一起测试。让他们都在您的新测试实例上进行并努力进行。加载,收集指标。让他们在当前的生产服务器上做同样的事情并收集指标。怎么样?好的?你更接近于正确地实现这个,或者像一个人可以在 Windows 7 上的产品中使用 sql express 一样“正确地”......
Cover Your Butt:让企业知道这是 Windows 7,从长远来看,他们实际上可能会花费更多的支持费用。您可能想要收集指标以在 6 个月后显示它们。让他们知道他们的 SLA,例如恢复时间、可接受的数据丢失,并确保测试您的备份/日志传送也是首选。Homebrew log shipping on express 还测试了 tlog 备份。如果你把 tlogs 放在 1 个磁盘上,让他们知道由于没有日志备份的尾部,最多可能有 x 分钟的潜在数据丢失。