如何在 SQL Server 中备份和恢复数据库

时间:2025-11-27 00:44:04 来源:信息技术课堂

在SQL Server中 ,何S恢复数据库可以存储在不同的中备文件和文件组中。如果您的份和数据库较小(100 MB 或更少),则无需过多担心文件和文件组。数据但如果您有一个大型数据库(数 GB 或 TB),何S恢复将数据分离到不同的中备文件中可以帮助您优化性能。您可以将数据文件存储在不同的份和磁盘中。这也将有助于更快地备份和恢复信息,数据因为您不需要恢复整个数据库 ,何S恢复而只需恢复所选的中备文件或文件组。

备份类型

在 SQL Server 中  ,份和有不同类型的源码库数据备份 :

完整备份 :包含整个数据库信息 。差异备份:需要进行完整备份 ,何S恢复然后存储上一次备份与当前数据库之间的中备差异 。此备份需要的份和信息较少,因为它仅存储差异。事务日志备份 :存储有关事务日志的信息。

为什么备份很重要?

您的数据库可能会由于多种原因而损坏 。备份将帮助您恢复在发生灾难和问题(如硬件故障、病毒攻击或其他问题)时丢失的数据库 。

如何使用 SSMS 创建完整备份

您可以使用 SQL Server Management Studio (SSMS) 创建完整备份来还原 SQL Server 中的数据库。免费模板为此 ,请打开 SSMS ,右键单击数据库,然后选择任务 > 备份 。

从 SSMS 选择完整备份

在“备份数据库”窗口中 ,选择“完整备份类型”。

备份数据库窗口

如何使用 T-SQL 创建完整数据库备份

如果您想自动备份 ,可以使用T-SQL代码 。T-SQL 是用于自动执行 SQL Server 任务的 SQL Server 语言 。

以下示例显示如何使用 T-SQL 创建完整备份 。

BACKUP DATABASE [AdventureWorks2019] TO  DISK = NC:\backups\AdventureWorks2019.bak WITH  DIFFERENTIAL , NOFORMAT, NOINIT,  NAME = NAdventureWorks2019-Full Database Backup, SKIP, NOREWIND, NOUNLOAD,  STATS = 10

GO

如何自动安排备份

您可以安排在特定时间运行备份 。为此,请在 SSMS 中创建备份,然后选择“脚本”>“为作业编写脚本操作”选项。服务器租用

图片

在 SSMS 中创建备份并将操作脚本写入作业选项  。

在新作业中 ,转到“计划”页面并按“新建”按钮创建新计划 。

您可以安排作业每天、每小时等运行 。

如何使用 SSMS 创建差异备份

首先 ,确保您已经有完整备份。

接下来,右键单击数据库并选择任务 > 备份。

在备份类型中 ,确保选择差异备份类型。

选择备份类型差异

如何使用 T-SQL 创建差异备份

或者 ,您可以使用 T-SQL 命令创建差异备份 。

BACKUP DATABASE [AdventureWorks2019] TO  DISK = NC:\backups\AdventureWorks2019.bak WITH  DIFFERENTIAL , NOFORMAT, NOINIT,  NAME = NAdventureWorks2019-Full Database Backup, SKIP, NOREWIND, NOUNLOAD,  STATS = 10

GO

如何使用 SSMS 创建文件或文件组备份

在 SSMS 中,右键单击数据库并选择任务 > 备份。

选择文件和文件组选项。建站模板

选择要备份的文件和文件组,然后按“确定” 。

如何使用 T-SQL 创建文件或文件组备份

或者 ,可以使用 T-SQL 命令创建文件或文件组备份 。

BACKUP DATABASE [Northwind] FILEGROUP = NPRIMARY TO  DISK = NC:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Backup\Northwind.bak WITH NOFORMAT, NOINIT,  NAME = NNorthwind-Full Database Backup, SKIP, NOREWIND, NOUNLOAD,  STATS = 10

GO

如何使用 SSMS 恢复备份

要使用 SSMS 恢复备份  ,请转到对象资源管理器 ,右键单击数据库 ,然后选择恢复数据库选项 。

使用 SSMS 恢复备份

在“还原数据库”窗口中 ,选择要还原的数据库和备份集 ,然后按“确定” 。

如何使用 T-SQL 恢复备份

或者,可以使用 T-SQL 命令来恢复数据库。

USE [master]

RESTORE DATABASE [AdventureWorks2019] FROM  DISK = NC:\backups\AdventureWorks2019.bak WITH  FILE = 10,  NOUNLOAD,  STATS = 5

GO

如何使用 SSMS 恢复差异备份

要使用 SSMS 恢复数据库 ,模板下载请转到对象资源管理器,右键单击数据库,然后选择“恢复数据库”选项。

在“还原数据库”窗口中 ,选择要还原的数据库,选择完整备份,然后选择要还原的差异集,然后按“确定”。

选择完整备份

如何使用 T-SQL 恢复差异备份

或者 ,您可以使用 T-SQL 命令来恢复差异备份。

USE [master]

RESTORE DATABASE [AdventureWorks2019] FROM  DISK = NC:\backups\AdventureWorks2019.bak WITH  FILE = 10,  NORECOVERY,  NOUNLOAD,  STATS = 5

RESTORE DATABASE [AdventureWorks2019] FROM  DISK = NC:\backups\AdventureWorks2019.bak WITH  FILE = 11,  NOUNLOAD,  STATS = 5

GO

如何使用 SSMS 还原文件和文件组

打开 SSMS,转到对象资源管理器,右键单击数据库,然后选择“还原文件和文件组”选项。香港云服务器

选择要还原的源数据库和目标数据库 ,然后选择文件组集 。

并选择恢复文件和文件组选项

选择要还原的源数据库和目标数据库,然后选择文件组集。

要恢复的源数据库和目标数据库 。

如何使用 T-SQL 恢复文件和文件组

或者 ,您可以使用 T-SQL 命令来恢复数据库文件或文件组。

RESTORE DATABASE [Northwind] FILE = NNorthwind FROM  DISK = NC:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Backup\Northwind.bak WITH  FILE = 7,  NOUNLOAD,  STATS = 10

GO

结论

在本文中 ,讨论了 SQL Server 中的不同类型的备份以及如何创建这些备份。我们还讨论了使用 SSMS 和 T-SQL 命令恢复数据库备份的方法 。如果数据库备份损坏  ,可以使用第三方工具,从损坏的备份文件 (.bak) 中恢复 SQL 数据库 。

常问问题

如果 SSMS 更容易,为什么我应该使用 T-SQL 来备份和恢复数据库 ? T-SQL 通常用于自动化该过程。我的机器应该使用什么类型的备份  ? 这取决于数据和数据库的大小。如果您正在处理小型数据库 ,则可以使用完整备份  。但是 ,如果您的数据库很大 ,请将完整备份与差异日志和事务日志结合起来 。如果我的数据库损坏了 。我可以使用备份来恢复数据库吗? 是的 ,您可以在这种情况下使用备份。如果备份损坏怎么办? 如果备份文件损坏 ,您可以使用 SQL Toolkit for MS SQL。该软件包含一个名为 Stellar Backup Extractor for MS SQL 的模块 ,可以从损坏的备份 (.bak) 文件中提取数据库 。如果 SQL 数据库文件损坏怎么办? 您可以使用数据库控制台命令 (DBCC) CHECKDB 来检查和修复损坏的数据库。
推荐内容