SQLSERVER 数据库备份路径问题

--得到备份路径:  
  create   proc   p_GetBakPath   @file   nvarchar(200)   as    
  create   table   #t(logicalname   nvarchar(200),  
                                  physicalname   nvarchar(500),  
                                  type   varchar(10),  
                                  filegroupname   varchar(20),  
                                  size   bigint,  
                                  maxsize   bigint)  
  insert   into   #t   exec('RESTORE   FILELISTONLY   FROM   DISK   =   N'''   +   @file   +   '''')  
  select   *   from   #t  
   
  go  
   
  --调用:  
  P_GetBakPath   'c:\备份文件名.bak'
===========================
declare   @path   varchar(8000)  
   
  --得到当前数据库的数据文件路径  
  select   @path=rtrim(reverse(filename))   from   sysfiles  
  select   @path=reverse(substring(@path,charindex('\',@path),8000))  
   
  --显示结果  
  select   数据文件目录=@path  
   
   
  --得到SQL安装时设置的数据文件路径  
  select   @path=rtrim(reverse(filename))   from   master..sysfiles   where   name='master'  
  select   @path=reverse(substring(@path,charindex('\',@path),8000))  
   
  --显示结果  
  select   SQL数据文件目录=@path
-------------------
  declare   @path   varchar(8000)  
   
  --根据安装路径得到默认的备份目录:  
  select   @path=rtrim(reverse(filename))   from   master..sysfiles   where   name='master'  
  select   @path=substring(@path,charindex('\',@path)+1,8000),  
  @path=reverse(substring(@path,charindex('\',@path),8000))+'BACKUP'  
   
  --显示结果  
  select   SQL默认备份目录=@path 
-----------------------------------
declare     @path     varchar(200)      
  select     @path     =     filename     from     master.dbo.sysfiles      
  set     @path     =     ltrim(REVERSE(@path))      
  set     @path     =     REVERSE(substring(@path,CHARINDEX('\',@path)+5,len(@path)))      
  print     @path+'backup'
-------------------------------------
CREATE procedure sp_backDB @dbname varchar(100),@path varchar(100)
as


--create by Allen 2004-11-01 in order to backup database  and verify database

 
declare @bakname varchar(100)
--declare @dbname varchar(100)
declare @sql varchar(8000)
--declare @sql1 varchar(8000)
--declare @path varchar(100)
--set @path='c:\'
--set @dbname='northwind'
set @bakname=@dbname+cast(datepart(weekday,getdate())-1 as varchar(1))
--星期日到星期六对应备份文件是bak0到bak6

 

set @sql='BACKUP DATABASE ['+@dbname+'] TO DISK=N'''+@path+''+@bakname+'.bak'' WITH INIT,NOUNLOAD,NOSKIP,STATS=10,NOFORMAT'
--print @sql

set @sql=@sql+' DECLARE @i INT
select @i = position from msdb..backupset where database_name='''+@dbname+'''and type!='''+'F'''+'
and backup_set_id=(select max(backup_set_id) from msdb..backupset where database_name='''+@dbname+''')
RESTORE VERIFYONLY FROM   DISK = N'''+@path+''+@bakname+'.bak'''+'  WITH FILE = @i'
--print @sql

exec(@sql)

 
[收藏] [返回顶部] [打印本页] [关闭窗口]  
 
 
 
 相关主题:  
 
茉莉花茶初春养生
节后必吃的15种排毒食物
SQLSERVER 数据库备份路径问题
 
 网友评论:
正在加载……
 
*评论者:
主页:
标题:
*内容:
【声明】 地球黑匣子网刊载的资讯及其他内容均由网友提供分享 并且纯属作者个人观点,不表示地球黑匣子网同意其说法或描述,仅为提供更多信息,也不构成任何建议。网友转载请注明原作者姓名及出处。如有侵犯到您的版权,请与我们联系,我们会马上进行重新整理!
最新日志列表
人气主题
 
 
 
 
声明:本网站部分内容属网民发布和来自于互联网。对于引用、发布、转载和放置的内容(广告、链接、文字、图像或声音),所产生的所有法律责任,都将由信息归属者或者广告厂商提供者承担,并且由此产生的版权、署名权的异议、纠纷,本网站概不承担任何责任,本站转载素材仅供大家欣赏和分享,切勿做为商业目的使用。
 
Copyright © 地球黑匣子网 2007.06 - 2010   Email:dqhxzcom@163.com
鲁ICP备07501416号   QQ:254212580 网站管理