惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
IT之家
IT之家
Hugging Face - Blog
Hugging Face - Blog
J
Java Code Geeks
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 叶小钗
MyScale Blog
MyScale Blog
G
Google Developers Blog
Microsoft Azure Blog
Microsoft Azure Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
大猫的无限游戏
大猫的无限游戏
博客园 - 三生石上(FineUI控件)
Google DeepMind News
Google DeepMind News
Engineering at Meta
Engineering at Meta
The Cloudflare Blog
Martin Fowler
Martin Fowler
酷 壳 – CoolShell
酷 壳 – CoolShell
N
Netflix TechBlog - Medium
MongoDB | Blog
MongoDB | Blog
I
InfoQ
WordPress大学
WordPress大学
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
H
Help Net Security

博客园 - soulsjie

一种在winfrom窗体中显示计算公式的解决方案 winform窗体DataGridView合并单元格处理 C#GDI+阴影笔刷样式HatchStyle探讨 C#代码混淆工具ConfuserEx的使用 Aspose.Words在指定位置插入图片、调整图片大小 C#获取对象实体的键值对信息 C#将Winform上的TextBox和ComBox的值导入和导出 C#使用Aspose.Words将Spread表格插入到Word中 C# Aspose.Words将word中自定义的标签进行替换 Python文件操作基础方法 C# 将项目资源文件保存到磁盘上 SqlSugar数据库辅助类 案例3:JAVA GUI 随机点名程序 案例2:JAVA GUI 简易计算器 ArcGIS JS API 添加要素图层 点击时获取图层属性 ArcGIS JS API 将天地图设置为底图 HTML5PLUS实现类似右侧弹出菜单 SqlSugar各数据库连接串 案例1:JAVAGUI用户管理
使用存储过程备份MS SQLServer数据库
soulsjie · 2022-11-17 · via 博客园 - soulsjie

数据库备份脚本:

CREATE PROCEDURE [dbo].[SP_BackupDB]
(
    @BackPath NVARCHAR(200),                    --备份路径,如:D:\Backup\
    @BackDbName NVARCHAR(50),                   --需要备份的数据库名称
    @BackName NVARCHAR(50)=@BackDbName OUTPUT,  --备份后的数据库名称,不需要.bak后缀。若不传,则等同于@BackDbName
    @BackPathIsDate BIT=1,                      --备份路径是否需要添加日期文件夹,默认添加
    @BackNameIsTime BIT=1                       --备份后的数据库名称是否需要追加当前时间,默认追加
)
AS
BEGIN  

    IF(@BackPathIsDate=1)
        BEGIN
            SET @BackPath=@BackPath + CONVERT(VARCHAR, GETDATE(), 112) +'\';
        END

    ---------------------------创建文件夹 Begin---------------------------
    DECLARE @FolderSQL NVARCHAR(MAX),
        @Return INT= 0;
  
    SET @FolderSQL = N'EXEC sp_configure ''show advanced options'',1 
    RECONFIGURE WITH OVERRIDE;
      
    EXEC sp_configure ''xp_cmdshell'',1 
    RECONFIGURE WITH OVERRIDE;
  
    EXEC @Return=xp_cmdshell ''mkdir ' + @BackPath
        + ''',NO_OUTPUT   --调用DOS命令创建文件夹;
  
    EXEC sp_configure ''xp_cmdshell'', 0 
    RECONFIGURE WITH OVERRIDE;
  
    EXEC sys.sp_configure N''show advanced options'', N''0''
    RECONFIGURE WITH OVERRIDE;
    ';  
    --PRINT @FolderSQL;  

    EXEC sp_executesql @FolderSQL, N'@Return INT OUTPUT', @Return OUTPUT;  
    --SELECT  @Return;   

    --PRINT @Return
    ---------------------------创建文件夹 End---------------------------

    ---------------------------备份数据库 Begin---------------------------
    DECLARE @NowTime VARCHAR(100);
    DECLARE @BackUpName VARCHAR(100);

    SET @NowTime=CONVERT(VARCHAR, GETDATE(), 112)+REPLACE(CONVERT(VARCHAR, GETDATE(), 108),':','');

    /*
    IF(LEN(@BackName)<=0)
        BEGIN
            SET @BackName=@BackDbName;
        END
    */

    IF(@BackNameIsTime=1)
        BEGIN
            SET @BackName=@BackName +'_'+ @NowTime;
        END
    SET @BackName=@BackName+'.bak';

    SET @BackUpName=@BackPath + @BackName;

    BACKUP DATABASE @BackDbName
    TO DISK=@BackUpName
    WITH INIT;
    ---------------------------备份数据库 End---------------------------

    SELECT @BackName BackName,@BackPath BackPath,@BackPath + @BackName FullBackName;

END

GO

思路:创建定时作业每天去调用存储过程:

EXEC SP_BackupDB  N'D:\Backup\','MyDBName','MyDBName',0,0