啥也不说,代码自己看,原理网上已经有人说的很清楚了
/**
* sqlserver数据库备份
*/
public static void backSqlServer() {
Connection conn=DbConnection.getConn();
String bakupname="d:/sqlserverBack/test.bak";
try {
Statement stmt=conn.createStatement();
String sql="backup database Test to disk = '"+bakupname+"'";
stmt.executeUpdate(sql);
if(stmt!=null) stmt.close();
if(conn!=null) conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* sqlserver数据库还原
*/
public static void loadSqlServer() {
Connection conn=DbConnection.getConn();
String restrename="d:/sqlserverBack/test.bak";
try {
Statement stmt=conn.createStatement();
String sql="";
sql = "alter database Test set offline with rollback immediate;";
sql += "restore database Test from disk='" + restrename + "'";
sql += "with replace "; //解决备尚未备份数据库 数据库 的日志尾部
sql += "alter database Test set onLine with rollback immediate;";
stmt.executeUpdate(sql);
if(stmt!=null) stmt.close();
if(conn!=null) conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}