`
shaobo
  • 浏览: 52681 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

MS SQL2000数据库自动备份

阅读更多

运行环境分析:
现有两台机器具体配置如下:
操作系统:两台都是Windows 2000 Advanced Server
数据库: Sql Server 2000
IP: 一台是192.168.0.1,另一台是192.168.0.100
要求:定期自动实现将192.168.0.1中数据库中bbsbak数据库备份到192.168.0.100的机器上,并删除15天以前对192.168.0.100中自动备份的bbsbak数据库。
注:本操作涉及到Ms Sql Server2000数据库数据转换服务中包的高级设置、数据库存储过程、作业的添加及简单Transact_SQL语句的操作等内容,在此不再详述,请参考相关资料及微软官方网站。
操作步骤:
1. 在本机(win2000)中打开SQL数据库――-数据转换服务――本地包(如图)

 


点击在新窗口查看全图&10;CTRL+鼠标滚轮放大或缩小screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='点击在新窗口查看全图\nCTRL+鼠标滚轮放大或缩小';}" border=0 resized="true">


2. 右键――新建包,出现如图画面

 


点击在新窗口查看全图CTRL+鼠标滚轮放大或缩小screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='点击在新窗口查看全图\nCTRL+鼠标滚轮放大或缩小';}" border=0 resized="true">


A:首先建立Microsoft OLE DB Provider for SQL Server(如图)

 


点击在新窗口查看全图CTRL+鼠标滚轮放大或缩小screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='点击在新窗口查看全图\nCTRL+鼠标滚轮放大或缩小';}" border=0 resized="true">


在此注意两点:
第一指定的服务器应是192.168.0.100;
第二192.168.0.100数据库的选择(在此我用master数据库)。
B:下面建立执行 SQL 任务: 未定义如图

 


点击在新窗口查看全图CTRL+鼠标滚轮放大或缩小screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='点击在新窗口查看全图\nCTRL+鼠标滚轮放大或缩小';}" border=0 resized="true">


a.命令超时项设置为:300;
b.SQL语句为:
select 'bbsbak'+convert(varchar(4), datepart(yyyy, getdate())) + convert(varchar(4), datepart(mm, getdate())) + convert(varchar(4), datepart(dd, getdate()))
注释:红色标记是实现备份后的数据库在bbsbak后加上年月日,如bbsbak20031023.
c.点击参数(A)对参数进行相关设置,出现如上图界面

 


点击在新窗口查看全图CTRL+鼠标滚轮放大或缩小screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='点击在新窗口查看全图\nCTRL+鼠标滚轮放大或缩小';}" border=0 resized="true">


选输出参数,如上图
输出参数类型为行值,点击创建全局变量,出现如图界面

 


点击在新窗口查看全图CTRL+鼠标滚轮放大或缩小screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='点击在新窗口查看全图\nCTRL+鼠标滚轮放大或缩小';}" border=0 resized="true">


全局变量的名称为:bbsbak_crt,确定后返回参数映射界面
选择输出全局变量为: bbsbak_crt
OK,第一个SQL任务建立成功!
C:下面建立另外一个执行 SQL 任务: 未定义 如图

 


点击在新窗口查看全图CTRL+鼠标滚轮放大或缩小screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='点击在新窗口查看全图\nCTRL+鼠标滚轮放大或缩小';}" border=0 resized="true">


其中SQL语句为:exec crtdatabase_bbsbak.
OK,继续!
D:建立复制 SQL Server 对象任务: 未定义,如图

 


点击在新窗口查看全图CTRL+鼠标滚轮放大或缩小screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='点击在新窗口查看全图\nCTRL+鼠标滚轮放大或缩小';}" border=0 resized="true">


注意:此时源服务器为:192.168.0.1,选择要备份的数据库(bbsbak)
下面转到目的服务中:参数如图设置

 


点击在新窗口查看全图CTRL+鼠标滚轮放大或缩小screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='点击在新窗口查看全图\nCTRL+鼠标滚轮放大或缩小';}" border=0 resized="true">


OK!继续
E:建立动态属性任务: 未定义,如图

 


点击在新窗口查看全图CTRL+鼠标滚轮放大或缩小screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='点击在新窗口查看全图\nCTRL+鼠标滚轮放大或缩小';}" border=0 resized="true">


OK!
F:下面设置工作流状态如图

 


点击在新窗口查看全图CTRL+鼠标滚轮放大或缩小screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='点击在新窗口查看全图\nCTRL+鼠标滚轮放大或缩小';}" border=0 resized="true">


保存为bbsbak_DTS,如图

 


点击在新窗口查看全图CTRL+鼠标滚轮放大或缩小screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='点击在新窗口查看全图\nCTRL+鼠标滚轮放大或缩小';}" border=0 resized="true">


下面调度包
调度前保证SQL agent server启动

 


点击在新窗口查看全图CTRL+鼠标滚轮放大或缩小screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='点击在新窗口查看全图\nCTRL+鼠标滚轮放大或缩小';}" border=0 resized="true">


到此本机中(192.168.0.1)上的操作完成。
3. 打开192.168.0.100机器中的sql数据库――-Master数据库――存储过程,如图

 


点击在新窗口查看全图CTRL+鼠标滚轮放大或缩小screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='点击在新窗口查看全图\nCTRL+鼠标滚轮放大或缩小';}" border=0 resized="true">


存储过程如下:

 


点击在新窗口查看全图CTRL+鼠标滚轮放大或缩小screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='点击在新窗口查看全图\nCTRL+鼠标滚轮放大或缩小';}" border=0 resized="true">


文本语法为:
CREATE proc crtdatabase_bbsbak
as
declare @sql varchar(120)
declare @sql2 varchar(120)
declare @sql3 varchar(260)
declare @nalja varchar(12)
set @nalja=convert(varchar(4), datepart(yyyy, getdate())) + convert(varchar(4), datepart(mm, getdate())) + convert(varchar(4), datepart(dd, getdate()))
set @sql = 'create database bbsbak'+@nalja+' on ( name='+'''backup_mdf'+@nalja+''', filename= ''E:\ bbsbak\backup_mdf\bbsbak'+@nalja+'.mdf'')'
set @sql2=' Log on ( name='+'backup_ldf'+@nalja+' ,filename= ''E:\ bbsbak \backup_ldf\ bbsbak '+@nalja+'.ldf'')'
set @sql3=@sql+@sql2
--select @sql3
exec (@sql3)
GO
注意:E:\DB_backup\Full_backup\此路径中的DB_backup和Full_backup文件夹应当事先在本机E盘上建立好
同样再建立一个存储过程,语法为
CREATE proc deldatabase_bbsbak
as
declare @nalja varchar(12)
declare @sql varchar(120)
set @nalja=convert(varchar(4), datepart(yyyy, getdate()-15))+convert(varchar(4), datepart(mm,getdate()-15))
+convert(varchar(4), datepart(dd, getdate()-15))
set @sql='drop database nage'+@nalja
exec (@sql)
GO
最后再agent server 中建立一个作业调度存储过程,其中作业中的步骤命令为:exec deldatabase_bbsbak
注意调度时的日期应当推迟15天
OK了!!!
情形二:本地备份
若是在本机(192.168.0.1)中实现自动备份?
操作如下:sql agent中直接添加作业bbsbak_full_backup
如图

 


点击在新窗口查看全图CTRL+鼠标滚轮放大或缩小screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='点击在新窗口查看全图\nCTRL+鼠标滚轮放大或缩小';}" border=0 resized="true">


其中:作业中的步骤命令为:
BACKUP DATABASE bbsbak TO DISK = 'F:\DB_backup\Full_backup\bbsbak.bak' WITH INIT, NOUNLOAD, NAME=N'bbsbak Full backup', SKIP, STATS = 10, NOFORMAT
注意:F:\DB_backup\Full_backup\此路径中的DB_backup和Full_backup文件夹应当事先在本机上建立好
日志文件的步骤同样添加作业:bbsbak_log_backup

 


点击在新窗口查看全图CTRL+鼠标滚轮放大或缩小screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='点击在新窗口查看全图\nCTRL+鼠标滚轮放大或缩小';}" border=0 resized="true">

 


其中:作业中的步骤命令为:
BACKUP LOG [bbsbak] TO DISK = N'F:\DB_backup\Log_backup\bbsbak_log.bak' WITH INIT , NOUNLOAD , NAME = N'bbsbak log backup', NOSKIP , STATS = 10, NOFORMAT
注意:F:\DB_backup\Log_backup \此路径中的DB_backup和Log_backup文件夹应当事先在本机上建立好
好,到此所有的操作已完成,望各位继续讨论。

 

数据库自动备份简易贴(方法二)
==================
一 配置发布服务器
在发布服务器上执行以下步骤:
(1) 从[工具]下拉菜单的[复制]子菜单中选择[配置发布、订阅服务器和分发]出现配置发布和分发向导
(2) [下一步] 选择分发服务器 可以选择把发布服务器自己作为分发服务器或者其他sql的服务器
(3) [下一步] 设置快照文件夹
一般采用默认\\servername\d$\Program Files\Microsoft SQL Server\MSSQL\ReplData
**(4) [下一步] 自定义配置
可以选择:
是,让我设置分发数据库属性启用发布服务器或设置发布设置
否,使用下列默认设置
建议采用自定义设置
(5) [下一步] 设置分发数据库名称和位置 采用默认值
(6) [下一步] 启用发布服务器 选择作为发布的服务器
(7) [下一步] 选择需要发布的数据库和发布类型
(8) [下一步] 选择注册订阅服务器
(9) [下一步] 完成配置
二 创建出版物
发布服务器上
(1)从[工具]菜单的[复制]子菜单中选择[创建和管理发布]命令
(2)选择要创建出版物的数据库,然后单击[创建发布]
(3)在[创建发布向导]的提示对话框中单击[下一步]系统就会弹出一个对话框。
对话框上的内容是复制的三个类型。我们现在选第一个也就是默认的快照发布(其他两个大家可以去看看帮助)
(4)单击[下一步]系统要求指定可以订阅该发布的数据库服务器类型,
SQLSERVER允许在不同的数据库如 ORACLE或ACCESS之间进行数据复制。
但是在这里我们选择运行"SQL SERVER 2000"的数据库服务器
(5)单击[下一步]系统就弹出一个定义文章的对话框也就是选择要出版的表
注意: 如果前面选择了事务发布 则再这一步中只能选择带有主键的表
(6)选择发布名称和描述
**(7)自定义发布属性
向导提供的选择:
是 我将自定义数据筛选,启用匿名订阅和或其他自定义属性
否 根据指定方式创建发布
建议采用自定义的方式
(8)[下一步] 选择筛选发布的方式
(9)[下一步] 可以选择是否允许匿名订阅
1)如果选择署名订阅,则需要在发布服务器上添加订阅服务器
方法: [工具]->[复制]->[配置发布、订阅服务器和分发的属性]->[订阅服务器] 中添加
否则在订阅服务器上请求订阅时会出现的提示:改发布不允许匿名订阅
如果仍然需要匿名订阅则用以下解决办法
[企业管理器]->[复制]->[发布内容]->[属性]->[订阅选项] 选择允许匿名请求订阅
2)如果选择匿名订阅,则配置订阅服务器时不会出现以上提示
(10)[下一步] 设置快照 代理程序调度
(11)[下一步] 完成配置
当完成出版物的创建后创建出版物的数据库也就变成了一个共享数据库。
三 订阅服务器的配置
(一) 强制订阅的配置
在发布服务器上
[企业管理器]->[复制]->[发布内容]->[属性]->[订阅]->[强制新建]
然后出现强制订阅向导
选择订阅服务器->订阅数据库名->设置分发代理程序调度->初始化订阅->启动要求的服务
(发布服务器的agent要启动)->完成即可
(二) 请求订阅的配置
订阅服务器上执行以下操作
(1) 从[工具]下拉菜单中选择[复制]子菜单的[请求订阅]
(2) 选择[请求新订阅] 打开请求订阅向导
(3) [下一步]选择已注册的发布
(4) [下一步]选择创建订阅的数据库
(5) [下一步]选择匿名订阅或署名订阅
(6) [下一步] 初始化订阅 选择初始化架构和数据
(7) [下一步]选择快照文件的存放位置 一般采用发布服务器的默认快照文件夹
**(8) [下一步]设置分发代理程序调度 可以选择订阅更新内容的间隔
(9) [下一步]系统会提示检查发布服务器的代理服务的运行状态
(10) [下一步] 完成配置
一笑 发表于2004-07-22 3:16 AM  
理论备注:
===============
利用数据库复制技术 实现数据同步更新
复制的概念
复制是将一组数据从一个数据源拷贝到多个数据源的技术,是将一份数据发布到多个存储站点上的有效方式。使用复制技术,用户可以将一份
数据发布到多台服务器上,从而使不同的服务器用户都可以在权限的许可的范围内共享这份数据。复制技术可以确保分布在不同地点的数据自
动同步更新,从而保证数据的一致性。
SQL复制的基本元素包括
出版服务器、订阅服务器、分发服务器、出版物、文章
SQL复制的工作原理
SQL SERVER 主要采用出版物、订阅的方式来处理复制。源数据所在的服务器是出版服务器,负责发表数据。出版服务器把要发表的数据的所有
改变情况的拷贝复制到分发服务器,分发服务器包含有一个分发数据库,可接收数据的所有改变,并保存这些改变,再把这些改变分发给订阅
服务器
SQL SERVER复制技术类型
SQL SERVER提供了三种复制技术,分别是:
1、快照复制(呆会我们就使用这个)
2、事务复制
3、合并复制
只要把上面这些概念弄清楚了那么对复制也就有了一定的理解。接下来我们就一步一步来实现复制的步骤。
第一先来配置出版服务器
(1)选中指定[服务器]节点
(2)从[工具]下拉菜单的[复制]子菜单中选择[发布、订阅服务器和分发]命令
(3)系统弹出一个对话框点[下一步]然后看着提示一直操作到完成。
(4)当完成了出版服务器的设置以后系统会为该服务器的树形结构中添加一个复制监视器。同时也生成一个分发数据库(distribution)
第二创建出版物
(1)选中指定的服务器
(2)从[工具]菜单的[复制]子菜单中选择[创建和管理发布]命令。此时系统会弹出一个对话框
(3)选择要创建出版物的数据库,然后单击[创建发布]
(4)在[创建发布向导]的提示对话框中单击[下一步]系统就会弹出一个对话框。对话框上的内容是复制的三个类型。我们现在选第一个也就是默
认的快照发布(其他两个大家可以去看看帮助)
(5)单击[下一步]系统要求指定可以订阅该发布的数据库服务器类型,SQLSERVER允许在不同的数据库如 ORACLE或ACCESS之间进行数据复制。但
是在这里我们选择运行"SQL SERVER 2000"的数据库服务器
(6)单击[下一步]系统就弹出一个定义文章的对话框也就是选择要出版的表
(7)然后[下一步]直到操作完成。当完成出版物的创建后创建出版物的数据库也就变成了一个共享数据库。
第三设计订阅
(1)选中指定的订阅服务器
(2)从[工具]下拉菜单中选择[复制]子菜单的[请求订阅]
(3)按照单击[下一步]操作直到系统会提示检查SQL SERVER代理服务的运行状态,执行复制操作的前提条件是SQL SERVER代理服务必须已经启动

(4)单击[完成]。完成订阅操作。
完成上面的步骤其实复制也就是成功了。但是如何来知道复制是否成功了呢?这里可以通过这种方法来快速看是否成功。展开出版服务器下面
的复制——发布内容——右键发布内容——属性——击活——状态然后点立即运行代理程序接着点代理程序属性击活调度把调度设置为每一天
发生,每一分钟,在0:00:00和23:59:59之间。接下来就是判断复制是否成功了打开d:\Program Files\Microsoft SQL
Server\MSSQL\REPLDATA\unc\XIAOWANGZI_database_database下面看是不是有一些以时间做为文件名的文件夹差不多一分中就产生一个。

分享到:
评论

相关推荐

    MS SQL2000数据库自动备份技术.doc

    在MS SQL Server 2000中,自动备份是一项关键功能,确保数据库的安全性和可恢复性。本文档主要介绍了如何配置SQL Server 2000数据库以实现异地自动备份,并在备份完成后删除超过15天的旧备份。这一过程涉及到了...

    如何导入、导出 MS SQL 2000 数据库.doc

    3. 选择“备份数据库(B)...”将 MS SQL 2000 数据库备份到外部文件中。 4. 选择备份文件的格式,例如 bak 文件等。 5. 选择要备份的数据表和字段。 6. 选择备份的方式,例如完整备份、差异备份等。 7. 单击“下一步...

    MS SQL数据库自动备份工具

    【MS SQL数据库自动备份工具】是一款使用C#编程语言开发的应用程序,专为管理Microsoft SQL Server数据库的定期备份而设计。这款工具能够帮助系统管理员自动化数据库的备份过程,确保在数据丢失或系统故障时能够迅速...

    ms sql 2000数据库的备份与恢复(例程下载).rar_sql 2000_数据库SQL 2000

    本主题将深入探讨SQL Server 2000数据库的备份与恢复过程,这是确保数据安全和业务连续性的重要环节。 首先,备份是防止数据丢失的关键步骤。SQL Server 2000提供了多种类型的备份,包括完整备份、差异备份、日志...

    计算机软件-编程源码-ms sql 2000数据库的备份与恢复(例程下载).zip

    本资源包"计算机软件-编程源码-ms sql 2000数据库的备份与恢复(例程下载).zip"显然专注于SQL Server 2000数据库的备份和恢复过程,这对于确保数据安全和业务连续性至关重要。 首先,我们来讨论数据库备份。在SQL ...

    MS SQL SERVER 全自动备份服务程序(完美版本)

    【MS SQL SERVER 全自动备份服务程序(完美版本)】是一个专为Microsoft SQL Server设计的高效备份解决方案。这个程序利用Delphi 2007开发,以实现全自动化备份流程,减轻DBA的工作负担,确保数据库的安全性。下面将...

    Sql Server数据库自动全备份的脚本(带7z压缩)

    综上所述,利用VBScript和CMD调用SQL Server的备份命令及7-Zip压缩功能,可以创建一个高效、自动化的数据库备份解决方案。同时,结合Oracle备份的相关知识,我们可以为不同类型的数据库构建全面的数据保护策略。

    MS SQL2000 数据库附加/备份/还原工具

    标签“源码 工具”可能意味着这个压缩包文件包含了一些与SQL Server 2000数据库管理相关的源代码或实用工具,可能用于自动化或简化上述操作。不过,由于具体文件名“mssql2000”并未提供更多信息,我们无法详细阐述...

    MS SQL 2000 数据库批量收缩日志截断优化软件

    MS SQL 2000 数据库在长时间运行后,数据库文件和日志文件会不断增大,大量占用服务器硬盘空间。通过定期运行本软件收缩数据库和截断日志文件,对 MS SQL 2000 数据库进行优化,以保证 MS SQL 2000 数据库高效运转。...

    MS SQL Server数据库Web管理.pdf

    在MS SQL Server数据库Web管理中,管理员可以通过Web界面来执行各种数据库管理任务,例如创建和管理数据库用户、管理数据库权限、监控数据库性能、执行数据库备份和恢复等。 MS SQL Server数据库Web管理的主要功能...

    sql server 2000 数据库自动备份设置方法

    1.打开MS SQL Server 企业管理器,SqlServer组 — 管理 — 数据库维护计划 — 右键新建维护计划 如下图: 下一步:选择需要备份的数据库 下一步: 继续下一步: 下一步:点击更改修改数据备份时间 下一步: ...

    MS SQL数据库系统备份与恢复

    "MS SQL数据库系统备份与恢复"这一主题主要关注如何有效地保护SQL Server中的数据,以防数据丢失或系统故障。 SQL Server提供了多种备份类型,包括完整备份、差异备份、日志备份等,每种都有其特定的应用场景。完整...

    MS SQL数据库备份和恢复存储过程

    在MS SQL Server中,数据库备份和恢复是维护数据安全与完整性的关键操作。本文将详细介绍如何使用存储过程来实现这两个功能。 首先,我们来看备份数据库的存储过程`pr_backup_db`。这个存储过程用于创建一个数据库...

    ms sql 2000数据库表的管理

    本文将深入探讨MS SQL 2000中关于数据库表的管理,包括创建、修改、查询以及维护等方面的知识点。 1. **创建数据库表** 在SQL Server 2000中,我们通常使用`CREATE TABLE`语句来创建新的数据库表。例如: ```sql ...

    SQLServer数据库备份再还原之后登录名丢失解决方法

    ### SQL Server 数据库备份后登录名丢失问题及解决方法 #### 背景与问题概述 在进行SQL Server数据库的备份与恢复操作时,经常会出现一个棘手的问题:原本数据库中的登录名在恢复到另一台服务器后消失不见,导致...

    sql数据库自动备份程序(索优软件)

    每天一个备份文件,每月循环备份, 实现对数据库进行自动备份,备份保留一个月的时间, 月初会覆盖上个月第一天的数据, 不会无限增加硬盘的对备份文件...支持:MS Sql server 2000以上版本数据库 程序提供:索优软件

    Mssql Server 数据库自动备份精灵

    Mssql Server 数据库自动备份精灵最新版Mssql Server 数据库自动备份精灵最新版

    只能还原ms sql 数据库

    标题中的“只能还原MS SQL数据库”表明这是一个专为恢复Microsoft SQL Server数据库而设计的应用程序。在IT领域,数据库是存储和管理数据的核心组件,而SQL Server是微软公司提供的一种关系型数据库管理系统,广泛...

    MS SQL SERVER 数据库技巧总结

    在IT行业中,MS SQL Server是微软公司开发的关系型数据库管理系统,广泛应用于企业级数据存储、管理和分析。本篇文章将深入探讨一些MS SQL Server的关键数据库技巧,帮助你优化工作流程,提高效率。 一、查询优化 ...

Global site tag (gtag.js) - Google Analytics