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

本文介绍了一种使用 SQL Server 的存储过程实现数据库自动备份的方法,并提供了两种实现方式的示例代码。备份文件名中包含了当前日期,确保了每次备份都是独立的。

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

None.gifset ANSI_NULLS ON
None.gif
set QUOTED_IDENTIFIER ON
None.gif
GO
None.gif
-- =============================================
None.gif--
 Author:        <skywind>
None.gif--
 Create date: <2006.8.9>
None.gif--
 Description:    <backup a database auto>
None.gif--
 =============================================
None.gif
CREATE PROCEDURE [dbo].[prcd_BackupTmp]
None.gif
AS
None.gif
BEGIN
None.gif
None.gif
DECLARE    @return_value char(17)
None.gif
None.gif
select @return_value = 'D:\'+convert(char(10), getdate(),120)+'.BAK'
None.gif
None.gif
BACKUP DATABASE rose TO DISK=@return_value
None.gif
None.gif
END
None.gif
另外,还可以用.net 2005的 sql server project 形式写procedure
None.gif[Microsoft.SqlServer.Server.SqlProcedure]
None.gif    
public static void BackupAspnet()
ExpandedBlockStart.gifContractedBlock.gif    
dot.gif{
InBlock.gif        
using (SqlConnection conn = new SqlConnection("context connection=true"))
ExpandedSubBlockStart.gifContractedSubBlock.gif        
dot.gif{
InBlock.gif            conn.Open();
InBlock.gif
InBlock.gif            
string sSql = "", sEmail = "", sTo = "", sSubject = "", sBody = "", sHtml = "";
InBlock.gif
InBlock.gif            SqlCommand cmd 
= new SqlCommand();
InBlock.gif            cmd.CommandType 
= CommandType.Text;
InBlock.gif            cmd.Connection 
= conn;
InBlock.gif
InBlock.gif            cmd.CommandText 
= "select convert(char(10), getdate(),120)";
InBlock.gif            
object obj = cmd.ExecuteScalar();
InBlock.gif
InBlock.gif            cmd.CommandText 
= "backup database rose to disk='D:\\wwwroot\\rosedb\\" + obj.ToString() + "rose.bak'";
InBlock.gif            cmd.ExecuteNonQuery();
InBlock.gif
InBlock.gif            conn.Close();
ExpandedSubBlockEnd.gif        }

ExpandedBlockEnd.gif    }

转载于:https://www.cnblogs.com/skywind/archive/2006/08/09/471939.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值