.Net 操作SQL Server 数据库备份
主要是使用了数据库本身的备份机制,效率会更高。
use master;backup database @dbname to disk = @filePath;
使用完成后可以使用后台来操作备份好的文件。
public static bool ReBackSqlServer(string connect,string dataBaseName, string filePath)
{
using (SqlConnection conn = new SqlConnection(connect))
{
conn.Open();
SqlCommand comm = new SqlCommand();
comm.Connection = conn;
comm.CommandText = "use master;backup database "+dataBaseName+" to disk = "+filePath+";";
comm.CommandType = CommandType.Text;
comm.ExecuteNonQuery();
}
return true;
}
还原数据库的话,可以使用下面的方法:
public static bool SaveSqlServer(string connect, string dataBaseName, string filePath)
{
using (SqlConnection conn = new SqlConnection(connect))
{
conn.Open();
SqlCommand comm = new SqlCommand();
comm.Connection = conn;
comm.CommandText = "use master;alter database " + dataBaseName + " set offline with rollback immediate; restore database " + dataBaseName + " from disk='" + filePath + "' with replace;alter database " + dataBaseName + " set online with rollback immediate";
comm.CommandType = CommandType.Text;
comm.ExecuteNonQuery();
}
return true;
}