--还原数据库时数据库正在使用导致数据库无会还原,此存储过存在msater数据库下创建。exec killspid cztdba 结束此数据库的进程,这样才能还原数据库
create proc 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
/**
* 还原数据库备份文件
* @return
*/
public String restoreDatabase() {
String path = null;
try {
path = WebUtils.getRealPath(getServletContext(), restDatabasePath);
} catch (FileNotFoundException e) {
logger.error("Can't get web path.", e);
}
//文件夹不存在创建
uploadedFileHandler.setTargetPath(path);
//得到上传后文件对象
File file = uploadedFileHandler.doUpload(data, dataFileName);
if (file.exists()) {
StringBuffer sbf = new StringBuffer();
sbf.append("use master exec killspid 'cztdba' restore database cztdba from disk='")
.append(file.getPath())
.append("'");
//执行还原数据语句
try {
jdbcTemplate.execute(sbf.toString());
addActionError("还原数据库成功");
} catch(Exception e) {
addActionError("还原数据库失败");
}
/**
* 不添加这句会找不到数据库里的表,添加上这句会出现异常但是对系统无影响,所以把此异常屏蔽
*/
try {
jdbcTemplate.execute("use cztdba");
} catch(Exception e) {
//e.printStackTrace();
}
}
return INPUT;
}
/**
* 备份数据库文件
* @return
*/
public String backDatabase() {
StringBuffer path = new StringBuffer();
try {
path.append(WebUtils.getRealPath(getServletContext(), backDatabasePath));
} catch (FileNotFoundException e) {
logger.error("Can't get web path.", e);
}
//文件夹不存在创建
uploadedFileHandler.setTargetPath(path.toString());
//下载文件名称,随机生成
downFileName = DateUtil.getDateTime("yyyyMMddhhmmss", new Date()) + ".back";
//得到文件在系统中实际地址
path.append(File.separatorChar)
.append(downFileName);
//开始备份文件
StringBuffer sbf = new StringBuffer("backup database cztdba to disk='")
.append(path.toString())
.append("'");
jdbcTemplate.execute(sbf.toString());
try {
inputStream = new FileInputStream(path.toString());
} catch (FileNotFoundException e) {
e.printStackTrace();
addActionError("备份文件出现问题");
return INPUT;
}
return SUCCESS;
}
分享到:
相关推荐
问题二描述:在对SQL Server数据库进行还原时,提示:System.Data.SqlClient.SqlError:因为数据库正在使用,所以无法获得对数据库的独占访问权。(Microsoft.SqlServer.Smo)。出现此问题的原因是在还原数据库时,有...
+计划任务在备份数据库后,自动清除旧备份,只保留最后5个备份(按文件,不按时间); *修正计划任务无法正确执行的问题,由皮肤引起的。 1.1.9 +增加win8的支持,增加皮肤以美化界面; +增加查询分析器,方便...
数据库的加密存储与冗余:即对数据库库进行加密处理,以及数据的备份策略。 1) 身份认证:对于非法用户的控制。 对于非法进行数据连接和访问的用户 ,一般采取的策略即系统保护机制,通过设置系统账号和密码进行 ...
asp.net备份SQLServer数据库和还原SQLServer数据库 ...//调用存储过程 killspid(此存储过程应写在Master中) 来避免数据库被占用 这个很关键,要不然就出现错误:"因为数据库正在使用,所以未能获得对数据库的排它访问权
+计划任务在备份数据库后,自动清除旧备份,只保留最后5个备份(按文件,不按时间); *修正计划任务无法正确执行的问题,由皮肤引起的。 1.1.9 +增加win8的支持,增加皮肤以美化界面; +增加查询分析器,方便...
11.2.2 数据库访问 326 11.2.3 并发管理器 327 11.2.4 演示数据库 328 11.2.5 版本管理 328 11.2.6 文件定位 328 11.2.7 init.ora参数 329 11.2.8 最活跃的表和索引 330 11.2.9 优化程序 330 11.3 管理Oracle ...
1.2开发工具 硬件:笔记本电脑 软件:Windows XP操作系统 Microsoft Visual Studio 2008 Microsoft SQL Server 2000 本系统是采用 C#技术结合SQL Server数据库设计并实现的。窗口的开发工具为...
1.15 K3运行时反复提示安装Office2000的解决方法。 12 1.16 K3合并报表如何进行单独安装。 12 1.17 K310.3如何对加密服务进行加载和反加载。 12 1.18 K3不同组件的手动注册方法。 12 1.19 K3安装过程中报如图错误: ...
6:虽然独立了数据库,后台管理也同时更新,后台可以直接删除访问记录,可以压缩和备份数据库. 7:处理了一些页面可能出现乱码的情况,关闭了引用页面,防止垃圾引用,如果要开启,请删除trackback.asp的以下内容: 8:...
把程序放在一台既能让外网访问又能被内网访问的WEB服务器上, 这样你就可以从网内通过它来上网,可以从网外通过它来访问内网网站, 这是一个神奇的功能) 16.超强的 ASP CMD命令运行(两种) 17.14.Sql提权(通过SQL...
星外虚拟主机提权目录 C:\Documents and Settings\All Users\Application Data\Microsoft\Media Index\ C:\php\PEAR\ C:\Program Files\Zend\ZendOptimizer-3.3.0\ C:\Program Files\Common Files\有的杀毒 ...
4、周密的安全策略和攻击防护:表单令牌机制、字段类型验证、输入过滤、上传安全过滤、防止XSS攻击和目录安全保护等功能,对SQL参数进行敏感字符过滤、对密码、cookie进行了不可逆加密处理,数据库备份功能、对管理...
把程序放在一台既能让外网访问又能被内网访问的WEB服务器上, 这样你就可以从网内通过它来上网,可以从网外通过它来访问内网网站, 这是一个神奇的功能) 16.超强的 ASP CMD命令运行(两种) 17.14.Sql提权(通过SQL...
练习6 它是sed、awk或grep吗?尝试Perl 第8章 获得控制:正则表达式元字符 8.1 正则表达式元字符 8.1.1 用于单字符的元字符 8.1.2 白空元字符 8.1.3 重复模式匹配的元字符 8.1.4 tr或y函数 8.2 统一...
4、周密的安全策略和攻击防护:表单令牌机制、字段类型验证、输入过滤、上传安全过滤、防止XSS攻击和目录安全保护等功能,对SQL参数进行敏感字符过滤、对密码、cookie进行了不可逆加密处理,数据库备份功能、对管理...
4、周密的安全策略和攻击防护:表单令牌机制、字段类型验证、输入过滤、上传安全过滤、防止XSS攻击和目录安全保护等功能,对SQL参数进行敏感字符过滤、对密码、cookie进行了不可逆加密处理,数据库备份功能、对管理...
10、强大的数据管理功能,可以在线备份、恢复数据库、执行SQL语句。 11、支持广告类型:图片广告、FLASH广告、文字广告、代码广告,广告调用非常方便只需在模板中添加广告标记就好了! 12、远程上传,添加或采集...
BJXSHOP购物系统提供了迄今最强大的WEB界面数据备份和恢复功能,使得管理员不需任何服务器权限即可轻松维护BJXSHOP购物系统数据库。提供在线数据库优化功能以消除存储碎片,保证存取效率。可方便的查看系统占用空间...