豆子需要登陆一个DR站点的VCenter,但是很意外的发现连接失败了
查看一下日志文件,发现原来是数据库的大小超过了SQL2012 Express 10G的限制
解决的思路很简单,手动清空过于久远的历史事件数据,然后shrink数据库就行了。
在5.0的版本里面,Vmware提供过一个脚本自动清理,但是这个脚本在5.1和5.5里面已经无效了。
具体操作如下:(官方参考kb http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1025914)
首先以vcenter管理员的身份登陆Vcenter 的数据库(我用的是windows+sql2012Express),注意VCDB(vcenter的数据库)配置的时候一般都是指定他自己的管理员登录的,所以如果想当然的用域管理员登陆,一样是没有访问权限的。记得先停止所有的vmware服务
2. 更改Vcenter的设定,如果能够登陆Vcenter的话,可以看见有个rentention policy的设置选项,但是现在我没法连接vcenter所以要在对应的数据库表里直接修改
修改VCDB数据库里面对应的数据 记得把maxage都改成想保留的天数,对应的bool值都改成true
3. 执行清理
运行下列的存储过程执行清理,取决于数据的多少,这个过程可能要很多个小时
4. Shrink 数据库
重启Vmware服务,如果运气好,那么应该就恢复正常了,日志里面SQL的错误也应该清除了。但是豆子运气不好,SQL倒是不报错了,但是Vmwawre Vcenter 的服务启动之后又自动关掉了,图一的错误继续存在。继续查错。。。
日志里面报错如下
解决方法参考官方kb
首先查看DSN设置无误
查看服务登陆账号无误
修改下列键值为Vcenter的登陆账号
HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware Virtualcenter\D
执行下列程序重置密码
重启服务之后VCenter终于恢复正常。
本文出自 “麻婆豆腐” 博客,请务必保留此出处http://beanxyz.blog.51cto.com/5570417/1663427
原文地址:http://beanxyz.blog.51cto.com/5570417/1663427