批處理(bat)實現SQLServer資料庫備份與還原
備份資料庫.bat
@echo off
set path=%path%;C:\Program Files (x86)\Microsoft SQL Server\80\Tools\Binn
echo 資料庫備份開始
osql.exe -S 127.0.0.1 -U sa -P 123456 -i sqlserverbackup.sql -o c:\backup\sqlserverbackup.out
echo 資料庫備份完成
pause
sqlserverbackup.sql
DECLARE @name varchar(50)
DECLARE @datetime char(14)
DECLARE @path varchar(255)
DECLARE @bakfile varchar(255)
set @name='DataSample'
set @datetime=CONVERT(char(8),getdate(),112) + REPLACE(CONVERT(char(8),getdate(),108),':','')
set @path='c:\backup\'
set @bakfile=@path+''+@name+'_'+'bak_'+@datetime+'.BAK'
backup database @name to disk=@bakfile with name=@name
go
還原資料庫.bat
@echo off
echo 開始還原資料庫
net start "mssqlserver"
osql -U sa -P 123456 -i c:\backup\sqlserverrestore.sql -o c:\backup\sqlserverrestore.out
echo 還原資料庫完成
pause
sqlserverrestore.sql
declare @dumpfile varchar(50)
declare @msg varchar(70)
select @dumpfile = 'c:\backup\DataSample_bak_20170718145556.BAK'
select @msg=convert(char(26),getdate(),9)
print @msg
restore DATABASE DataSample from disk=@dumpfile
if (@@ERROR <> 0 )
begin
select @msg=convert(char(26),getdate(),9)+'-----還原資料失敗或出現異常'
print @msg
end
else
begin
select @msg=convert(char(26),getdate(),9)+'-----資料庫還原完畢'
print @msg
end
declare @dumpfile varchar(50)
declare @msg varchar(70)
select @dumpfile = 'c:\backup\DataSample_bak_20170718161443.BAK'
select @msg=convert(char(26),getdate(),9)
print @msg
----同一個備份檔案還原成不同名稱資料庫
RESTORE DATABASE DataSample1
FROM disk=@dumpfile
WITH RECOVERY,
MOVE 'DataSample' TO 'D:\MyData\DataSample1.mdf',
MOVE 'DataSample_Log' TO 'D:\MyData\DataSample1_Log.ldf'
if (@@ERROR <> 0 )
begin
select @msg=convert(char(26),getdate(),9)+'-----還原資料失敗或出現異常'
print @msg
end
else
begin
select @msg=convert(char(26),getdate(),9)+'-----資料庫還原完畢'
print @msg
end
相關文章
- 關於批處理(bat)資料庫備份BAT資料庫
- sqlserver資料庫的備份還原SQLServer資料庫
- 經典資料庫備份與還原處理(轉鄒建)資料庫
- mysql資料庫-備份與還原實操MySql資料庫
- 【Mongodb】資料庫備份與還原MongoDB資料庫
- MySQL資料庫備份與還原MySql資料庫
- 華納雲 sqlserver資料庫備份及還原的方法SQLServer資料庫
- 程式設計實現備份和還原資料庫程式設計資料庫
- 還原sqlserver資料庫備份檔案.bak的檔案SQLServer資料庫
- windows下通過批處理備份oracle資料庫WindowsOracle資料庫
- exp/imp備份與還原oracle資料庫Oracle資料庫
- MSSQL 備份資料庫還原SQL資料庫
- oracle資料還原與備份Oracle
- sqlserver 使用全備和增備 還原資料庫SQLServer資料庫
- 啟明星資料庫批量備份與還原工具資料庫
- 「MySQL」資料庫備份和還原MySql資料庫
- 「Oracle」Oracle 資料庫備份還原Oracle資料庫
- 批量備份和還原資料庫資料庫
- MySQL的資料備份與還原MySql
- 利用T-SQL語句,實現資料庫的備份與還原的功能SQL資料庫
- SQL SERVER 2000 資料庫備份與還原SQLServer資料庫
- sqlserver遠端備份和還原SQLServer
- Mysql備份和還原資料庫-mysqldumpMySql資料庫
- 資料庫單表備份還原shell資料庫
- 【RMAN】利用備份片還原資料庫資料庫
- SQLserver備份資料庫示例SQLServer資料庫
- 批處理檔備份oracleOracle
- 【RAC】rac環境下的資料庫備份與還原資料庫
- oracle 10g資料庫備份與還原總結Oracle 10g資料庫
- java mysql 資料庫備份和還原操作JavaMySql資料庫
- Oracle資料庫備份還原詳解XKUSOracle資料庫
- 【RMAN】利用備份片還原資料庫(上)資料庫
- 【RMAN】利用備份片還原資料庫(中)資料庫
- 【RMAN】利用備份片還原資料庫(下)資料庫
- bat批處理檔案BAT
- bat 批處理字串操作BAT字串
- SQL Server 資料庫備份還原和資料恢復SQLServer資料庫資料恢復
- Mysql資料備份和還原MySql