从 vCenter Server 使用的数据库中清除旧数据 (2075138)(转)
Symptoms
免责声明: 本文为 Purging old data from the database used by VMware vCenter Server (1025914) 的翻译版本。 尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。 有关最新内容,请参见英文版本。
Purpose
- 无法登录 vCenter Server。
- VMware VirtualCenter Server 服务可能会在启动后立即停止。
- Microsoft SQL 事件日志报告以下错误:
无法为数据库 'VCDB' 中的对象 'dbo.VPX_EVENT'.'VPXI_EVENT_USERNAME' 分配空间,因为 'PRIMARY' 文件组已满。请删除不需要的文件、删除文件组中的对象、将其他文件添加到文件组或为文件组中的现有文件启用自动增长,以便增加可用磁盘空间。(Could not allocate space for object 'dbo.VPX_EVENT'.'VPXI_EVENT_USERNAME' in database 'VCDB' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.)
Resolution
- 如果使用的是 SQL 2005 Express,则可能需要下载并安装 Microsoft SQL Server Management Studio Express。
- SQL Express 2005/2008(vCenter Server 5.x 与 SQL Express 2008 打包在一起)支持最多 5 个主机和 50 个虚拟机。如果您的环境超出这些阈值,必须将数据库升级到 SQL Standard 版本。
- 如果可用磁盘空间不足,在此过程中数据库事务日志可能会被填满。对于 SQL Server,如果无法提供所需的磁盘空间,一种可选方案是在此操作执行期间对数据库采用“简单”恢复模式。
清除任务和事件表
VPX_EVENT 表中的数据,请执行以下操作:- 连接到
Servername\SQL Database并使用相应凭据登录。 - 单击数据库展开,然后依次选择 VIM_VCDB >表。
注意:默认情况下,vCenter Server 数据库的名称为VIM_VCDB,除非在一开始创建时进行了重命名。 - 右键单击 dbo.VPX_PARAMETER 表,再单击打开。
注意:如果使用的是 SQL Server 2008,则右键单击 dbo.VPX_PARAMETER 表,并单击编辑前 200 行。 - 将 event.maxAge 修改为30,并将 event.maxAgeEnabled 值修改为 true。
- 将 task.maxAge 修改为30,并将 task.maxAgeEnabled 值修改为 true。
注意:为缩短数据清除时间,请在多个时间间隔内运行上述步骤:
- 确保留用 event.maxAge 的默认值 task.maxAge.
- 执行步骤 6 来运行清理任务。
- 将 event.maxAge 和 task.maxAge 值减少 60,然后运行清理任务。
- 重复步骤 a 到 c,直到值达到 30 并执行最终清除过程。
- 运行内置的存储过程:
- 导航到 VIM_VCDB>可编程性>存储过程。
- 右键单击 dbo.cleanup_events_tasks_proc,然后选择执行存储过程。
这将根据为 maxAge 指定的日期从 vpx_event, vpx_event_arg 和 vpx_task 表中清除数据。 - 成功完成清理操作后,关闭 SQL Management Studio,然后启动 VMware Virtual Center Server 服务。
- 确保默认统计级别设置为 1:
- 使用 vSphere Client 以管理员身份登录 vCenter Server。
- 转到管理>vCenter Server 设置>统计。
- 在“统计间隔”下,确保“统计级别”列设置为1。
- 要更改该值,可选择间隔时间,单击编辑,然后从列表中选择1 级。
- 执行
dbo.cleanup_events_tasks_proc可能会花费较长时间,具体视数据库大小而定。 - 由于事务日志将基于要清除的数据以多个间隔来填充,因此操作可能失败。在需要时您必须缩小 Transaction 日志,然后重新运行
dbo.cleanup_events_tasks_proc。
截断事件和任务表
alter table VPX_EVENT_ARG drop constraint FK_VPX_EVENT_ARG_REF_EVENT, FK_VPX_EVENT_ARG_REF_ENTITY
alter table VPX_ENTITY_LAST_EVENT drop constraint FK_VPX_LAST_EVENT_EVENT
truncate table VPX_TASK
truncate table VPX_ENTITY_LAST_EVENT
truncate table VPX_EVENT
truncate table VPX_EVENT_ARG
alter table VPX_EVENT_ARG add constraint FK_VPX_EVENT_ARG_REF_EVENT foreign key(EVENT_ID) references VPX_EVENT (EVENT_ID) on delete cascade,
constraint FK_VPX_EVENT_ARG_REF_ENTITY foreign key (OBJ_TYPE) references VPX_OBJECT_TYPE (ID)
alter table VPX_ENTITY_LAST_EVENT add constraint FK_VPX_LAST_EVENT_EVENT foreign key(LAST_EVENT_ID)
references VPX_EVENT (EVENT_ID) on delete cascade
免责声明:VMware 对第三方网站上数据、观点、建议或声明的可靠性不承担任何责任。包含此类链接不代表 VMware 认可、推荐此类站点的内容或接受相应的责任。
Related Information
使用以下 Microsoft SQL Studio 选项无助于清除 VPX_EVENT 和 VPX_TASK 表:
- 清除旧数据
- 截断表
- 收缩日志和数据库
- 重新创建汇总作业
从 vCenter Server 使用的数据库中清除旧数据 (2075138)(转)的更多相关文章
- 清空SQL Server数据库中所有表数据的方法(转)
清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入 ...
- SQL点滴12—SQL Server备份还原数据库中的小把戏
原文:SQL点滴12-SQL Server备份还原数据库中的小把戏 备份数据库时出现一个不太了解的错误 ,错误信息“is formatted to support 1 media families, ...
- 清空SQL Server数据库中所有表数据的方法
原文:清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可 ...
- SQL Server数据库账号密码变更后导致vCenter Server无法访问数据库
SQL Server数据库账号密码变更后导致vCenter Server无法访问数据库 1.1状况描述: 若SQL Server数据库的账号(这里以sa为例)密码发生了变更,那么连接数据的客户端vCe ...
- SQL Server 删除当前数据库中所有数据库 ,无视约束
Sql Server中清空所有数据表中的记录 清空所有数据表中的记录: exec sp_msforeachtable @Command1 ='truncate table ?' 删除所有数据表: e ...
- 【Sqlserver清空数据库中所有表数据】
脚本: CREATE PROCEDURE sp_DeleteAllData AS EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT AL ...
- C# 批量插入表SQLSERVER SqlBulkCopy往数据库中批量插入数据
#region 帮助实例:SQL 批量插入数据 多种方法 /// <summary> /// SqlBulkCopy往数据库中批量插入数据 /// </summary> /// ...
- C#实现MySQL数据库中的blob数据存储
在MySQL数据库中,有一种blob数据类型,用来存储文件.C#编程语言操作MySQL数据库需要使用MySQL官方组件MySQL.Data.dll. Mysql.Data.dll(6.9.6)组件下载 ...
- 批量替换数据库中所有用户数据表中字段数据类型为char和varchar到nvarchar的脚本
解决问题:字段类型为char的总是占用指定字节长度(末尾好多空白符号),varchar数据类型长度一个汉字占2个字节,内容存储为中文的字段个人建议全部使用nvarchar. 操作说明:打开SQL Se ...
随机推荐
- N阶台阶问题(详解)
原创 问题描述: 有N阶台阶,每一步可以走1步台阶或者2步台阶,求出走到第N阶台阶的方法数. 解题思路: 类似于建立树的过程 1 2 1 2 1 2 1 2 1 2 ...
- php的调试工具xdebug
zend_extension = "D:/developsoftware/wamp/bin/php/php5.5.12/zend_ext/php_xdebug-2.2.5-5.5-vc11- ...
- PHP冒泡排序、选择排序、插入排序
$arr = [1, 8, 7, 5, 4, 2, 11, 9, 20]; 冒泡排序: for ($i = 0; $i < count($arr); $i ++) { for ($j = 0; ...
- 解决IE下a标签点击有虚线边框的问题
解决IE下a标签点击有虚线边框的问题 关键词:IE去除虚线边框.IE解决a标签虚线问题 先看看IE下,a标签出现的虚线边框问题: (上面中,红线包裹的就是一个翻页的按钮,按钮实际是hml的a标签做的, ...
- MSIL实用指南-生成if...else...语句
if...else...语句是非常重要的选择语句,它的生成一般需要ILGenerator的DefineLabel方法和MarkLabel方法,以及Brtrue_S和Br_S指令. 一.DefineLa ...
- spring8——AOP之Bean的自动代理生成器
对于上篇博客http://www.cnblogs.com/cdf-opensource-007/p/6464237.html结尾处提到的两个问题,可以使用spring提供的自动代理生成器解决.自动代理 ...
- Python3安装Requests
安装Requests费了1天的时间,囧.终于还是在官网找到解决方法,可以参考这个http://docs.python-requests.org/en/latest/user/install/#inst ...
- django中HttpRequest请求
视图的第一个参数必须是HttpRequest对象 在视图函数中,接收的request有如下属性: path:一个字符串,表示请求的页面的完整路径,不包含域名. method:一个字符串,表示请求使用的 ...
- Nginx配置特定二级域名
首先把先在域名设置页面把二级域名解析到服务器的公网IP上,这里假设是 bbs.domainname.com 然后编辑 /etc/nginx/sites-available/domain.com.con ...
- assert后面如果是假则程序崩溃
assert后面如果是假,则程序崩溃.