数据库

注册

 

发新话题 回复该主题

如何在SQLServer中备份和恢复数据 [复制链接]

1#

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

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

备份类型

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

完整备份:包含整个数据库信息。

差异备份:需要进行完整备份,然后存储上一次备份与当前数据库之间的差异。此备份需要的信息较少,因为它仅存储差异。

事务日志备份:它存储有关事务日志的信息。

为什么备份很重要?

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

如何使用SSMS创建完整备份

您可以使用SQLServerManagementStudio(SSMS)创建完整备份来还原SQLServer中的数据库。为此,请打开SSMS,右键单击数据库,然后选择任务备份。

从SSMS选择完整备份

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

备份数据库窗口

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

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

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

备份数据库[AdventureWorks]到磁盘=NC:\backups\AdventureWorks.bak,NOFORMAT、NOINIT、名称=NAdventureWorks-完整数据库备份、SKIP、NOREWIND、NOUNLOAD、STATS=10

如何自动安排备份

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

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

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

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

如何使用SSMS创建差异备份

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

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

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

选择备份类型差异

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

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

备份数据库[AdventureWorks]到磁盘=NC:\backups\AdventureWorks.bak,带差异、NOFORMAT、NOINIT、名称=NAdventureWorks-完整数据库备份、SKIP、NOREWIND、NOUNLOAD、STATS=10

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

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

选择文件和文件组选项。

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

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

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

备份数据库[Northwind]FILEGROUP=NPRIMARY到磁盘=NC:\ProgramFiles\MicrosoftSQLServer\MSSQL15.MSSQLSERVER\MSSQL\Backup\Northwind.bak带有NOFORMAT、NOINIT、NAME=NNorthwind-Full数据库备份、SKIP、NOREWIND、NOUNLOAD、STATS=10

如何使用SSMS恢复备份

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

使用SSMS恢复备份

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

如何使用T-SQL恢复备份

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

使用[大师]

从磁盘=NC:\backups\AdventureWorks.bak恢复数据库[AdventureWorks],文件=10,NOUNLOAD,统计=5

如何使用SSMS恢复差异备份

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

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

选择完整备份

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

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

使用

从磁盘=NC:\backups\AdventureWorks.bak恢复数据库[AdventureWorks],文件=10,NORECOVERY,NOUNLOAD,STATS=5

从磁盘=NC:\backups\AdventureWorks.bak恢复数据库[AdventureWorks],文件=11,NOUNLOAD,统计=5

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

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

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

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

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

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

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

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

恢复数据库[Northwind]FILE=NNorthwindFROMDISK=NC:\ProgramFiles\MicrosoftSQLServer\MSSQL15.MSSQLSERVER\MSSQL\Backup\Northwind.bakWITHFILE=7,NOUNLOAD,STATS=10

结论

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

常问问题

如果SSMS更容易,为什么我应该使用T-SQL来备份和恢复数据库?

T-SQL通常用于自动化该过程。

我的机器应该使用什么类型的备份?这取决于数据和数据库的大小。如果您正在处理小型数据库,则可以使用完整备份。但是,如果您的数据库很大,请将完整备份与差异日志和事务日志结合起来。

如果我的数据库损坏了。我可以使用备份来恢复数据库吗?

是的,您可以在这种情况下使用备份。

如果备份损坏怎么办?

如果备份文件损坏,您可以使用SQLToolkitforMSSQL。该软件包含一个名为StellarBackupExtractorforMSSQL的模块,可以从损坏的备份(.bak)文件中提取数据库。

如果SQL数据库文件损坏怎么办?

您可以使用数据库控制台命令(DBCC)CHECKDB来检查和修复损坏的数据库。

分享 转发
TOP
发新话题 回复该主题