VCenter 5.5 数据库过大造成的问题和解决方法

豆子需要登陆一个DR站点的VCenter,但是很意外的发现连接失败了


wKiom1WDbnXwh7-GAAEn6XdyXT0013.jpg


查看一下日志文件,发现原来是数据库的大小超过了SQL2012 Express 10G的限制


wKioL1WDcCOxnGTJAAFhEe96Uw0864.jpg


解决的思路很简单,手动清空过于久远的历史事件数据,然后shrink数据库就行了。


在5.0的版本里面,Vmware提供过一个脚本自动清理,但是这个脚本在5.1和5.5里面已经无效了。


具体操作如下:(官方参考kb http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1025914)


  1. 首先以vcenter管理员的身份登陆Vcenter 的数据库(我用的是windows+sql2012Express),注意VCDB(vcenter的数据库)配置的时候一般都是指定他自己的管理员登录的,所以如果想当然的用域管理员登陆,一样是没有访问权限的。记得先停止所有的vmware服务

 2.  更改Vcenter的设定,如果能够登陆Vcenter的话,可以看见有个rentention policy的设置选项,但是现在我没法连接vcenter所以要在对应的数据库表里直接修改

wKioL1WDdeGC-fKAAANxDGOs_Ho346.jpg


修改VCDB数据库里面对应的数据 记得把maxage都改成想保留的天数,对应的bool值都改成true


wKioL1WDdZjwgk-ZAAMyOwZ5AJo775.jpg


wKioL1WDdZnSIZByAAOd8Z8G62Q490.jpg



3. 执行清理


运行下列的存储过程执行清理,取决于数据的多少,这个过程可能要很多个小时


wKiom1WDc-fzeNJEAADDn319eKs742.jpg


4. Shrink 数据库


wKiom1WDc-ihEcRiAALKXvQ6V4Y015.jpg



重启Vmware服务,如果运气好,那么应该就恢复正常了,日志里面SQL的错误也应该清除了。但是豆子运气不好,SQL倒是不报错了,但是Vmwawre Vcenter 的服务启动之后又自动关掉了,图一的错误继续存在。继续查错。。。


日志里面报错如下


wKioL1WDeEnxxjItAAOcuivOak8299.jpg


解决方法参考官方kb

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2015824


首先查看DSN设置无误

wKiom1WDd3Xxe2czAAGmwDDE3qM066.jpg


查看服务登陆账号无误

wKioL1WDeSixtz3xAAJO2fPg_14969.jpg


修改下列键值为Vcenter的登陆账号

HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware Virtualcenter\D

wKioL1WDeSmQxF4fAACJEr5PzwM833.jpg


执行下列程序重置密码

wKiom1WDd3jz85nMAAG_8QGbmUo314.jpg


重启服务之后VCenter终于恢复正常。

你可能感兴趣的:(VCenter,5.5;,数据库过大)