vCenter SQL Express数据库维护

在执行了所有默认select的包括sql express数据库的vCenter 5.1的简单安装之后,我们应该如何确保在没有手动干预的情况下继续运行?

目前我们遇到的问题是数据库膨胀到了我们部署的巨大比例。

在我们的每个远程分支,我们有3个物理服务器

  • 科ESXi1
  • 科ESXi2
  • 分支备份(物理窗口框)

活动虚拟机数量的总和为8,然后其中6个虚拟机每天复制到其他ESXi服务器3次,同时Dell Quest vRanger软件也位于分支备份服务器上。 此外,夜间完整备份由6个虚拟机组成,同样使用vRanger软件。

这一切在大多数情况下都可以正常工作,但在vCenter任务和事件日志中相当健谈。 我已经看到9GB的大小vpx_event + vpx_event_arg表安装不到3个月前,这是疯狂的2主机。 正如http://kb.vmware.com/kb/1025914表明我已经进入vSphere Client:

  • 单击pipe理> vCenter Server设置>数据库保留策略

并改变了我们的设置合理的价值。 但是这似乎并没有做任何事情。 我怀疑这是因为我们正在使用快速版,它不能运行SQL代理来安排工作。

我发现的大部分信息似乎都与vCenter 5.0或更低版本有关,许多说明都说5.1是不同的,我发现它是这样的,因为许多页面引用的.sql清除脚本中的2个都不是目前在5.1。

我们必须为vCenter 5.1进行设置以确保sql express数据库不会填满旧数据?


编辑:默认安装设置数据库的恢复模式设置为“简单”,所以事务日志一旦完成使用就会被删除。 这就是说,我有一个问题,事务日志文件的大小在“简单”的数据库和一个大的交易失败,即大小是有限的。 多个GiB数据库缩小与vCenter默认的500MiB事务日志限制导致了一个问题。

我没有理由改变简单的恢复模式,因为损坏的数据库意味着重新安装vCenter来pipe理2台主机。 我们系统pipe理员是唯一login到该机器,所以这不是一个问题。 问题是,每当数据库变得太大,我们的虚拟机备份和复制失败。 然而,我已经把事务日志的最大值设置为无限大的事务。

我想象的解决scheme将涉及通过Windows任务调度程序运行SQL脚本。 但是哪些,我从哪里得到他们,我多久运行一次,按什么顺序运行?


PS。 我刚刚注意到,在我们的新部署中,每个事件有1行的vpx_event表每天大约有71500行。

完全披露:我没有运行vCenter。 但是,我已经使用SQL Express运行了其他软件包。

您可以使用batch和sqlcmd作为计划任务运行SQL Express维护作业,如:

sqlcmd -E -SServer\instance -Q "EXECUTE [VIM_VCDB].[dbo].[cleanup_events_tasks_proc]" 

我发现另一篇文章( http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1020904 )build议使用一个脚本,可以像这样调用:

 sqlcmd -E -SServer\instance -i "C:\Program Files\VMware\Infrastructure\VirtualCenter Server\cleanup_events_mssql.sql" 

编辑回应您的编辑:限制您的T日志的大小可以打破真正的大交易,包括收缩和大删除。 如果VCenter本身而不是代理作业正在运行删除,那可能是您的问题。 考虑到默认值是Express,那么他们就不会依赖(不支持Express)代理作业。