sqlserver java 備份+還原

啥也不說,代碼自己看,原理網上已經有人說的很清楚了

 

/**
  * 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();
  }
 }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章