啥也不說,代碼自己看,原理網上已經有人說的很清楚了
/**
* 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();
}
}