如题,我现在可以备份,代码如下:
strName = Year(Now()) & Month(Now()) & Day(Now()) & "_all.bak "
sql = "BACKUP DATABASE DATANAME TO DISK= '" & strName & "'" rscmd = New SqlCommand(sql, CONN)
rscmd.ExecuteNonQuery()
CONN.Close()因为我是租的空间,我想把数据库备份本地磁盘如C盘
不知怎么办,请高手告知
strName = Year(Now()) & Month(Now()) & Day(Now()) & "_all.bak "
sql = "BACKUP DATABASE DATANAME TO DISK= '" & strName & "'" rscmd = New SqlCommand(sql, CONN)
rscmd.ExecuteNonQuery()
CONN.Close()因为我是租的空间,我想把数据库备份本地磁盘如C盘
不知怎么办,请高手告知
2、取得 备份文件是用 ftp 吗?如果这样,根本不用编程的
1、用 osql 执行 BACKUP ,用 %date% 就是可以取得日期
2、 用ftp 命令下载到你c 盘至于 osql 的命令行,和 ftp 如何写批处理,自己到 google 去找一堆
二、用本地数据库管理器连接,然后保存到本地。
WEB不能操作本地文件夹。
using System.Threading;
using ZHRAIMS.DBAccess;namespace ZHRAIMS.Logic
{
public class DBManager : SQLDBAccessProvider
{
private string filePath = null; /// <summary>
/// 数据库备份
/// </summary>
/// <param name="filePath">路径</param>
/// <returns>备份是否成功</returns>
public bool Backup(string filePath)
{
bool result = false; try
{ if (!filePath.Substring(filePath.Length - 1, 1).Equals(@"\"))
{
filePath += @"\";
} this.filePath = filePath + Properties.Settings.Default.Database + "(" + DateTime.Now.ToShortDateString() + ")" + ".bak"; Thread objThread = new Thread(new ThreadStart(this.SubBackup));
objThread.IsBackground = true;
objThread.Start();
objThread.Join(); result = true;
} catch (Exception objException)
{
throw objException;
} return result;
} /// <summary>
/// 子备份
/// </summary>
private void SubBackup()
{
sqldmo.Backup objDBBackup = new sqldmo.Backup();
sqldmo.SQLServer objSQLServer = new sqldmo.SQLServer(); try
{
objSQLServer.LoginSecure = false;
objSQLServer.Connect(Properties.Settings.Default.Server, Properties.Settings.Default.Uid, Properties.Settings.Default.Pwd.Trim());
objDBBackup.Action = sqldmo.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
objDBBackup.Database = Properties.Settings.Default.Database;
objDBBackup.Files = this.filePath;
objDBBackup.BackupSetName = Properties.Settings.Default.Database;
objDBBackup.Initialize = true;
objDBBackup.SQLBackup(objSQLServer);
} catch (Exception objException)
{
throw objException;
} finally
{
objSQLServer.DisConnect();
}
} /// <summary>
/// 数据库还原
/// </summary>
/// <param name="filePath">路径</param>
/// <returns>还原是否成功</returns>
public bool Restore(string filePath)
{
bool result = false; try
{
this.filePath = filePath; Thread objThread = new Thread(new ThreadStart(this.SubResore));
objThread.IsBackground = true;
objThread.Start();
objThread.Join(); result = true;
} catch (Exception objException)
{
throw objException;
} return result;
} /// <summary>
/// 子还原
/// </summary>
private void SubResore()
{
sqldmo.Restore objDBRestore = new sqldmo.Restore();
sqldmo.SQLServer objSQLServer = new sqldmo.SQLServer(); try
{
//杀死进程
this.ExecTSqlNonQuery("use master exec KillForRestoreProc ZHRAIMS", null); objSQLServer.LoginSecure = false;
objSQLServer.Connect(Properties.Settings.Default.Server, Properties.Settings.Default.Uid, Properties.Settings.Default.Pwd.Trim());
objDBRestore.Action = sqldmo.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database;
objDBRestore.Database = Properties.Settings.Default.Database;
objDBRestore.Files = this.filePath;
objDBRestore.FileNumber = 1;
objDBRestore.ReplaceDatabase = true;
objDBRestore.SQLRestore(objSQLServer);
} catch (Exception objException)
{
throw objException;
}
}
}
}