文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-11-30 09:36

关注

备份类型

在 SQL Server 中,有不同类型的备份:

为什么备份很重要?

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

如何使用 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 = N'C:\backups\AdventureWorks2019.bak' WITH  DIFFERENTIAL , NOFORMAT, NOINIT,  NAME = N'AdventureWorks2019-Full Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10

GO

如何自动安排备份

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

图片

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

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

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

如何使用 SSMS 创建差异备份

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

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

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

选择备份类型差异

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

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

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

GO

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

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

选择文件和文件组选项。

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

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

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

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

GO

如何使用 SSMS 恢复备份

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

使用 SSMS 恢复备份

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

如何使用 T-SQL 恢复备份

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

USE [master]

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

GO

如何使用 SSMS 恢复差异备份

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

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

选择完整备份

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

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

USE [master]

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

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

GO

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

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

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

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

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

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

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

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

RESTORE DATABASE [Northwind] FILE = N'Northwind' FROM  DISK = N'C:\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 数据库。

常问问题

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯