【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
执行备份
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
有志者,事竟成,破釜沉舟,百二秦关终属楚; 苦心人,天不负,卧薪尝胆,三千越甲可吞吴。