All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
ASP.NET:一段比较经典的多线程学习代码_[Asp.Net教程]
asp.net2.0网站语法之服务器端文件包含
ASP.NET文件下载实现方法源程序_[Asp.Net教程]
ASP.NET,2.0移动开发之设备筛选器的应用_[Asp.Net教程]
入门知识:动态网页PHP编程中字符串5个技巧_php资料_编程技术
高度100%的绝对定位自适应布局技巧_[Html教程]
无日志恢复Sql,server_[SQL,Server教程]
在,ASP.NET,2.0,中上载文件_[Asp.Net教程]
ASP.NET技巧:repeater实现多列显示_.net资料_编程技术
如何对PHP程序中的常见漏洞进行攻击_php资料_编程技术
Reading number is top 10 pictures
Forced sex girl living abroad2
The money of more than 100 countries and regions19
Japan sexy beauty passion photo
移民小国也实惠2
刘亦菲写真集1
Sora aoi on twitter4
A man's favorite things1
这酸爽,让人不敢相信
南昌铁路局攸县车站125户铁路职工微利房终成骗局
Go to the national museum2
Download software ranking
Sora aoi 120 minutes
Eclipse-CALMSANNY (second edition)
The Bermuda triangle1
Unix video tutorial5
Tram sex maniac 2 (H) rar bag13
C#编程思想
White deer villiage
Unix video tutorial4
The king of fighters 97(Mobile phone games-apk)
Boxer Classic video1
delv published in(发表于) 2013/12/30 4:37:01 Edit(编辑)
Sql,Server2005实现远程备份数据库_mssql学习_编程技术

Sql,Server2005实现远程备份数据库_mssql学习_编程技术

Sql Server2005实现远程备份数据库_mssql学习_编程技术-你的首页-uuhomepage.com
相信大家都在当心数据库的丢失,这也是每个开发者头痛的一件事件,因为正在运行的服务器及数据库也在这台服务器上。如果服务器崩溃,那么所有的数据都不存在了,就算是你在你的机子上做了备份,那也是没有用的,为什么会这样说主要是因为本机是向互联网公开的,所以出事故的概率就比较高。最终我们可以利用局域网解决这样的问题。就拿两台机子做例子,A机是服务器,B机是要把A服务器上的数据库备份到B机上,前提是B机必须要有数据库,以Sql Server2005为例。
首先A机必须具备数据库,程序,IIS,B机必须具备数据库,服务程序。前提是B机必须知道A机的机器密码。
其次代码操作如下 这只是存储过程
1 IF NOT EXISTS ( SELECT * FROM sys.objects WHERE object_id = OBJECT_ID (N ' [dbo].[BackSqlorFile] ' ) AND type in (N ' P ' , N ' PC ' ))
2 BEGIN
3 EXEC dbo.sp_executesql @statement = N '
4
5
6 CREATE proc [dbo].[BackSqlorFile]
7 @ServerIp varchar(50),--数据库服务器IP
8 @ServerName varchar(50),--数据库计算机用户
9 @ServerPwd varchar(50),--数据库计算机用户密码
10 @ServerIISIp varchar(50),--IIs服务器Ip
11 @ServerIIsName varchar(50),--IIs服务器名称
12 @ServerIIsPwd varchar(50),--IIs服务器密码
13 @SqlShareFile varchar(50),--远程sql共享文件
14 @IIsShareFile varchar(50),--远程IIS共享文件
15 @MoveIIsPath varchar(50),--d:\back
16 @MoveSqlPath varchar(50),--d:\sql
17 @DataName varchar(50),--数据库名称
18 @SqlloginName varchar(50),--远程数据库登陆名称
19 @SqlLoginPwd varchar(50)--远程数据库登陆密码
20 as
21 begin
22 /*=====================================================================*/
23 --Create data 2007-05-21
24 --Modify data 2007-05-21
25 --Autor:sp
26 --Method:数据库远程备份、虚拟主机远程备份、IIS远程备份
27 /*====================================================================*/
28 declare @iisname varchar(1000)--备份IIS的名称
29 declare @IISversion varchar(1000)--IIS版本号
30 declare @MovePath varchar(1000)--COPY文件的路劲
31 declare @IIsBack varchar(1000)--IIS备份命令
32 declare @IIsBackmd varchar(1000)--IIS备份为后缀的MD文件
33 declare @IIsBacksc varchar(1000)--IIS备份为后缀的SC文件
34 declare @SqlName varchar(1000)--备份数据库名称
35 declare @SqlPath varchar(1000)--备份数据库文件路金
36 declare @IISyshe varchar(1000)--IIS网罗映射
37 declare @Sqlyshe varchar(1000)--sql网络映射
38 declare @sqlback varchar(1000)---数据库备份命令
39 declare @url varchar(1000)-- 数据库远程备份存放的路径
40 declare @osql varchar(1000)--数据库备份DOS操作命令
41 begin
42 --命名规则’文件名+月+日+年‘
43 set @SqlName=@DataName+replace(convert(varchar(50),getdate(),110), '' - '' , '''' )+ '' .bak ''
44 set @url= '' E:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\ '' +@SqlName
45 set @sqlback= '' backup database '' +@DataName + '' to disk= '''''' +@url+ '''''' with init ''
46 set @iisname= '' IIs '' +replace(convert(varchar(50),getdate(),110), '' - '' , '''' )
47 set @osql= '' osql -S '' +@ServerIp+ '' -U '' +@SqlloginName+ '' -P '' +@SqlLoginPwd+ '' -dmaster -q" '' +@sqlback+ '' " ''
48 set @IISversion= '' 123 '' --//replace(convert(varchar(50),getdate(),120), '' : '' , '' -)
49 set @IISBack= '' iisback /Backup /s '' +@ServerIISIp+ '' /u '' +@ServerIIsName+ '' /p '' +@ServerIIsPwd+ '' /b '' +@iisname+ '' /v '' +@IISversion+ '''' --远程备份IIS文件路劲
50 --其中 /S 代表远程计算机名称或者IP /U 代表用户 /p 代表密码 /b 代表备份名称 /V 代表你所备份的版本号 /e 代表对备份文件进行加密
51 set @IIsBackmd= '' copy y:\ '' +@iisname+ '' .MD '' +@IISversion+ '' '' +@MoveIIsPath+ ''''
52 set @IIsBacksc= '' copy y:\ '' +@iisname+ '' .SC '' +@IISversion+ '' '' +@MoveIIsPath+ ''''
53 set @Sqlpath= '' copy q:\ '' +@SqlName+ '' '' +@MoveSqlPath+ ''''
54 set @IISyshe= '' net use y: \\ '' +@ServerIISIp+ '' \ '' +@IIsShareFile+ '' " '' +@ServerIIsPwd+ '' " /user: '' +@ServerIISIp+ '' \ '' +@ServerIIsName+ ''''
55 set @Sqlyshe= '' net use q: \\ '' +@ServerIp+ '' \ '' +@SqlShareFile+ '' " '' +@ServerPwd+ '' " /user: '' +@ServerIp+ '' \ '' +@ServerName+ ''''
56 exec master..xp_cmdshell @IISBack--远程备份
57 exec master..xp_cmdshell @IISyshe --//建立网落映射IIS ''
58 exec master..xp_cmdshell @IIsBackmd
59 exec master..xp_cmdshell @IIsBacksc
60 exec master..xp_cmdshell '' net use y: /delete '' --删除映射
61 exec master..xp_cmdshell @osql--远程备份数据库
62 exec master..xp_cmdshell @Sqlyshe--//建立网落映射数据库 ''
63 exec master..xp_cmdshell @Sqlpath
64 exec master..xp_cmdshell '' net use q: /delete '' --删除映射
65 END
66 end
67 '
68 END
69 IF NOT EXISTS ( SELECT * FROM sys.objects WHERE object_id = OBJECT_ID (N ' [dbo].[Creat_Job] ' ) AND type in (N ' P ' , N ' PC ' ))
70 BEGIN
71 EXEC dbo.sp_executesql @statement = N '
72 create proc [dbo].[Creat_Job]
73 @prorcname varchar(1000), --要调用定时调用的存储过程名,如果不在当前库中,则用:库名..所有者名..存储过程名
74 @job_date datetime --存储过程的执行时间(包括时间信息)
75 as
76 declare @dbname sysname,@jobname sysname,@date int,@time int
77 select @jobname= '' 作业_ '' +cast(newid() as varchar(36))
78 ,@date=convert(varchar,@job_date,112)
79 ,@time=replace(convert(varchar,@job_date,108), '' : '' , '''' )
80
81 if exists(select * from msdb..sysjobs where name=@jobname)
82 exec msdb..sp_delete_job @job_name=@jobname
83
84 --创建作业
85 exec msdb..sp_add_job @job_name=@jobname,@delete_level=0
86
87 --创建作业步骤
88 declare @sql varchar(1000)
89 select @sql= '' exec '' +@prorcname
90 ,@dbname=db_name()
91
92 exec msdb..sp_add_jobstep @job_name=@jobname,
93 @step_name = '' 执行步骤 '' ,
94 @subsystem = '' TSQL '' ,
95 @database_name=@dbname,
96 @command = @sql,
97 @retry_attempts = 5, --重试次数
98 @retry_interval = 5 --重试间隔
99
100 --创建调度
101 EXEC msdb..sp_add_jobschedule @job_name = @jobname,
102 @name = '' 时间安排 '' ,
103 @enabled = 1,
104 @freq_type = 4, --代表每天都执行
105 @active_start_date = @date,
106 @active_start_time = @time,
107 @freq_interval =1--至少一次
108 -- 添加目标服务器
109 EXEC msdb.dbo.sp_add_jobserver
110 @job_name = @jobname ,
111 @server_name = N '' (local) ''
112 '
113 END
114
同时也备份IIS,并且通过网络映射,这样的结果是在A机上也有备份的文件,在B机上也有相同的备份文件。在此也利用了作业的操作。
注意:Sql Server2005默认的情况下是没有打开xp_cmdshell这个是系统存储过程,
所以我们必须打开它 EXEC sp_configure 'show advanced options', 1,然后在运行RECONFIGURE 再一次运行EXEC sp_configure 'xp_cmdshell', 1,最后RECONFIGURE。




添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.