精华内容
下载资源
问答
  • 2018-11-26 14:08:47

    1、写一个sql 脚本来作数据库备份。

    例如:backup.sql ,我们把它放在 F:\Database_Backup下,以后的备份文件也放在这个目录下。

    复制代码

    GO 
    DECLARE 
    @backupTime VARCHAR(20)
    DECLARE 
    @fileName VARCHAR(1000)  
    SELECT
     @backupTime=(CONVERT(VARCHAR(8), GETDATE(), 112) +REPLACE(CONVERT(VARCHAR(5), GETDATE(), 114), ':', ''))  
    SELECT
     @fileName='F:\Database_Backup\DB_'+@backupTime+'.bak'
    backup database DBName to disk=@fileName

    复制代码

    DBName就是你的数据库的名称了,备份的文件名形如 DB_201302252140.bak。

    2、写一个批处理文件,执行此sql脚本。

    例如:backup_database.bat ,我们也把它放在 F:\Database_Backup下。

    @echo off
    osql -S " MicroWin10-1536\SQLEXPRESS" -U "sa" -P "123" -i "F:\Database_Backup\backup.sql"

    双击运行批处理文件测试,如没有报错表示创建成功。

    注:如果批处理运行错误,在 批处理命令的后面加上 pause,批处理命令就不会闪过,可以查看出错信息

    3、新建一个Windows计划任务,定期(比如每天)执行此批处理命令。

    选择管理工具里的“计划任务”

    选择“创建基本任务”

    输入任务名称和描述

    选择执行时间

    选择操作为“启动程序”

    下一步的程序或脚本就选择我们建好的 backup_database.bat

     

    到此,定时备份已经做好了,到了时间自动进行备份

    但是还原备份时,显示

    System.Data.SqlClient.SqlError: 尚未备份数据库<数据库名称>的日志尾部。如果该日志包含您不希望丢失的工作,请使用 BACKUP LOG WITH NORECOVERY 备份该日志。请使用 RESTORE 语句的 WITH REPLACE 或 WITH STOPAT 子句来只覆盖该日志的内容。 (Microsoft.SqlServer.Smo)

    解决方法:

    经过网上查阅的资料,有两种方法可以解决,只需要在还原的时候使用下面两种方法中的一种:

    1、还原数据库时,点击选择页上的选项,勾选覆盖现有数据库(WITH REPLACE),点确定后即可成功还原数据库(推荐此方法)。

     

    2、进行还原操作时,点击选择页上的选项,勾选保持源数据库处于正在还原状态(BACKUP LOG WITH NORECOVERY),即可解决问题。

     

    从错误信息中我们可以看出,出现这种问题主要是在进行还原操作时,该Sql Server数据库正好在写入日志,所以导致操作冲突。上面的两种方法都可解决尚未备份数据库日志尾部的问题。

    定时删除文件

    至于删除过期的备份文件,我们也可以通过任务计划来完成。forfiles命令,可以实现批量删除文件,用法可以自行百度。我们写一个批处理文件delete_bakFile.bat,内容如下:


    forfiles /p F:\Database_Backup /m *.bak /d -7 /c "cmd /c del /f @path"
              在这里,我们删除7天以前的备份,同样地新建一个任务计划,将它执行的程序指向这个bat 即可,执行时间可以指定为一个月一次或一周一次等。

     

    本文是对网上资料数据库的定期备份和定期删除备份的整合,希望其他人也能用得上。

     

     

     

     

     

    更多相关内容
  • C#自动备份SqlServer 数据库源码,带配置功能强大 c#数据库备份源码
  • 改进的ASP备份SQL Server数据库,网上原理的不是很好,需要的朋友可以参考下。
  • 使用SQLServer2000自带的工具"SQL事件探查器",能够监视到所有执行的SQL语句。比如你不知道备份与恢复数据库该用什么SQL,那么可以运行探查器,然后到企业管理器里执行一下备份与恢复操作。就可以到探查器里找找结果...
  • 功能说明:备份SQLServer数据库,并压缩打包,传至远程FTP服务器,做到本地异地同时备份,可自动清理本地备份,自动保留N个最新备份(针对此种备份,不针对文件夹),老的备份自动删除;将此脚本加入系统任务计划,则...
  • 备份sqlserver数据库时候,虽然有自动备份的工具,但是并不保险,我们一般还会在进行物理备份,但这时候需要暂停SQLSERVER的服务,然后拷贝,最后在开启服务,这样是非常麻烦的,该脚本可以实现一键备份
  • sqlserver 程序化备份
  • Navicat备份sqlserver数据库

    千次阅读 2021-11-19 17:48:58
    Navicat备份sqlserver数据库 数据备份操作 1.连接sqlserver数据库,新建查询 2.增加查询语句根据实际数据库修改 use master declare @ls_time varchar(100) declare @ls_dbname varchar(100) set @ls_time = ...

    Navicat备份sqlserver数据库

    数据备份操作

    1.连接sqlserver数据库,新建查询
    在这里插入图片描述

    2.增加查询语句根据实际数据库修改

    use master
    declare @ls_time varchar(100)
    declare @ls_dbname varchar(100)
    set @ls_time = convert(varchar, getdate(), 112) + '_' + replace(convert(varchar, getdate(), 108), ':', '')
    
    -- 需要手动创建\data目录,更改hdkj为实际数据库名称
    set @ls_dbname = 'E:\data\' + @ls_time + '_hdkj.bak'
    -- 下面hdkj更改为实际数据库名称
    BACKUP DATABASE hdkj TO disk = @ls_dbname
    

    在这里插入图片描述

    3.创建自动运行任务,拖拽备份查询语句

    在这里插入图片描述
    在这里插入图片描述

    4.保存,设置任务计划,选择不管用户是否登录都要运行,选择触发器,根据需求设置实际时间,填写密码

    在这里插入图片描述

    在这里插入图片描述

    5.点击开始执行测试,备份完成
    在这里插入图片描述

    在这里插入图片描述

    数据恢复操作

    1.双击选中需要恢复的备份文件
    在这里插入图片描述

    2.复制还原地址,打开查询,新建查询
    在这里插入图片描述

    3.编写sql语句,修改数据库名称,修改备份地址

    use master;
    -- 实际还原的数据库名称
    RESTORE DATABASE [hdkj] 
    FROM
    -- 还原的备份地址
      DISK = N'E:\data\20211119_110038_hdkj.bak'
    WITH
      FILE = 1,
      REPLACE,
      RECOVERY,
      STATS = 5;
    

    在这里插入图片描述

    4.运行,中途如果出现错误,将连接关闭重新打开再执行查询语句

    在这里插入图片描述

    在这里插入图片描述

    展开全文
  • c#备份sqlserver数据库 c#备份sqlserver数据库 c#备份sqlserver数据库 c#备份sqlserver数据库 c#备份sqlserver数据库
  • sqlserver2017数据库的两种备份方式:1、自动备份,2、手动备份,具体介绍如何自动备份sqlserver数据库,如何配置自动备份方案,以及备份数据库的还原,分享在操作过程中遇到的问题
  • Python3写的脚本,windows上应用的,实现服务器上的数据库通过磁盘映射备份到本地其他机器上的共享文件夹中,服务器上指定文件夹下的文件也备份到指定共享文件夹中,并发邮件通知
  • Java SQL server 数据库备份
  • 数据库自动备份服务,带配置,还算可以吧 周末抽时间,编写了一个这样的工具,可以让,对数据库不了解或不熟悉的人,直接学会使用备份,省时省力,同样,我也将一份,通过脚本进行备份的,也奉献上来,
  • 备份SQL Server数据库

    2017-03-14 16:32:56
    备份SQL Server数据库
  • asp在线备份sql server数据库: 1、备份sqlserver 代码如下: <% SQL=”backup database 数据库名 to disk='”&Server.MapPath(“backup”)&”\”&”backuptext.dat”&”‘” set cnn=Server.createobject(...
  • CREATE DATABASE Db GO –对数据库进行备份 BACKUP DATABASE Db TO DISK=’c:\db.bak’ WITH FORMAT GO –创建测试表 CREATE TABLE Db.dbo.TB_test(ID int) –延时1秒钟,再进行后面的操作(这是由于SQL Server的时间...
  • 主要介绍了SqlServer备份数据库的4种方式介绍,本文讲解了用sqlserver的维护计划、通过脚本+作业的方式备份数据库(非xp_cmdshell和xp_cmdshell)、用powershell调用sqlcmd来执行备份命令几种方式,需要的朋友可以参考...
  • SQLServer数据库备份的使用

    千次阅读 2022-01-13 22:34:24
    SQLServer数据库备份的使用 方法一:使用SQL语句添加语句 1. 数据库备份 选择想要备份的数据库,”右键“→”任务“→”生成脚本“。 直接“下一步”。 选择好具体的数据库对象,然后点击“下一步”。 选择要保存...

    SQLServer数据库备份的使用

    方法一:使用SQL语句添加语句

    1. 数据库备份

    选择想要备份的数据库,”右键“→”任务“→”生成脚本“。

    在这里插入图片描述

    直接“下一步”。

    在这里插入图片描述

    选择好具体的数据库对象,然后点击“下一步”。

    在这里插入图片描述

    选择要保存的脚本选项,然后点击“下一步”。

    在这里插入图片描述

    默认选择“下一步”。
    在这里插入图片描述

    2. 数据库还原

    使用刚才生成的SQL语句,点击执行。即可在数据库中创建数据表。

    注意: 此处要注意的是,在新的数据库中创建一个数据库的名字,必须是跟之前的数据库名字保持一致。比如之前是PerformanceAppraisalDb,就要创建一个数据库名为PerformanceAppraisalDb的数据库。
    在这里插入图片描述

    注意: 此方法只会还原数据表,并不会对数据库进行添加数据项。

    方法二:使用备份还原方式

    1. 数据库备份

    选择要备份的数据库,“右键”→“任务”→“备份”。

    在这里插入图片描述

    留意好备份路径,点击“确定”进行备份。
    在这里插入图片描述

    2. 数据库还原

    在新数据库中,添加一个名字与之前备份的数据库名字相同的数据库。例如:PerformanceAppraisalDb

    在这里插入图片描述

    在新建的数据库中,“右键”→“任务”→“还原”→“数据库”。

    在这里插入图片描述

    选择“设备”,点击三个小点的按钮,打开资源管理器。在新弹出的窗口中,点击“添加”。
    在这里插入图片描述

    选择好备份的数据库脚本,点击确定。
    在这里插入图片描述

    此处不要着急点击"确定"。
    在这里插入图片描述

    在“选项”中,选中“覆盖现有数据库”,取消掉“日志相关的”。最后点击“确定”。
    在这里插入图片描述
    注意: 此方法的好处是可以备份到数据表内的数据项。

    展开全文
  • 第一种情况: 有RAID,还需要做数据库备份吗? 回答:需要。有了RAID,万一部份磁盘损坏,可以修复数据库,有的情况下数据库甚至可以继续使用。但是,如果哪一天,你的同事不小心删除了一条重要的记录,怎么办?RAID是...
  • 怎样将备份SQLServer数据库转换为SQLite数据库操作方法:先要安装好SQLServer2005,并且记住安装时自己设置的用户名和密码,感兴趣的朋友可以参考下啊,或许本文对你有所帮助
  • SQL Server 2005备份数据库还原到SQL Server 2012失败,错误信息如下: 解决方法 由于是还原完整数据库备份,因此删除SQL Server 2012同名数据库再还原,还原成功:   您可能感兴趣的文章:SQL Server 2005...
  • 主要介绍了通过Windows批处理命令执行SQL Server数据库备份的相关资料,需要的朋友可以参考下
  • 可能许多同学对SQL Server备份和还原有一些了解,也可能经常使用备份和还原功能,我相信除DBA之外我们大部分开发员... SQL Server 2012对数据库备份和还原与SQL Server 2008基本没有太大变化,仅对还原时间点选择UI
  • 有时候完全备份, 当还原的时候说不时数据库文件不让还原, 解决办法: 可以直接复制数据库文件, xxx.mdf 和 xxx.ldf (实际复制过程中需要先停止sqlserver服务才可以)用 sp_attach_db 存储过程 就能搞定. 示例 下面的...
  • ASP.NET中备份SQL Server数据库的方法.docASP.NET中备份SQL Server数据库的方法.doc
  • 通过SQLSERVER维护计划 进行自动备份数据库,且保留最近几周的备份文件。
  • NULL 博文链接:https://wang-z-p2007.iteye.com/blog/908050
  • SQL Server 备份 前言 为什么要备份?理由很简单——为了还原/恢复。当然,如果不备份,还可以通过磁盘恢复来找回丢失的文件,不过SQL Server很生气,...SQL Server 目前版本中,可用的备份类型有:完整数据库备份、差
  • SQL Server 数据库备份和恢复数据库

    千次阅读 2022-04-11 22:14:48
    数据库备份 数据库的恢复

    1. 概述

    在一些对数据可靠性要求很高的行业,若发生意外停机或数据丢失,其损失是十分惨重的;
    数据库管理员应针对具体的业务要求指定详细的数据库备份与灾难恢复策略,并通过模拟故障对每种可能的情况进行严格测试,只有这样才能保证数据的高可用性;
    数据库的备份是一个长期过程,而恢复只在发生事故后才能进行,恢复后可看做是备份数据库的逆过程,恢复程度的好坏很大程度上依赖于备份的情况;
    数据库管理员在恢复时采取的步骤正确与否也会直接影响最终的恢复结果;

    2. 备份类型

    备份数据库是指对数据库或事务日志进行复制,当系统,磁盘或数据库文件损坏时,能使用备份文件进行恢复,防止数据丢失;
    SQL Server 数据库备份支持以下几种类型,分别应用于不同的场合:

    1. 仅复制备份
      独立于正常 SQL Server 备份序列的特殊用途备份;

    2. 数据备份
      完整数据库的数据备份(数据库备份)、部分数据库的数据备份(部分备份)或一组数据文件或文件组的备份(文件备份);

    3. 数据库备份
      数据库的备份,完整数据库备份表示备份完成时的整个数据库;差异数据库备份植保会自最近完整备份以来对数据库所做的更改;

    4. 差异备份
      基于完成数据库或部分数据库以及一组数据文件或文件组的最新完整备份的数据备份(“差异基准”),仅包含自差异基准以来发生了更改数据区;部分差异备份仅记录自上一次部分备份(称为“差异基准”)以来文件组中发证更改的数据区;

    5. 完整备份
      一种数据备份,包含特定数据库或者一组特定的文件组或文件中的所有数据,以及能恢复这些数据的足够的日志;

    6. 日志备份
      包括以前日志备份中未备份的所有日志记录的事务日志备份,完整恢复模式;

    7. 文件备份
      一个或多个数据库文件或文件组的备份;

    8. 部分备份
      仅包含数据库中部分文件组的数据(包含主要文件组、每个读/写文件组以及任何可选指定的只读文件中的数据);

    3. 恢复模式

    恢复模式在控制事务日志维护,提供给用户选择;SQL Server 数据库中有3中恢复模式:简单恢复模式、完全恢复模式、大容量日志恢复模式;
    通常,数据库使用完全恢复模式或简单恢复模式;

    3.1 简单恢复模式

    简单恢复模式能最大限度地减少事务日志的管理开销,因为它不备份事务日志;若数据库损坏,则简单恢复模式将面临极大的工作丢失风险,数据只能恢复到已丢失数据的最新备份
    所以,在简单恢复模式下,备份间隔应尽可能短,以防止大量丢失数据,但,间隔的长度应该足以避免备份开销影响生产工作;在备份策略中加入差异备份有助于减少开销;
    对于用户数据库,简单恢复模式用于测试和开发数据库,或用于主要包含只读数据的数据库(如数据仓库);简单恢复模式并不适用生产系统,因为对于生产系统来说,丢失最新的更改是无法接受的,在这种情况下建议使用完全恢复模式;

    3.2 完全恢复模式和大容量日志恢复模式

    相对于简单恢复模式,完全恢复模式和大容量日志恢复模式提供了更强的数据保护功能;这些恢复模式基于备份事务日志来提供完整的可恢复性及在最大范围的故障情形内防止丢失工作;

    1. 完全恢复模式
      完全恢复模式需要日志备份;此模式完整记录所有事务,并将事务日志记录保留到对其备份完毕为止;若能够在出现故障后备份日志尾部,就能使用完全恢复模式将数据库恢复到故障点;完全恢复模式也支持还原单个数据页;

    2. 大容量日志恢复模式
      大容量日志记录大多数大容量操作,他只用在完全恢复模式的附加模式;对于某些大规模大容量操作(如大容量导入或索引创建),暂时切换到大容量日志恢复模式可提供性能并减少日志空间使用量;与完全恢复模式相同,大容量日志恢复模式也能将事务日志记录保留到对其备份完毕为止;

    注意: 由于大容量日志恢复模式不支持时点恢复,所以必须在增大日志备份与增加工作丢失风险之间进行权衡;

    4. 备份数据库

    为了方便用户,SQL Server 数据库支持用户在数据库在线并正在使用时进行备份;
    但,存在以下限制:

    1. 无法备份脱机数据; 隐式或显式引用脱机数据的任何备份操作都会失败;即使一个或多个数据文件不可以,日志备份也能成功;

    注意: 若某个文件包含大容量日志恢复模式下所作的大容量日志更改,则所有文件都必须处于联机状态才能成功备份;

    1. 备份过程中的并发限制; 数据库仍在使用时,SQL Server 能使用联机备份过程来备份数据库;在备份过程中,能进行多个操作;但,若正在创建或删除数据库文件时尝试启动备份操作,则备份文件将等待,直到创建或删除完成或备份超时;

    若备份操作与文件管理操作或收缩操作重叠,就会发生冲突;无论哪个冲突操作首先开始,第二个操作总会等待第一个操作设置的锁超时(超时期限由会发超时设置控制);若在超市期限内释放锁,第二个操作将继续执行;若锁超时,则第二个操作失败;

    使用 SSMS 继续备份的过程如下:

    1. 右击要备份的数据库,任务备份20220322

    2. 先删除,再添加;2022032220220322

    3. 在弹出的选择备份目标对话框汇总,选择好备份的路径;文件类型选择备份文件文件名 填写需要备份的数据库的名称,最好在备份的数据库的名称后加上日期,方便以后查找,再连续单击确定,即可完成备份;20220322
      20220322
      20220322

    5. 恢复数据库

    数据库完整还原的目的还是还原整个数据库,真个数据库在还处于脱机状态
    在数据库的任何部分变成联机之前,必须将所有数据恢复之前,必须将所哟数据恢复到同一点,即数据库的所有部分都处于同一时间点并不存在未提交的事务;
    简单恢复模式下,数据库不能还原到特定备份中的特定时间点;
    完整恢复模式下,还原备份数据库之后,必须还原所有后续的事务日志备份,再恢复数据库,能将数据库还原到这些日志备份之一的特定恢复点;恢复点可以是特定的日期和时间、标记的事务或日志序列号,还原数据库时,特别是在完整恢复模式大容量日志恢复模式下,应使用一个还原顺序;
    注意: 还原顺序由通过一个或多个还原阶段来移动数据的一个或多个还原操作组成;

    用 SSMS 对象管理资源管理器恢复数据库,操作步骤如下:

    1. 展开数据库,根据具体的数据库选择一个用户数据库,或展开系统数据库并选择一个系统数据库;右击数据库,单击还原数据库20220322
    2. 常规,使用部分指定要还原的备份集和位置;在目标部分,数据库文本框自动填充要还原的数据库的名称;
      若要更改数据库名称,可在数据库文本框中输入新名称;
      还原到框中,保留默认选项至最近一次进行的备份,或单击时间线访问备份时间线,以手动选择要停止恢复的时间点;
      20220322
      20220322
      20220322
    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 169,645
精华内容 67,858
关键字:

备份sqlserver数据库