SQLSERVER2000备份和恢复存储过程(加强版本)
来源:互联网 发布:dell网络驱动下载 编辑:程序博客网 时间:2024/06/05 15:39
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
SQLSERVER2000数据库备份和恢复存储过程(加强版本)
我自己写的2个过程和一个函数,用于SQLSERVER2000数据库备份和恢复
拿出来和大家交流一下,过程和函数的详细说明在代码中
谢谢
/*备份数据库的过程*/
ifexists(
select*fromsysobjects
wherename='pr_backup_db'andxtype='p'
)
begin
dropprocpr_backup_db
end
go
createprocpr_backup_db
@flagvarchar(20)out,
@backup_db_namevarchar(128),
@filenamevarchar(1000) --路径+文件名字
as
declare@sqlnvarchar(4000),@parnvarchar(1000)
ifnotexists(
select*frommaster..sysdatabases
wherename=@backup_db_name
)
begin
select@flag='dbnotexist' /*数据库不存在*/
return
end
else
begin
ifright(@filename,1)<>'/'andcharindex('/',@filename)<>0
begin
select@par='@filenamevarchar(1000)'
select@sql='BACKUPDATABASE'+@backup_db_name+'todisk=@filenamewithinit'
executesp_executesql@sql,@par,@filename
select@flag='ok'
return
end
else
begin
select@flag='filetypeerror' /*参数@filename输入格式错误*/
return
end
end
GO
说明:pr_backup_db过程是备份你的数据库
/*创建函数,得到文件得路径*/
ifexists(
select*fromsysobjects
wherename='fn_GetFilePath'andxtype='fn'
)
begin
dropfunctionfn_GetFilePath
end
go
createfunctionfn_GetFilePath(@filenamenvarchar(260))
returnsnvarchar(260)
as
begin
declare@file_pathnvarchar(260)
declare@filename_reversenvarchar(260)
select@filename_reverse=reverse(@filename)
select@file_path=substring(@filename,1,len(@filename)+1-charindex('/',@filename_reverse))
return@file_path
end
GO
/*恢复数据库的过程*/
ifexists(
select*fromsysobjects
wherename='pr_restore_db'andxtype='p'
)
begin
dropprocpr_restore_db
end
go
CREATE procpr_restore_db
@flagvarchar(20)out, /*过程运行的状态标志,是输入参数*/
@restore_db_namenvarchar(128), /*要恢复的数据名字*/
@filenamenvarchar(260) /*备份文件存放的路径+备份文件名字*/
as
declare@proc_resulttinyint /*返回系统存储过程xp_cmdshell运行结果*/
declare@loop_timesmallint /*循环次数*/
declare@max_idssmallint /*@tem表的ids列最大数*/
declare@file_bak_pathnvarchar(260) /*原数据库存放路径*/
declare@flag_filebit /*文件存放标志*/
declare@master_pathnvarchar(260) /*数据库master文件路径*/
declare@sqlnvarchar(4000),@parnvarchar(1000)
declare@sql_subnvarchar(4000)
declare@sql_cmdnvarchar(100)
declare@sql_killnvarchar(100)
/*
判断参数@filename文件格式合法性,以防止用户输入类似d:或者c:/a/等非法文件名
参数@filename里面必须有'/'并且不以'/'结尾
*/
ifright(@filename,1)<>'/'andcharindex('/',@filename)<>0共4页 第1页
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
SQLSERVER2000数据库备份和恢复存储过程(加强版本)
我自己写的2个过程和一个函数,用于SQLSERVER2000数据库备份和恢复
拿出来和大家交流一下,过程和函数的详细说明在代码中
谢谢
/*备份数据库的过程*/
ifexists(
select*fromsysobjects
wherename='pr_backup_db'andxtype='p'
)
begin
dropprocpr_backup_db
end
go
createprocpr_backup_db
@flagvarchar(20)out,
@backup_db_namevarchar(128),
@filenamevarchar(1000) --路径+文件名字
as
declare@sqlnvarchar(4000),@parnvarchar(1000)
ifnotexists(
select*frommaster..sysdatabases
wherename=@backup_db_name
)
begin
select@flag='dbnotexist' /*数据库不存在*/
return
end
else
begin
ifright(@filename,1)<>'/'andcharindex('/',@filename)<>0
begin
select@par='@filenamevarchar(1000)'
select@sql='BACKUPDATABASE'+@backup_db_name+'todisk=@filenamewithinit'
executesp_executesql@sql,@par,@filename
select@flag='ok'
return
end
else
begin
select@flag='filetypeerror' /*参数@filename输入格式错误*/
return
end
end
GO
说明:pr_backup_db过程是备份你的数据库
/*创建函数,得到文件得路径*/
ifexists(
select*fromsysobjects
wherename='fn_GetFilePath'andxtype='fn'
)
begin
dropfunctionfn_GetFilePath
end
go
createfunctionfn_GetFilePath(@filenamenvarchar(260))
returnsnvarchar(260)
as
begin
declare@file_pathnvarchar(260)
declare@filename_reversenvarchar(260)
select@filename_reverse=reverse(@filename)
select@file_path=substring(@filename,1,len(@filename)+1-charindex('/',@filename_reverse))
return@file_path
end
GO
/*恢复数据库的过程*/
ifexists(
select*fromsysobjects
wherename='pr_restore_db'andxtype='p'
)
begin
dropprocpr_restore_db
end
go
CREATE procpr_restore_db
@flagvarchar(20)out, /*过程运行的状态标志,是输入参数*/
@restore_db_namenvarchar(128), /*要恢复的数据名字*/
@filenamenvarchar(260) /*备份文件存放的路径+备份文件名字*/
as
declare@proc_resulttinyint /*返回系统存储过程xp_cmdshell运行结果*/
declare@loop_timesmallint /*循环次数*/
declare@max_idssmallint /*@tem表的ids列最大数*/
declare@file_bak_pathnvarchar(260) /*原数据库存放路径*/
declare@flag_filebit /*文件存放标志*/
declare@master_pathnvarchar(260) /*数据库master文件路径*/
declare@sqlnvarchar(4000),@parnvarchar(1000)
declare@sql_subnvarchar(4000)
declare@sql_cmdnvarchar(100)
declare@sql_killnvarchar(100)
/*
判断参数@filename文件格式合法性,以防止用户输入类似d:或者c:/a/等非法文件名
参数@filename里面必须有'/'并且不以'/'结尾
*/
ifright(@filename,1)<>'/'andcharindex('/',@filename)<>0共4页 第1页
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- SQLSERVER2000备份和恢复存储过程(加强版本)
- MS SQL数据库备份和恢复存储过程(加强版本)
- SQL SERVER2000数据库备份和恢复存储过程(加强版本)
- SQLSERVER2000备份和恢复存储过程
- MSSQL备份和恢复存储过程
- sqlserver2000 备份和恢复数据库的方法
- MySQL 存储过程和函数以及数据恢复和备份
- SQL SERVER2000数据库备份和恢复存储过程
- MS SQL数据库备份和恢复存储过程
- 【转载】SQL SERVER2000数据库备份和恢复存储过程
- MS SQL数据库备份和恢复存储过程
- 一个不错的数据库备份和恢复的存储过程
- SQLServer2000 中危险存储过程删除及恢复方法
- SqlServer2000 加密和解密 存储过程
- sqlserver2000中,通过ftp自动远程备份和恢复数据库
- 数据库备份与恢复的存储过程
- 通用分页 数据库备份 恢复存储过程
- 备份与恢复的存储过程
- MYSQL简单安装配置
- 从一个圈套For循环来谈
- 探讨2
- 企业中的数据工具
- 探讨1
- SQLSERVER2000备份和恢复存储过程(加强版本)
- 关于用户角色权限的一点想法(1)
- 浅谈权限管理的对象模型和实现
- 刷新视图
- 政府行政事业机关单位网站管理系统门户版的修正之一
- 使用sql*loader进行数据导入
- 快速转移数据的方法
- 位图菜单的制作
- 建立链接