儲存過程bat 備份SQL SERVER

2022-09-20 12:00:19 字數 1216 閱讀 8334

記錄bat儲存過程備份資料庫**

set

ansi_nulls on

setquoted_identifier ongo

alter procedure dbbak

as

begin

declare @sqlcommand nvarchar(

1000

) declare @datetime nvarchar(

20)

select @datetime = replace(convert(varchar, getdate(),111),'

/','') +replace(convert(varchar, getdate(),

108),'

:',''

)

set @sqlcommand = '

backup database oa_product_test to disk =

''d:\sqlserverdatabasebak\oa_product_test_

' + @datetime + '

.bak

'''execute sp_executesql @sqlcommand

end

儲存過程寫死儲存的路徑,新建乙個 .sql 檔案,檔案中執行 exec dbbak 儲存過程,並且給bat 呼叫,bat**如下

@echo off

set dbhost=127.0.0.1

set dbuser=loan

set dbpasswd=l0708~!

set dbname=oa_product_test

set sqlpath=%~dp0

set sqlfile=backup.sql

::osql -s %dbhost% -u %dbuser% -p %dbpasswd% -d %dbname% -i %sqlpath%%sqlfile%osql -s 127.0.0.1 -u loan -p l0708~! -d oa_product_test -i backup.sql

echo finish

@echo done!

::**中注釋部分,引數說明很明顯了。 主要**就是 osql 後面的部分,上方只是個引數說明。
backup.sql 是個檔案,裡面只是呼叫儲存過程**。

儲存過程備份SQL日誌

set nocount on declare logicalfilename sysname,maxminutes int,newsize int use abc 要操作的資料庫名 select logicalfilename abc log 日誌檔名 maxminutes 10,limit on ...

個人備份 mysql儲存過程

引數 插入記錄的起始id,客戶id,記錄數,初始使用者名稱 delimiter create procedure batchinsert in init int in cid int in loops int in username varchar 64 begin declare myid int...

資料備份恢儲存過程

if exists select from dbo.sysobjects where id object id n dbo p restoredb and objectproperty id,n isprocedure 1 drop procedure dbo p restoredb go 恢復指定...