sql server2014数据库备份还原
创建数据库
create database testdatabase
切换数据库:
use testdatabase
use master
备份sql server
--- 创建 备份数据的 device
USE master
EXEC sp_addumpdevice 'disk', 'testBack5', 'e:\sqlservertest.dat'
删除备份数据的device,则备份文件也会相应删除:
sp_dropdevice 'testBack5'
--- 开始 备份
backup database dbName to testBack5
注意:备份失败,testBack装置,不能被打开
原因是testBack装置,指向目录只能是盘符的根目录,同下。
以下方法备份成功,原因是只能备份到盘符的根目录,D盘、E盘
BACKUP DATABASE ULTRDSTNEW TO disk= 'D:\backTest20171103.bak'
disk
英 [dɪsk] 美 [dɪsk]
n.
磁盘;圆盘;光盘;唱片
创建表语法:
create table testTable(id int not null primary key,name varchar(20))
插入数据语法:
insert into testTable(id,name) values(1,’zhangsan’)
删除数据库:
drop database testdatabase
还原恢复数据库:
restore database testdatabase from backTest
restore
英 [rɪˈstɔ:(r)] 美 [rɪˈstɔr, -ˈstor]
修复;归还;交还;使恢复
数据库完整备份Sql实例:
USE master
GO
declare @num int --申明一个接受返回值的变量
EXEC xp_fileexist 'E:\BackTest.bak',@num output -- 文件存在返回1 不存在返回0
if(@num = 1) --如果存在,提示或做其他功能
begin
declare @filePath varchar(120),@deviceName varchar(30)
set @filePath = 'E:\BackTest_'+
replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-','_'),' ','_'),':','')+'.bak'
set @name = 'BackTest'+CONVERT(VARCHAR(30),GETDATE(),9)
print 文件已存在,按照日期重新命名
EXEC sp_addumpdevice 'disk',@name , @file
BACKUP DATABASE testdatabase
TO @name
end
else --文件不存在
begin
EXEC sp_addumpdevice 'disk', 'BackTest',
'E:\BackTest.bak'
BACKUP DATABASE testdatabase
TO BackTest
end
exist
英 [ɪgˈzɪst] 美 [ɪɡˈzɪst]
vi.
存在;生存;生活;继续存在
declare
英 [dɪˈkleə(r)] 美 [dɪˈkler]
vt.
申报;宣布;声明,声称;[法]供述
vi.
宣称;声明,发表宣言
获得当前系统时间字符串
SELECT CONVERT(varchar, getdate(), 120 )
'2017-11-03 10:06:42'
SELECT replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-','_'),' ','_'),':','')
'2017_11_03_100451'
convert
英 [kənˈvɜ:t] 美 [kənˈvɜ:rt]
(使)转变
获得当前系统时间:
SELECT getdate()
'2017-11-03 10:06:42'