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