創建數據庫
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'