sqlserver数据库无法收缩问题

sqlserver数据库无法收缩问题

ID:15150270

大小:422.50 KB

页数:9页

时间:2018-08-01

sqlserver数据库无法收缩问题_第1页
sqlserver数据库无法收缩问题_第2页
sqlserver数据库无法收缩问题_第3页
sqlserver数据库无法收缩问题_第4页
sqlserver数据库无法收缩问题_第5页
资源描述:

《sqlserver数据库无法收缩问题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、MSSQLServer数据库无法收缩的处理办法一.数据库数据文件无法收缩的情况在MSSQLServer2008中有一个叫做“张金玉”的数据库。想把他收缩一下。进入“SQLServerManagementStudio”,使用“数据库”→“张金玉”鼠标右键菜单中的“任务”→“收缩”→“文件”菜单项,弹出一个“收缩文件”窗口,如下图。在这个窗口中可以看到“当前分配的空间”为31236.00MB,“可用空间”为23341.81MB(74%)。可以缩小很多。选中窗口中的“在释放未使用的空间前重新组织页”单选按钮,并将那个“将文件收缩到”框框里面的值设为0(此处设为0在运行中会自动填入这个框框

2、右边的最小值—7825)。点击“确定”按钮,稍等片刻,这个窗口自动关闭,表示已经收缩完毕。但是,再次打开这个窗口看看,“当前分配的空间”仍然是31236.00MB。换句话说,这个数据库实际上并没有收缩。换用其它的收缩方法,统统不能收缩。鉴于此种情况,考虑数据库本身可能存在错误。试用“DBCCCHECKDB”检查是否有误。在“SQLServerManagementStudio”中新建一个查询选项卡,先指定数据库名称为“张金玉”,然后执行“DBCCCHECKDB”。执行期间服务器的硬盘灯常亮。执行完毕后报告有错。在报告开头附近就有两行红字如下:张金玉的DBCC结果。ServiceBro

3、ker消息9675,状态1:已分析的消息类型:14。ServiceBroker消息9676,状态1:已分析的服务约定:6。ServiceBroker消息9667,状态1:已分析的服务:3。ServiceBroker消息9668,状态1:已分析的服务队列:3。ServiceBroker消息9669,状态1:已分析的会话端点:0。ServiceBroker消息9674,状态1:已分析的会话组:0。ServiceBroker消息9670,状态1:已分析的远程服务绑定:0。ServiceBroker消息9605,状态1:已分析的会话优先级:0。消息2576,级别16,状态1,第1行索引分配

4、映射(IAM)页(1:3998207)(位于对象ID0,索引ID-1,分区ID0,分配单元ID332260034084864(类型为Unknown))的上一个指针指向了IAM页(0:0),但扫描过程中检测不到它。消息8906,级别16,状态1,第1行数据库ID5中的页(1:3998200)在SGAM(1:3578625)和PFS(1:3995472)中进行了分配,但未在任何IAM中分配。PFS标志'MIXED_EXTALLOCATED0_PCT_FULL'。CHECKDB发现有2个分配错误和0个一致性错误与任何单个的对象都没有关联。………………在报告的末尾处有总结如下:CHECKD

5、B在数据库'张金玉'中发现2个分配错误和0个一致性错误。对于由DBCCCHECKDB(张金玉)发现的错误,repair_allow_data_loss是最低的修复级别。DBCC执行完毕。如果DBCC输出了错误信息,请与系统管理员联系。好像是建议使用“DBCCCHECKDB”的repair_allow_data_loss参数修复。那么在查询选项卡中运行“DBCCCHECKDB(张金玉,repair_allow_data_loss)”。但是,一运行就报错。原因是修复数据库时,该数据库需要设置成“单用户”状态。将数据库属性的“选项”→“状态”→“限制访问”设置成“SINGLE_USER”

6、,使其变成单用户。设置成单用户之后立即再运行“DBCCCHECKDB(张金玉,repair_allow_data_loss)”。但是仍然报错。然而,退出“SQLServerManagementStudio”再重新启动“SQLServerManagementStudio”后再运行“DBCCCHECKDB(张金玉,repair_allow_data_loss)”就不报错了。运行后的界面如下图。从运行结果看,错误已经被修复了。既然已经修复了错误,那么就重新进行“收缩”。收缩后再使用“数据库”→“张金玉”鼠标右键菜单中的“任务”→“收缩”→“文件”菜单项,打开“收缩文件”窗口看看,情况如下

7、图。此时“当前分配的空间”已经变成了7895.00MB,说明收缩成功。下次再遇到不能“收缩”的情况时,首先要考虑数据库内部是否有错。可以先直接使用“DBCCCHECKDB(张金玉,repair_allow_data_loss)”修复一下。修复后便可以顺利收缩了。二.数据库日志文件无法收缩的情况在MSSQLServer2008中有一个叫做“庞继刚”的数据库。在数据库属性中的“文件”中可以见到日志是3460MB。如下图。而在数据库属性的“选项”中“恢复模式”是“完整”。如

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。