亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

SQL SERVER2000備份和恢復存儲過程

添加時間:2014-10-23 2:05:13  添加: 思海網絡 
/*備份數據庫的過程*/ 
if exists( 
 select * from sysobjects 
  where name=’pr_backup_db’ and xtype=’p’ 
          ) 
begin 
 drop proc pr_backup_db 
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)  /*允許的最大大小(以字節為單位)*/ 

   )

關鍵字:SQL SERVER、數據庫、存儲過程

分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站