数据库文件与Windows系统透明文件压缩"/>
SQL Server数据库文件与Windows系统透明文件压缩
日前,客户附加一SQL Server数据库,提示错误,错误信息如下:
查服务器内部数据库引擎日志:
Could not open File Control Bank (FCB) for invalid file ID 2 in database 'InfoManager'. Verify the file location. Execute DBCC CHECKDB.
从文件名来看,并不是常用压缩软件产生的压缩文件的后缀名(.rar .zip .7z)等,文件肯定不是压缩软件产生的压缩文件。
上网查了一圈,也没找到错误的原因。
还好,脑子还算灵活,想到Windows系统有一项透明文件压缩功能,可以实现文件正常使用,后台系统压缩存储,达到节省磁盘空间的目的。点击出错的数据库文件,查看文件属性,确实钩选了压缩选项,如下图。
取消文件压缩属性后,数据库附加成功。
下面,重现错误现象。
将正常数据库csh1从服务器上分离出去,钩选文件压缩选项。
命令行操作:
USE [master]
GO
CREATE DATABASE [chs1] ON
( FILENAME = N'C:\...\chs1.mdf' ), ( FILENAME = N'C:\...\chs1_log.LDF' )
FOR ATTACH
GO
消息5118,级别16,状态1,第1 行
文件"C:\...\chs1.mdf" 已压缩,但未驻留在只读数据库或文件组中。必须将此文件解压缩。
消息1813,级别16,状态2,第1 行
无法打开新数据库'chs1'。CREATE DATABASE 中止。
消息5180,级别22,状态1,第1 行
对于数据库'chs1' 中无效的文件ID 2,无法打开文件控制区(FCB)。请验证文件位置。执行DBCC CHECKDB。
消息5118,级别16,状态1,第1 行
文件"C:\...\chs1_log.LDF" 已压缩,但未驻留在只读数据库或文件组中。必须将此文件解压缩。
文件激活失败。物理文件名称'C:\...\chs1_log.LDF'可能不正确。
消息5170,级别16,状态1,第1 行
无法创建文件'C:\...\chs1_log.LDF',因为它已存在。请更改文件路径或文件名,然后重试此操作。
消息1813,级别16,状态2,第1 行
无法打开新数据库'chs1'。CREATE DATABASE 中止。来自 “ ITPUB博客 ” ,链接:/,如需转载,请注明出处,否则将追究法律责任。
转载于:/
更多推荐
SQL Server数据库文件与Windows系统透明文件压缩
发布评论