从 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 ...
随机推荐
- SpringBoot14 SpringBoot整合mybatis
1 版本说明 springboot:2.0 jdk:1.8 2 创建springBoot项目 创建项目时勾选必要web,MySQL,mybatis相关依赖 创建完成后再pom文件中添加自动部署.lom ...
- Python内置函数(27)——range
英文文档: range(stop) range(start, stop[, step]) Rather than being a function, range is actually an immu ...
- HashMap 的底层原理
1. HashMap的数据结构 数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端. 数组 数组存储区间是连续的,占用内存严重,故空间复杂的很大.但数组的二分查找时间复杂度小,为O(1 ...
- maven入门(1-1)maven是什么?
Maven是一个项目管理工具,它包含了 一个项目对象模型 (Project Object Model), 一组标准集合, 一个项目生命周期(Project Lifecycle), 一个依赖管理系统(D ...
- YML(1)什么是 YML
YAML(IPA: /ˈjæməl/,尾音类似camel骆驼) YAML 是一个可读性高,用来表达资料序列的编程语言. YAML参考了其他多种语言,包括:XML.C语言.Python.Perl以及电子 ...
- SQL Server数据库优化的10多种方法
巧妙优化sql server数据库的几种方法,在实际操作中导致查询速度慢的原因有很多,其中最为常见有以下的几种:没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷). I/O吞吐量小, ...
- 记录java/javascript让浮点数显示两位小数的方法
参考:http://www.jb51.net/article/46010.htm 另,如果只是要在页面层展示的时候,显示为两位小数,也可以直接改前端js代码. item.turnoverRate = ...
- SQLContext、HiveContext自定义函数注册
本文简单介绍两种往SQLContext.HiveContext中注册自定义函数方法. 下边以sqlContext为例,在spark-shell下操作示例: scala> sc res5: org ...
- Spark:reduceByKey函数的用法
reduceByKey函数API: def reduceByKey(partitioner: Partitioner, func: JFunction2[V, V, V]): JavaPairRDD[ ...
- [论文阅读] MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications (MobileNet)
论文地址:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications 本文提出的模型叫Mobi ...