经过一上午的努力,终于实现了通过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
[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();
}
}
本文介绍了一种使用SQL Server存储过程自动备份数据库的方法,并演示了如何在文件名中包含当前日期以确保每个备份文件的独特性。
1126

被折叠的 条评论
为什么被折叠?



