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'

posted @ 2017-11-04 09:31  剑诀浮云  阅读(2970)  评论(0编辑  收藏  举报