删除失效文件组 (SQL Server)

适用范围:SQL Server

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

本主题内容

开始之前

限制和局限

  • 本主题与包含多个文件或文件组的 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。)第一个示例通过使用带有 REMOVE FILE 子句的 ALTER DATABASE 语句从失效文件组中删除 test1dat3test1dat4 文件。 第二个示例通过使用 Test1FG1子句,删除失效的文件组 REMOVE FILEGROUP

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

另请参阅

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