婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Sql Server2005實現遠程備份數據庫

Sql Server2005實現遠程備份數據庫

熱門標簽:電銷機器人虛擬號碼 海南自動外呼系統價格 浙江地圖標注 滄州營銷外呼系統軟件 九鹿林外呼系統怎么收費 沈陽智能外呼系統代理 松原導航地圖標注 創業電銷機器人 舞鋼市地圖標注app

相信大家都在當心數據庫的丟失,這也是每個開發者頭痛的一件事件,因為正在運行的服務器及數據庫也在這臺服務器上。如果服務器崩潰,那么所有的數據都不存在了,就算是你在你的機子上做了備份,那也是沒有用的,為什么會這樣說主要是因為本機是向互聯網公開的,所以出事故的概率就比較高。最終我們可以利用局域網解決這樣的問題。就拿兩臺機子做例子,A機是服務器,B機是要把A服務器上的數據庫備份到B機上,前提是B機必須要有數據庫,以Sql Server2005為例。
首先A機必須具備數據庫,程序,IIS,B機必須具備數據庫,服務程序。前提是B機必須知道A機的機器密碼。
其次代碼操作如下 這只是存儲過程

復制代碼 代碼如下:

IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[BackSqlorFile]') AND type in (N'P', N'PC'))
 BEGIN
 EXEC dbo.sp_executesql @statement = N'

 
 CREATE proc [dbo].[BackSqlorFile]
 @ServerIp varchar(50),--數據庫服務器IP
 @ServerName varchar(50),--數據庫計算機用戶
 @ServerPwd   varchar(50),--數據庫計算機用戶密碼
@ServerIISIp varchar(50),--IIs服務器Ip
@ServerIIsName varchar(50),--IIs服務器名稱
@ServerIIsPwd  varchar(50),--IIs服務器密碼
@SqlShareFile    varchar(50),--遠程sql共享文件
@IIsShareFile   varchar(50),--遠程IIS共享文件
@MoveIIsPath   varchar(50),--d:/back
@MoveSqlPath   varchar(50),--d:/sql
@DataName      varchar(50),--數據庫名稱
@SqlloginName varchar(50),--遠程數據庫登陸名稱
@SqlLoginPwd  varchar(50)--遠程數據庫登陸密碼
as
begin
/*=====================================================================*/
--Create data 2007-05-21
--Modify data 2007-05-21
--Autor:sp
--Method:數據庫遠程備份、虛擬主機遠程備份、IIS遠程備份
/*====================================================================*/
declare @iisname varchar(1000)--備份IIS的名稱
declare @IISversion varchar(1000)--IIS版本號
declare @MovePath varchar(1000)--COPY文件的路勁
declare @IIsBack varchar(1000)--IIS備份命令
declare @IIsBackmd varchar(1000)--IIS備份為后綴的MD文件
declare @IIsBacksc varchar(1000)--IIS備份為后綴的SC文件
declare @SqlName varchar(1000)--備份數據庫名稱
declare @SqlPath varchar(1000)--備份數據庫文件路金
declare @IISyshe varchar(1000)--IIS網羅映射
declare @Sqlyshe varchar(1000)--sql網絡映射
declare @sqlback varchar(1000)---數據庫備份命令
declare @url varchar(1000)-- 數據庫遠程備份存放的路徑
declare @osql varchar(1000)--數據庫備份DOS操作命令
begin
  --命名規則'文件名+月+日+年‘
   set @SqlName=@DataName+replace(convert(varchar(50),getdate(),110),''-'','''')+''.bak''
   set @url=''E:/Program Files/Microsoft SQL Server/MSSQL.1/MSSQL/Backup/''+@SqlName
   set @sqlback=''backup database ''+@DataName +'' to disk=''''''+@url+'''''' with init''
   set @iisname=''IIs''+replace(convert(varchar(50),getdate(),110),''-'','''')
   set @osql=''osql -S''+@ServerIp+'' -U''+@SqlloginName+''  -P''+@SqlLoginPwd+''  -dmaster -q"''+@sqlback+''"''
   set @IISversion=''123''--//replace(convert(varchar(50),getdate(),120),'':'',''-)
   set @IISBack=''iisback /Backup /s ''+@ServerIISIp+'' /u ''+@ServerIIsName+'' /p ''+@ServerIIsPwd+'' /b ''+@iisname+'' /v ''+@IISversion+''''--遠程備份IIS文件路勁
   --其中 /S 代表遠程計算機名稱或者IP /U 代表用戶 /p 代表密碼 /b 代表備份名稱 /V 代表你所備份的版本號 /e 代表對備份文件進行加密
   set @IIsBackmd=''copy y:/''+@iisname+''.MD''+@IISversion+'' ''+@MoveIIsPath+''''
   set @IIsBacksc=''copy y:/''+@iisname+''.SC''+@IISversion+'' ''+@MoveIIsPath+''''
   set @Sqlpath=''copy q:/''+@SqlName+'' ''+@MoveSqlPath+''''
   set @IISyshe=''net use y: //''+@ServerIISIp+''/''+@IIsShareFile+'' "''+@ServerIIsPwd+''" /user:''+@ServerIISIp+''/''+@ServerIIsName+''''
   set @Sqlyshe=''net use q: //''+@ServerIp+''/''+@SqlShareFile+'' "''+@ServerPwd+''" /user:''+@ServerIp+''/''+@ServerName+''''
   exec master..xp_cmdshell @IISBack--遠程備份
   exec master..xp_cmdshell @IISyshe --//建立網落映射IIS''
   exec master..xp_cmdshell @IIsBackmd
   exec master..xp_cmdshell @IIsBacksc
   exec master..xp_cmdshell ''net use y: /delete''--刪除映射
   exec master..xp_cmdshell @osql--遠程備份數據庫
   exec master..xp_cmdshell @Sqlyshe--//建立網落映射數據庫''
   exec master..xp_cmdshell @Sqlpath
   exec master..xp_cmdshell ''net use q: /delete''--刪除映射  
END
end
'
END
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Creat_Job]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'
create proc [dbo].[Creat_Job]
@prorcname varchar(1000), --要調用定時調用的存儲過程名,如果不在當前庫中,則用:庫名..所有者名..存儲過程名
@job_date datetime --存儲過程的執行時間(包括時間信息)
as
declare @dbname sysname,@jobname sysname,@date int,@time int
select @jobname=''作業_''+cast(newid() as varchar(36))
 ,@date=convert(varchar,@job_date,112)
 ,@time=replace(convert(varchar,@job_date,108),'':'','''')

if exists(select * from msdb..sysjobs where name=@jobname)
 exec msdb..sp_delete_job @job_name=@jobname

--創建作業
exec msdb..sp_add_job @job_name=@jobname,@delete_level=0

--創建作業步驟
declare @sql varchar(1000)
select @sql=''exec ''+@prorcname
 ,@dbname=db_name()

exec msdb..sp_add_jobstep @job_name=@jobname,
 @step_name = ''執行步驟'',
 @subsystem = ''TSQL'',
 @database_name=@dbname,
 @command = @sql,
 @retry_attempts = 5,   --重試次數
 @retry_interval = 5    --重試間隔

--創建調度
EXEC msdb..sp_add_jobschedule @job_name = @jobname,
@name = ''時間安排'',
@enabled = 1,
@freq_type = 4, --代表每天都執行
@active_start_date = @date,
@active_start_time = @time,
@freq_interval =1--至少一次
-- 添加目標服務器
EXEC msdb.dbo.sp_add_jobserver
@job_name = @jobname ,
@server_name = N''(local)''
'
END

同時也備份IIS,并且通過網絡映射,這樣的結果是在A機上也有備份的文件,在B機上也有相同的備份文件。在此也利用了作業的操作。
注意:Sql Server2005默認的情況下是沒有打開xp_cmdshell這個是系統存儲過程,
所以我們必須打開它 EXEC sp_configure 'show advanced options', 1,然后在運行RECONFIGURE 再一次運行EXEC sp_configure 'xp_cmdshell', 1,最后RECONFIGURE。

您可能感興趣的文章:
  • 設定sql server定期自動備份數據庫
  • mssql無數據庫日志文件恢復數據庫的方法
  • sqlserver 日志恢復方法(搞定drop和truncate)
  • SQLServer 2005 自動備份數據庫的方法分享(附圖解教程)
  • SQLServer2005 沒有日志文件(*.ldf) 只有數據文件(*.mdf) 恢復數據庫的方法
  • SQL Server 作業的備份(備份作業非備份數據庫)
  • SQL server 2008 數據安全(備份和恢復數據庫)
  • SQL Server誤區30日談 第28天 有關大容量事務日志恢復模式的誤區
  • centos中mysql備份數據庫腳本分享
  • mysql二進制日志文件恢復數據庫
  • SQL Server 2008 備份數據庫、還原數據庫的方法
  • SQL Server恢復模型之批量日志恢復模式
  • SQL Server 2005恢復數據庫詳細圖文教程
  • SqlServer備份數據庫的4種方式介紹
  • SQL Server無日志恢復數據庫(2種方法)

標簽:臺灣 公主嶺 海口 寶雞 日喀則 咸寧 西藏 商洛

巨人網絡通訊聲明:本文標題《Sql Server2005實現遠程備份數據庫》,本文關鍵詞  Sql,Server2005,實現,遠程,備份,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Sql Server2005實現遠程備份數據庫》相關的同類信息!
  • 本頁收集關于Sql Server2005實現遠程備份數據庫的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 双鸭山市| 阳东县| 大丰市| 乐昌市| 锦屏县| 古丈县| 阿荣旗| 焦作市| 隆尧县| 林口县| 福泉市| 湖州市| 铜陵市| 浦北县| 桃园市| 东方市| 兴城市| 商都县| 葫芦岛市| 穆棱市| 盘锦市| 六安市| 平江县| 唐海县| 泾川县| 常熟市| 柳河县| 鄄城县| 车致| 永嘉县| 兴业县| 新丰县| 五大连池市| 昌宁县| 会同县| 焦作市| 班戈县| 卫辉市| 辽阳县| 焦作市| 兴隆县|