SQL 数据库的自动备份(Procedures实现)

本文介绍了一种使用 SQL Server 的存储过程实现数据库自动备份的方法,并确保每次备份的文件名都包含当前日期,以便区分不同时间点的备份文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

经过一上午的努力,终于实现了通过Procedures将数据库自动备份(再加到Job中即可)。备份后的文件名中,包含当天日期,保证每次备份都是单独的。
paste出来与大家共享。

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
-- =============================================
--
 Author:        <skywind>
--
 Create date: <2006.8.9>
--
 Description:    <backup a database auto>
--
 =============================================
CREATE PROCEDURE [dbo].[prcd_BackupTmp]
AS
BEGIN

DECLARE    @return_value char(17)

select @return_value = 'D:/'+convert(char(10), getdate(),120)+'.BAK'

BACKUP DATABASE rose TO DISK=@return_value

END
另外,还可以用.net 2005的 sql server project 形式写procedure
[Microsoft.SqlServer.Server.SqlProcedure]
    
public static void BackupAspnet()
    
{
        
using (SqlConnection conn = new SqlConnection("context connection=true"))
        
{
            conn.Open();

            
string sSql = "", sEmail = "", sTo = "", sSubject = "", sBody = "", sHtml = "";

            SqlCommand cmd 
= new SqlCommand();
            cmd.CommandType 
= CommandType.Text;
            cmd.Connection 
= conn;

            cmd.CommandText 
= "select convert(char(10), getdate(),120)";
            
object obj = cmd.ExecuteScalar();

            cmd.CommandText 
= "backup database rose to disk='D://wwwroot//rosedb//" + obj.ToString() + "rose.bak'";
            cmd.ExecuteNonQuery();

            conn.Close();
        }

    }
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值