鸿萌数据恢复服务:SQL Server 中的“PFS 可用空间信息不正确”错误

天津鸿萌科贸发展有限公司从事数据安全服务二十余年,致力于为各领域客户提供专业的数据恢复、数据备份、网络及终端数据安全等解决方案与服务。

+

同时,鸿萌是国际主流数据恢复软件(Stellar、UFS、R-Studio、ReclaiMe Pro 等)的授权代理商,为专业用户提供正版的数据恢复软件。

页是 SQL Server 中的主要存储单元。服务器在页级别执行所有磁盘 I/O 操作。PFS(指页面可用空间)是 SQL 数据库文件中维护每个页面分配状态的页面之一。它记录每个页面上有多少可用空间的信息。SQL Server 数据库引擎使用 PFS 页来查找哪些页面已分配或空闲。PFS 记录 SQL 数据库中页面的分配状态、页面类型和可用空间量。

有时,由于数据库不一致,页面中存储的信息与实际类型不匹配。这可能导致页面可用空间错误。“PFS 可用空间信息不正确”错误就是这样一种错误。当使用 DBCC CHECKDB 命令检查数据库完整性,并且由于数据库不一致或损坏导致完整性检查失败时,就会发生此错误。

PFS 可用空间信息错误的原因

数据库文件(.MDF/.NDF)损坏可能导致“PFS 可用空间信息不正确”错误。数据库文件损坏可能由于以下原因而发生:

  • 系统突然关闭
  • MS SQL Server 中的错误
  • 大型或超大的数据库文件
  • 数据库打开时 MS SQL Server 错误或意外关闭
  • 保存数据库的硬盘存在问题
  • 保存数据文件的系统感染了病毒

修复PFS 可用空间信息不正确的错误的方法

当 DBCC CHECKDB 命令检测到数据库损坏时,会出现“PFS 可用空间信息不正确”错误。它显示对象名称、表名称、对象 ID、分区 ID 和页面 ID,并推荐适当的修复选项。因此,用户可以将数据移动到新页面,从备份中恢复数据库,或修复数据库以尝试解决错误。方法如下。

1 – 将数据移动到新页面

DBCC CHECKDB 命令显示有问题的 PFS 页所在的表名。可以尝试将数据从源表复制到新表。这将分配新的数据页和 PFS 条目。此后,删除源表并将新表重命名为与源表相同的名称。这有助于排除错误。

注意:只有当用户知道有问题的 PFS 页所属的表名时,此方法才有效。

2 – 从备份恢复数据库

如果数据库损坏或无法读取,可以从上次更新的备份中恢复数据库。可以使用 SQL Server Management Studio (SSMS) 恢复 SQL 数据库备份。请按照以下步骤操作:

  • 打开 SSMS 并转到 对象资源管理器。
  • 右键单击 数据库 并选择恢复数据库选项。

  • 在 “常规” 页面的“源” 部分下 ,选择“设备”以指定要恢复的备份集的源和位置。

  • 在 目标 部分,选择数据库名称。
  • 在 “还原到” 字段中,您可以保留默认设置“ 还原到上次进行的备份”
  • 在要恢复的备份集网格中 ,单击需要恢复的备份。
  • 在 “选项”页面的“恢复选项”部分 下 ,您可以选择所需的选项。然后单击 “确定”。

或者,可以通过运行以下 T-SQL 代码从备份中恢复数据库:

RESTORE DATABASE [employee] FROM DISK = N'C:\Backup\employee.bak' WITH FILE = 1, NOUNLOAD, STATS = 10

其中,'employee' 为数据库名称,'N'C:\Backup\employee.bak' 为备份存储位置。文件为 FILE 1,STAT = 10 将每 10% 显示一次恢复进度。

3 – 使用 DBCC CHECKDB 命令修复数据库

如果没有更新的备份,可以使用 DBCC CHECKDB 命令修复数据库。它可以修复损坏的 SQL 数据库中的所有对象,包括索引页、PFS 页和其他分配页。可以运行带有REPAIR_ALLOW_DATA_LOSS选项的DBCC CHECKDB命令,如下所示:

注意:在使用该命令之前,建议备份您的 SQL 数据库。

DBCC CHECKDB ('employee', REPAIR_ALLOW_DATA_LOSS) WITH NO_INFOMSGS;

GO

注意:使用 DBCC CHECKDB REPAIR_ALLOW_DATA_LOSS 命令修复 SQL 数据库会重新分配 PFS 页或一系列页。这可能会导致数据丢失。

如果 DBCC CHECKDB 命令失败,则可以使用可靠的 SQL 修复工具 Stellar Repair for MS SQL。此工具可以轻松修复 SQL 数据库文件 (.mdf 和 .ndf) 而不会丢失任何数据。它可以从损坏的数据库中恢复所有对象,包括页面、索引、表和存储过程。然后,它将恢复的数据保存到新的健康数据库文件 (.mdf)。这有助于解决由于数据库文件损坏而发生的问题。该工具支持修复和恢复在 SQL Server 2022、2019、2017、2016 和更早版本中创建的数据库。

鸿萌是 Stellar 系列数据恢复软件的授权代理商,为用户提供官方正版软件产品。同时,需要时,可协助进行售后服务及寻求官方远程技术指导。

联系专业的数据恢复公司

以上解决方案针对专业的数据库人员。对于非专业人员,为了保护数据不受二次损坏,请及时联系专业的数据恢复公司。

天津鸿萌科贸发展有限公司提供专业的数据库恢复及修复服务,凭借二十余年的良好行业口碑,为客户高效解决数据安全问题。

7x24小时在线紧急数据救援服务,及时向客户提供专业的应急响应。

易备数据备份软件:数据库备份,为任何危机做好风险防范

易备数据备份软件支持对 SQL Server、Oracle、MySQL、PostgreSQL、MariaDB、泛微 OA 等数据库进行快速备份,备份过程不会对任何服务造成中断。

使用一份授权,可以备份无限量的数据库,不管数据库服务器是否在本机、本地网络、或是远程网络。可以从网络中的任何一个 Windows 系统中执行数据库的备份任务。软件可以将数据库自动备份到任何目标设备:本地磁盘、NAS、磁带,以及自动通过 FTP、FTPS 和 SFTP 进行传送备份文件,或发送到天翼云、华为云、信服云或 Amazon S3 等云服务。使用本软件可以备份及截断事务日志。

  • 实时备份, 不需要任何中断或数据库锁定
  • 基于日期和时间的备份任务计划
  • 可恢复到一个已存在的数据库或创建一个新数据库
  • 内置压缩
  • AES 256 位加密
  • 多账户和多数据库并行备份
  • 自定义备份文件名
  • 可以为每一个数据库保存多个备份副本
  • 备份校验
  • 标准格式的备份文件
  • 多副本备份,同时支持云端、FTP、磁带、NAS 等多种备份目的地
  • 邮件提醒备份结果
  • 防勒索备份检测
  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鸿萌数据安全

你的鼓励将是我创作的巨大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值