今天给大家分享一下如何备份和回复sql server 数据,
首先确保你具有DB的最高权限
在JAVA代码中 你可以这样写public class Opp extends TestCase{
public void test1()
{
try
{
Connection con = DBUtils.getConn();
String sql="backup database tdzl to disk='d://tdzl.bak'";
Statement st = con.createStatement();
st=con.createStatement();
st.execute(sql);
}catch(Exception e)
{
e.printStackTrace();
}
}
}
在MASTER数据库中创建两个存储过程
p1
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[killspid] (@dbname varchar(20))
as
begin
declare @sql nvarchar(500)
declare @spid int
set @sql='declare getspid cursor for select spid from sysprocesses where dbid=db_id('''+@dbname+''')'
exec (@sql)
open getspid
fetch next from getspid into @spid
while @@fetch_status <> -1
begin
exec('kill '+@spid)
fetch next from getspid into @spid
end
close getspid
deallocate getspid
end
p2
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[restore_database]
-- Add the parameters for the stored procedure here
@db_name varchar(30),
@db_path varchar(80)
AS
BEGIN
execute killspid @db_name
restore database @db_name from disk=@db_path with replace
END
回复时调用上述存储过程就得以实现
下一篇将解释如何通过JAVA调用该存储过程