SQL 数据库的自动备份(Procedures实现)
2006-09-06 17:44
661 查看
经过一上午的努力,终于实现了通过Procedures将数据库自动备份(再加到Job中即可)。备份后的文件名中,包含当天日期,保证每次备份都是单独的。
paste出来与大家共享。
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
set ANSI_NULLS ON
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
set QUOTED_IDENTIFIER ON
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
GO
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
-- =============================================
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
-- Author: <skywind>
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
-- Create date: <2006.8.9>
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
-- Description: <backup a database auto>
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
-- =============================================
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
CREATE PROCEDURE [dbo].[prcd_BackupTmp]
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
AS
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
BEGIN
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
DECLARE @return_value char(17)
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
select @return_value = 'D:/'+convert(char(10), getdate(),120)+'.BAK'
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
BACKUP DATABASE rose TO DISK=@return_value
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
END
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
另外,还可以用.net 2005的 sql server project 形式写procedure
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
[Microsoft.SqlServer.Server.SqlProcedure]
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
public static void BackupAspnet()
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/34031c708bfe702fe82d01ff5c6593aa.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/0be121fa5b8988fbabbbc526af3b0fc0.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/b854634c0904529d4018c4c3336be836.gif)
{
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
using (SqlConnection conn = new SqlConnection("context connection=true"))
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030173/3112b7b6526db5bc83e275260ae60525.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030173/f2671b7f42ce505d9bf55a7a0ca257fb.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/b854634c0904529d4018c4c3336be836.gif)
{
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
conn.Open();
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
string sSql = "", sEmail = "", sTo = "", sSubject = "", sBody = "", sHtml = "";
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
SqlCommand cmd = new SqlCommand();
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
cmd.CommandType = CommandType.Text;
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
cmd.Connection = conn;
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
cmd.CommandText = "select convert(char(10), getdate(),120)";
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
object obj = cmd.ExecuteScalar();
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
cmd.CommandText = "backup database rose to disk='D://wwwroot//rosedb//" + obj.ToString() + "rose.bak'";
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
cmd.ExecuteNonQuery();
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
conn.Close();
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030175/eec4c0236afc26744c9c4e910bc34958.gif)
}
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030189/4fd96b3cf02f4c7b5c8964ac8167f7af.gif)
}
paste出来与大家共享。
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
set ANSI_NULLS ON
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
set QUOTED_IDENTIFIER ON
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
GO
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
-- =============================================
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
-- Author: <skywind>
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
-- Create date: <2006.8.9>
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
-- Description: <backup a database auto>
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
-- =============================================
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
CREATE PROCEDURE [dbo].[prcd_BackupTmp]
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
AS
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
BEGIN
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
DECLARE @return_value char(17)
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
select @return_value = 'D:/'+convert(char(10), getdate(),120)+'.BAK'
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
BACKUP DATABASE rose TO DISK=@return_value
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
END
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
另外,还可以用.net 2005的 sql server project 形式写procedure
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
[Microsoft.SqlServer.Server.SqlProcedure]
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030171/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
public static void BackupAspnet()
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/34031c708bfe702fe82d01ff5c6593aa.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/0be121fa5b8988fbabbbc526af3b0fc0.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/b854634c0904529d4018c4c3336be836.gif)
{
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
using (SqlConnection conn = new SqlConnection("context connection=true"))
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030173/3112b7b6526db5bc83e275260ae60525.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030173/f2671b7f42ce505d9bf55a7a0ca257fb.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/b854634c0904529d4018c4c3336be836.gif)
{
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
conn.Open();
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
string sSql = "", sEmail = "", sTo = "", sSubject = "", sBody = "", sHtml = "";
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
SqlCommand cmd = new SqlCommand();
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
cmd.CommandType = CommandType.Text;
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
cmd.Connection = conn;
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
cmd.CommandText = "select convert(char(10), getdate(),120)";
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
object obj = cmd.ExecuteScalar();
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
cmd.CommandText = "backup database rose to disk='D://wwwroot//rosedb//" + obj.ToString() + "rose.bak'";
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
cmd.ExecuteNonQuery();
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030194/587e34b10dcf5efbc0859b53470a2db3.gif)
conn.Close();
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030175/eec4c0236afc26744c9c4e910bc34958.gif)
}
![](https://oscdn.geek-share.com/Uploads/Images/Content/2015/2015030189/4fd96b3cf02f4c7b5c8964ac8167f7af.gif)
}
相关文章推荐
- SQL 数据库的自动备份(Procedures实现)
- 通过SQL Server Agent方式实现数据库自动备份!
- 使用SQL Server维护计划实现数据库定时自动备份
- (精)如何利用T_SQL实现数据库备份与还原处理之一--(如何利用sql语句,正确备份数据库)
- SQL2005实现数据库自动备份
- T-SQL语句实现数据库备份与还原
- 利用反射+特性实现简单的实体映射数据库操作类(还未做自动生成SQL语句部分)
- SQL定时自动备份,并将备份文件加密压缩并自动下载的实现
- 数据库自动备份按照日期命名执行的sql语句
- SQL2005自动备份数据库[转]
- 使用SQL Server维护计划实现数据库定时自动备份
- 使用SQL Server维护计划实现数据库定时自动备份
- SQL Server实现数据库定时自动备份
- VB+SQL 2000 实现数据库的备份和恢复
- 使用mysql 数据库的mysqldump实现自动备份
- linux shell简单实现数据库自动备份
- 使用SQL Server维护计划实现数据库定时自动备份 原文转自:http://sun2010.5d6d.com/thread-127-1-1.html
- MS SQL Server 2008数据库怎么实现数据库同步备份?
- 批处理实现每日自动备份和清除数据库文件
- 设定sql server定期自动备份数据库,Sql Server Agent服务未启动