zoukankan      html  css  js  c++  java
  • sqlserver2000定时自动备份的实现

    工作中经常会碰到备份一个应用的数据库,刚开始你可能会每天手动的备份一次,但是时间长了你也许就会想到自动备份,下面简单的介绍一下我经常用的自动备份的方法.

       1、打开企业管理器->管理->sql server代理

       2、新建一个作业,作业名称随便取,例如:data备份,所有者选择sa,当然你也可以选择其他用户,前提是该用户有执行作业的权限;

       3、点击步骤标签,进入步骤面板.新建步骤,步骤名可以随便填写,如步骤1,类型和数据库默认,不需要修改.命令中写入以下语句:
    BACKUP DATABASE [数据库名] TO  DISK = N'F:\\data\\数据库备份' WITH  NOINIT ,  NOUNLOAD ,  NAME = N'数据库备份',  NOSKIP ,  STATS = 10,  NOFORMAT
       

       
    注意:需要修改的地方,数据库名,DISK=(这里需要填写路径和你的数据库备份的名称)后面的Name=可以随便填写.   4、点击调度标签,进入调度面板,新建调度,名称随便填写,选择反复出现,点更改可以选择你想要执行任务的随意调度.如每天,2,每星期,每月等.根据需要自己设置;
       5、确定后,不要忘记一件事情,在你刚才建立的工作上点右键,启动工作,如果你的工作没有问题,将会提示执行成功,并有相对应的备份文件在你的磁盘上出现;
       6、还有一个重要的问题就是你的sql server agent服务器已经启动.

       
    如果我们需要根据每天的日期来生成一个新的备份,以便我们区别备份文件.这时,我们需要修改一下刚才的sql语句.参考实例: declare @filename nvarchar(100) set @filename='F:\\AddIn\\备份[url=file://data]\\data'+convert(char(10),getdate(),112[/url]) print @filename BACKUP DATABASE [addin] TO DISK = @filename WITH NOINIT , NOUNLOAD , NAME = N'addin 备份', NOSKIP , STATS = 10, NOFORMAT

    declare @filename nvarchar(100) ;

    set @filename='c:\\AddIn\\备份[url=file://data]\\data'+convert(char(10),getdate(),112[/url]);

    print @filename ;

    BACKUP DATABASE [Destination] TO DISK = @filename WITH NOINIT , NOUNLOAD , NAME = N'Destination 备份',

    NOSKIP , STATS = 10, NOFORMAT;

    要用远程数据库可以备份本地。
    本地数据库也可以备份到远程。

    代码
    --备份环境:把数据库服务器(192.168.1.178)的数据库(TEST)备份到(192.168.1.101)的(E$:默认名称)E下



    declare @time varchar(20);
    declare @filename varchar(48);
    set @time = Convert(Varchar(19), getdate(),126);

    --首先,做一个与客户端的映射
    exec master..xp_cmdshell
    'net use z: \\192.168.1.101\e "密码" /user:192.168.1.101\administator'
    --'net use z: \\192.168.1.101\\e 密码 /user:192.168.1.101\\administator'
    --
    'net use z: \\192.168.1.101\e 密码 /user:192.168.1.101\administator'
    /*
    --说明:
    z: 是映射网络路径对应本机的盘符,与下面的备份对应
    \\192.168.1.101/e 是要映射的网络路径
    192.168.1.101\administrator
    192.168.1.101是远程的计算机名,administrator是登陆的用户名
    密码 上面指定的administrator用户的密码
    --
    */
    --其次,进行数据库备份
    set @filename = 'z:\\backup\\' + substring(@time,1,4) + substring(@time,6,2)+ substring(@time,9,2) + substring(@time,12,2) + substring(@time,15,2) + substring(@time,18,2)
    --set @filename = 'd:\\tools\\' + substring(@time,1,4) + substring(@time,6,2)+ substring(@time,9,2) + substring(@time,12,2) + substring(@time,15,2) + substring(@time,18,2)
    BACKUP DATABASE [jhdb] TO DISK = @filename WITH NOINIT , NOUNLOAD , NAME = N'数据库备份', NOSKIP , STATS = 10, NOFORMAT
    --最后.备份完成后删除映射
    exec master..xp_cmdshell 'net use z: /delete'

    之前一直没有成功,居然网络路径弄错了。

    写成了\\192.168.1.101\e$ 应该是 \\192.168.1.101\e   低级错误!

    方法二:由于局域网内远程备份数据库受网络的影响,备份速度慢,直接备份到远程硬盘并不是个好主意,一方面速度慢,另一方面网络传输过程中可能出现意外。还是直接备份到本地,再拷到远程硬盘的好,用SQL的脚本可以调用:“调用master..xp_cmdshell 'copy...'实现。” 

  • 相关阅读:
    解决 搭建Jekins过程中 启动Tomcat的java.net.UnknownHostException异常
    射手和农场主
    java 和 JS(javaScript)中的反斜杠正则转义
    分享修改密码的SharePoint Web part: ITaCS Change Password web part
    分享微软官方Demo用的SharePoint 2010, Exchange 2010, Lync 2010虚拟机
    Office 365 的公共网站的一些限制及解决的办法
    SharePoint 2013 关闭 customErrors
    安装 KB2844286 导致SharePoint 2010 XSLT web part 显示出现错误
    安装Office Web Apps Server 2013 – KB2592525安装失败
    如何将hyper-v虚拟机转换成vmware的虚拟机- 转换SharePoint 2010 Information Worker Demonstration and Evaluation Virtual Machine (SP1)
  • 原文地址:https://www.cnblogs.com/Godblessyou/p/1844731.html
Copyright © 2011-2022 走看看