SQL Server数据库文件与Windows系统透明文件压缩

来源:这里教程网 时间:2026-03-02 10:35:17 作者:
 

日前,客户附加一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 中止。

相关推荐