存储过程bat 备份SQL SERVER

记录bat存储过程备份数据库代码

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
 
 
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 是个文件,里面只是调用存储过程代码。

 

上一篇:DeepFaceLab更新至2019.12.29


下一篇:yarn : 无法加载文件 C:\Users\L\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本