【SQL Server】本地备份和还原(基础)

实际项目中。为了减少误操作带来的损失,以及尽快恢复数据。数据库的备份和还原很重要。SQL Server中如何进行备份和还原呢?

先决条件

已安装完成SQL Server数据库和客户端SSMS。

准备测试数据库,数据如下。

 1 USE [master];
 2 GO
 3 
 4 CREATE DATABASE [SQLTestDB];
 5 GO
 6 USE [SQLTestDB];
 7 GO
 8 CREATE TABLE SQLTest (
 9     ID INT NOT NULL PRIMARY KEY,
10     c1 VARCHAR(100) NOT NULL,
11     dt1 DATETIME NOT NULL DEFAULT GETDATE()
12 );
13 GO
14 
15 USE [SQLTestDB];
16 GO
17 
18 INSERT INTO SQLTest (ID, c1) VALUES (1, 'test1');
19 INSERT INTO SQLTest (ID, c1) VALUES (2, 'test2');
20 INSERT INTO SQLTest (ID, c1) VALUES (3, 'test3');
21 INSERT INTO SQLTest (ID, c1) VALUES (4, 'test4');
22 INSERT INTO SQLTest (ID, c1) VALUES (5, 'test5');
23 GO
24 
25 SELECT * FROM SQLTest;
26 GO
SQLTestDB

执行备份

SSMS形式

1.右击数据库,单击【任务】→【备份】。

2. 选择备份类型(完整备份),路径。备份选项中还可以选择过期时间。

 T-SQL

备份的SQL 语句如下,路径可能根据实际情况有所不同。

USE [master];
GO

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

还原

SSMS

注意,关闭数据库现有对话框。

1.右击数据库【任务】→【还原】→【数据库】

 

2.选择还原上次备份,点击【确定】

 T-SQL

USE [master];
GO
RESTORE DATABASE [SQLTestDB]
FROM DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Backup\SQLTestDB.bak' WITH  FILE = 1, NOUNLOAD, STATS = 5;
GO

 清理资源

运行以下 Transact-SQL 命令来删除所创建的数据库及其在 msdb 数据库中的备份历史记录

EXEC msdb.dbo.sp_delete_database_backuphistory @database_name = N'SQLTestDB'
GO

USE [master];
GO
DROP DATABASE [SQLTestDB];
GO

 

posted @ 2024-08-15 14:28  陆陆无为而治者  阅读(18)  评论(0编辑  收藏  举报