删除已失效的文件组 (SQL Server)

本主题介绍如何使用 SQL Server Management Studio 或 Transact-SQL 删除 SQL Server 2014 中已失效的文件组。

本主题内容

在您开始之前

局限性与限制

  • 本主题与包含多个文件或文件组的 SQL Server 数据库相关;并且,在简单模型中,仅适用于只读文件组。

  • 删除脱机文件组时,文件组中的所有文件都将失效。

建议

  • 如果某个未还原的文件组不再需要进行恢复,您可以通过将其从数据库中删除来使该文件组失效。 无法将已失效的文件组还原到此数据库,但其元数据保持不变。 文件组失效后,可以重启数据库,恢复将使数据库在还原的文件组中保持一致。

    例如,使文件组失效是解决由于您不再希望保留在数据库中的脱机文件组而导致的延迟事务的一种选项。 由于文件组处于脱机状态而延迟的事务在文件组失效后被移出延迟状态。 有关详细信息,请参阅延迟事务(SQL Server)。

安全

权限

需要对数据库拥有 ALTER 权限。

使用 SQL Server Management Studio

删除已失效的文件组

  1. 对象资源管理器中,连接到 SQL Server 数据库引擎的实例,然后展开该实例。

  2. 展开 “数据库”,右键单击要从中删除该文件的数据库,然后单击“ 属性”。

  3. 选择 “文件” 页。

  4. “数据库文件 ”网格中,选择要删除的文件,单击“ 删除”,然后单击“ 确定”。

  5. 选择 “文件组 ”页。

  6. “行 ”网格中,选择要删除的文件组,单击“ 删除”,然后单击“ 确定”。

使用 Transact-SQL

删除已失效的文件组

  1. 连接到数据库引擎。

  2. 在标准栏中,单击“新建查询”

  3. 将以下示例复制并粘贴到查询窗口中,然后单击 执行。 (注意:此示例假定文件组已存在。若要创建这些对象,请参阅 ALTER DATABASE 文件和文件组选项主题中的示例 B。第一个示例使用带子句的ALTER DATABASE语句REMOVE FILE从已失效的文件组中删除test1dat3test1dat4文件。 第二个示例使用REMOVE FILEGROUP子句删除已失效的文件组Test1FG1

USE master;  
GO  
ALTER DATABASE AdventureWorks2012  
REMOVE FILE test1dat3 ;  
ALTER DATABASE AdventureWorks2012  
REMOVE FILE test1dat4 ;  
GO  
  
USE master;  
GO  
ALTER DATABASE AdventureWorks2012  
REMOVE FILEGROUP Test1FG1 ;  
GO  
  

另请参阅

ALTER DATABASE 文件和文件组选项 (Transact-SQL)
延迟事务 (SQL Server)
文件还原(完整恢复模式)
文件还原 (简单恢复模式)
联机还原(SQL Server)
还原页(SQL Server)
碎片还原 (SQL Server)