SQL SERVER2000备份和恢复存储过程
来源:不详 作者: 出处:综艺读书 2006-03-26/*备份数据库的过程*/
if exists(
select * from sysobjects
where name=’pr_backup_db’ and xtype=’p’
)
begin
|
|
|||
end
go
create proc pr_backup_db
@flag varchar(20) out,
@backup_db_name varchar(128),
@filename varchar(1000) --路径+文件名字
as
declare @sql nvarchar(4000),@par nvarchar(1000)
if not exists(
select * from master..sysdatabases
where name=@backup_db_name
)
begin
select @flag=’db not exist’ /*数据库不存在*/
return
end
else
begin
if right(@filename,1)<>’\’ and charindex(’\’,@filename)<>0
begin
select @par=’@filename varchar(1000)’
select @sql=’BACKUP DATABASE ’+@backup_db_name+’ to disk=@filename with init’
execute sp_executesql @sql,@par,@filename
select @flag=’ok’
return
end
else
begin
select @flag=’file type error’ /*参数@filename输入格式错误*/
return
end
end
GO
说明:pr_backup_db过程是备份你的数据库
/*创建函数,得到文件得路径*/
if exists(
select * from sysobjects
where name=’fn_GetFilePath’ and xtype=’fn’
)
begin
drop function fn_GetFilePath
end
go
create function fn_GetFilePath(@filename nvarchar(260))
returns nvarchar(260)
as
begin
declare @file_path nvarchar(260)
declare @filename_reverse nvarchar(260)
select @filename_reverse=reverse(@filename)
select @file_path=substring(@filename,1,len(@filename)+1-charindex(’\’,@filename_reverse))
return @file_path
end
GO
/*恢复数据库的过程*/
if exists(
select * from sysobjects
where name=’pr_restore_db’ and xtype=’p’
)
begin
drop proc pr_restore_db
end
go
CREATE proc pr_restore_db
@flag varchar(20) out, /*过程运行的状态标志,是输入参数*/
@restore_db_name nvarchar(128), /*要恢复的数据名字*/
@filename nvarchar(260) /*备份文件存放的路径+备份文件名字*/
as
declare @proc_result tinyint /*返回系统存储过程xp_cmdshell运行结果*/
declare @loop_time smallint /*循环次数*/
declare @max_ids smallint /*@tem表的ids列最大数*/
declare @file_bak_path nvarchar(260) /*原数据库存放路径*/
declare @flag_file bit /*文件存放标志*/
declare @master_path nvarchar(260) /*数据库master文件路径*/
declare @sql nvarchar(4000),@par nvarchar(1000)
declare @sql_sub nvarchar(4000)
declare @sql_cmd nvarchar(100)
declare @sql_kill nvarchar(100)
/*
判断参数@filename文件格式合法性,以防止用户输入类似d: 或者 c:\a\ 等非法文件名
参数@filename里面必须有’\’并且不以’\’结尾
*/
if right(@filename,1)<>’\’ and charindex(’\’,@filename)<>0
begin
select @sql_cmd=’dir ’+@filename
EXEC @proc_result = master..xp_cmdshell @sql_cmd,no_output
IF (@proc_result<>0) /*系统存储过程xp_cmdshell返回代码值:0(成功)或1(失败)*/
begin
select @flag=’not exist’ /*备份文件不存在*/
return /*退出过程*/
end
/*创建临时表,保存由备份集内包含的数据库和日志文件列表组成的结果集*/
create table #tem(
LogicalName nvarchar(128), /*文件的逻辑名称*/
PhysicalName nvarchar(260) , /*文件的物理名称或操作系统名称*/
Type char(1), /*数据文件 (D) 或日志文件 (L)*/
FileGroupName nvarchar(128), /*包含文件的文件组名称*/
[Size] numeric(20,0), /*当前大小(以字节为单位)*/
[MaxSize] numeric(20,0) /*允许的最大大小(以字节为单位)*/
)
相关图文阅读
频道图文推荐
相关专题
·系统备份专题 (13499篇文章)
·SQL Server 数据处理专题 (1439篇文章)
·SQL Server 索引和查询专题 (2633篇文章)
·SQL Server (1402篇文章)
·存储过程 (1682篇文章)
·城域网专题 (6665篇文章)
·网络存储—光纤通道 (1709篇文章)
·服务器存储专栏 (6215篇文章)
·备份还原技巧篇 (271篇文章)
·备份和恢复 (49篇文章)
·SQL Server 数据处理专题 (1439篇文章)
·SQL Server 索引和查询专题 (2633篇文章)
·SQL Server (1402篇文章)
·存储过程 (1682篇文章)
·城域网专题 (6665篇文章)
·网络存储—光纤通道 (1709篇文章)
·服务器存储专栏 (6215篇文章)
·备份还原技巧篇 (271篇文章)
·备份和恢复 (49篇文章)
·精细分析SQL server服务器的内存配置 (0次浏览)
·轻松维护SQL Server 2005数据库 (0次浏览)
·数据库性能之数据库集群概念 (0次浏览)
·SQL Server根据访问历史日志自动分析并提供优 (0次浏览)
·数据库的安全性和异构数据库间的互操作 (0次浏览)
·如何优化数据库的数据查询 (0次浏览)
·如何应用SQL Server DBCC避免堵塞 (0次浏览)
·SQL Server 查询分析器快捷键集合 (0次浏览)
·用SQL Server 2005同义字缩短开发时间 (0次浏览)
·轻松维护SQL Server 2005数据库 (0次浏览)
·数据库性能之数据库集群概念 (0次浏览)
·SQL Server根据访问历史日志自动分析并提供优 (0次浏览)
·数据库的安全性和异构数据库间的互操作 (0次浏览)
·如何优化数据库的数据查询 (0次浏览)
·如何应用SQL Server DBCC避免堵塞 (0次浏览)
·SQL Server 查询分析器快捷键集合 (0次浏览)
·用SQL Server 2005同义字缩短开发时间 (0次浏览)
·解析SQL Server数据在不同数据库中的应用 (46次浏览)
·教你如何在SQL Server计算列和平均值 (38次浏览)
·SQL Server 2005 - 实作CLR存储过程 (35次浏览)
·轻松维护SQL Server 2005数据库 (0次浏览)
·数据库性能之数据库集群概念 (0次浏览)
·SQL Server根据访问历史日志自动分析并提供优 (0次浏览)
·数据库的安全性和异构数据库间的互操作 (0次浏览)
·如何优化数据库的数据查询 (0次浏览)
·如何应用SQL Server DBCC避免堵塞 (0次浏览)
·SQL Server 查询分析器快捷键集合 (0次浏览)
·教你如何在SQL Server计算列和平均值 (38次浏览)
·SQL Server 2005 - 实作CLR存储过程 (35次浏览)
·轻松维护SQL Server 2005数据库 (0次浏览)
·数据库性能之数据库集群概念 (0次浏览)
·SQL Server根据访问历史日志自动分析并提供优 (0次浏览)
·数据库的安全性和异构数据库间的互操作 (0次浏览)
·如何优化数据库的数据查询 (0次浏览)
·如何应用SQL Server DBCC避免堵塞 (0次浏览)
·SQL Server 查询分析器快捷键集合 (0次浏览)
·SQL Server数据库优化方案 (982次浏览)
·动态创建SQL Server数据库表存储过程 (817次浏览)
·SQL Server如何访问sybase数据库的表 (263次浏览)
·运行SQL Server的计算机间移动数据库 (206次浏览)
·MS-SQL开发常用汇总和t-sql技巧集锦 (174次浏览)
·快速清除SQLServer日志的两种方法 (151次浏览)
·解析SQL Server数据在不同数据库中的应用 (46次浏览)
·教你如何在SQL Server计算列和平均值 (38次浏览)
·SQL Server 2005 - 实作CLR存储过程 (35次浏览)
·SQL Server 查询分析器快捷键集合 (0次浏览)
·动态创建SQL Server数据库表存储过程 (817次浏览)
·SQL Server如何访问sybase数据库的表 (263次浏览)
·运行SQL Server的计算机间移动数据库 (206次浏览)
·MS-SQL开发常用汇总和t-sql技巧集锦 (174次浏览)
·快速清除SQLServer日志的两种方法 (151次浏览)
·解析SQL Server数据在不同数据库中的应用 (46次浏览)
·教你如何在SQL Server计算列和平均值 (38次浏览)
·SQL Server 2005 - 实作CLR存储过程 (35次浏览)
·SQL Server 查询分析器快捷键集合 (0次浏览)
最新技术文档
·精细分析SQL server服务器的内存配置 06-20
·轻松维护SQL Server 2005数据库 06-15
·数据库性能之数据库集群概念 06-15
·SQL Server根据访问历史日志自动分析并提供优化策 06-15
·数据库的安全性和异构数据库间的互操作 06-15
·如何优化数据库的数据查询 06-15
·如何应用SQL Server DBCC避免堵塞 06-15
·SQL Server 查询分析器快捷键集合 06-14
·用SQL Server 2005同义字缩短开发时间 06-12
·解析SQL Server数据在不同数据库中的应用 06-06
·轻松维护SQL Server 2005数据库 06-15
·数据库性能之数据库集群概念 06-15
·SQL Server根据访问历史日志自动分析并提供优化策 06-15
·数据库的安全性和异构数据库间的互操作 06-15
·如何优化数据库的数据查询 06-15
·如何应用SQL Server DBCC避免堵塞 06-15
·SQL Server 查询分析器快捷键集合 06-14
·用SQL Server 2005同义字缩短开发时间 06-12
·解析SQL Server数据在不同数据库中的应用 06-06
站内各频道最新更新文档
站内最新制作专题
|
|||
| ·ACDSEE专题教程-下载使用 ·迅雷专题教程-下载使用 ·Windows XP频道 ·Windows Vista频道 ·Windows 2000频道 ·win2003频道 ·Freebsd频道 ·Oracle频道 |
·Linux频道 ·Windows频道 ·邮件服务器专题 ·协议大全 ·数据恢复指南教程 ·FreeBSD使用教程 ·Linux数据库宝典 ·Linux基础知识 |
||
热门关键字导读
站内频道文章精选
| · 秘密:Vista隐蔽的动态屏保 · 腾讯开发新电子宠物--QQ熊 · 惠普否认2999元PC有价无货 |
· 驱逐Win系统“流氓”文件 · WinXP中获取未使用的IP地址 · 尝试format C:格式化硬盘? |
| · 在DOS下恢复回收站中的文件 · 拯救WinXP崩溃的救命稻草 · Linux系统中超级权限的应用 |
· 搜狗PK谷歌:谁能代言拼... · 昨日重现,一键GHOST轻松.. · 实现Web迅雷在空闲时杀毒 |
| · AVIFile函数制做AVI文件 · VC中链接动态链接库的方法 · 熊猫烧香核心源码(Delphi) |
· DateDiff函数祥解 · JavaScript去除空格的三种 · js效果 图片加载进度实时.. |
| · SQL Server数据库优化方案 · Oracle的初学者入门心得 · JSP连接Mysql数据库 |
· Photoshop为美女做艺术处理 · 用Freehand创建发光字特效 · 设计自己的个性QQ动态表情 |
百度推荐,商机无限
搜索您感兴趣的内容




