小弟现在正在编写一个虚拟主机管理系统服务器端是用C#
其中有一部分功能是控制SQL
备份数据库,最好是让远程用户备份到本机上,请高手们指点一二。
谢谢大家了
其中有一部分功能是控制SQL
备份数据库,最好是让远程用户备份到本机上,请高手们指点一二。
谢谢大家了
解决方案 »
- 【求助】关于分割字符串
- 并口访问问题
- dataset如何主动与dataadapter关联?实现以前的无源recordset更新到数据库
- “System.Data.DataRow.DataRow(System.Data.DataRowBuilder)”不可访问,因为它受保护级别限制??
- 100分求visual studio 2003 英文版 下载地址
- 谁能发我一份NHibernate?打算春节学习,可是sourceforge.net上不去,google,baidu搜到的都是指向这个网站的链接
- 一秒钟内执行一次循环,不满一秒暂停剩下毫秒让一次循环满足一秒
- 水晶报表的横纵坐标是怎么设置的?
- SmtpMail问题?
- 关于C#的socket的异步连接和异步接收的问题
- 如何取出图像的背景关于ImageList
- 如何使用ImageList?
string db_name = "数据库名";
string sql = "BACKUP DATABASE [" + db_name + "] TO DISK = N'" + backup_file + "' WITH INIT , NOUNLOAD , NAME = N'" + db_name + " backup', NOSKIP , STATS = 10, NOFORMAT ";
//执行该SQL语句
...第二步,传输文件至本地第三步,删除主机上的备份文件
写两个存储过程,然后在程序中执行这外存储过程就行了
,就如同执行任命一个SQL语句一样--******************************************************************************--
-- --
--功能:还原数据备份 --
--设计人:孟利洪 --
--设计时间:2004-09-04 --
-- --
--******************************************************************************--
CREATE PROCEDURE pro_DataRest
@strName varchar(200), --恢复数据库名
@strBackFile varchar(200) --备份文件名
AS --定义游标
DECLARE @spid VARCHAR(20)
DECLARE #spid CURSOR FOR
SELECT spid=cast(spid AS VARCHAR(20)) FROM master..sysprocesses WHERE dbid=db_id(@strName)
OPEN #spid
FETCH NEXT FROM #spid INTO @spid
--循环删除所有连接
WHILE @@fetch_status=0
BEGIN
EXEC ('kill '+@spid)
FETCH NEXT FROM #spid INTO @spid
END
CLOSE #spid
DEALLOCATE #spid --还原数据库
RESTORE DATABASE @strName FROM DISK = @strBackFile WITH FILE = 1,replace,RECOVERY
GO
--******************************************************************************--
-- --
--功能:备份数据库 --
--设计人:孟利洪 --
--设计时间:2004-09-04 --
-- --
--******************************************************************************--
CREATE PROCEDURE pro_DataBack
@strName varchar(200), --备份数据库名
@strBackFile varchar(200) --备份文件名
AS --备份数据库
BACKUP DATABASE @strName TO DISK = @strBackFile WITH NOINITGO