AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 855
Accepted
Swinders
Swinders
Asked: 2009-05-01 06:15:44 +0800 CST2009-05-01 06:15:44 +0800 CST 2009-05-01 06:15:44 +0800 CST

如何备份 SQL Server(2000 和 2005)数据库?

  • 772

目前,我们使用软件备份我们的 MSSQL 2000 和 2005 数据库,以便每晚将文件复制到磁带。数据库大小为 14-16Gb 和 500Mb。

由于 SQL Server 可以将数据库备份到文件,我们是否会更好地安排 SQL Server 创建备份文件,然后将这些文件备份到磁带?此外,如果我们使用这种方法,是否有可能以某种方式创建自上次备份以来已完成的事务日志,以便我们可以重新创建数据库并应用其他事务?

sql-server backup
  • 6 6 个回答
  • 4434 Views

6 个回答

  • Voted
  1. Guy
    2009-05-01T06:24:13+08:002009-05-01T06:24:13+08:00

    注意:我对 SQL Server(所有版本)最大的错误是事务日志备份。

    我们每 30 分钟运行一次 SQL 数据库的夜间和事务日志的完整备份,备份到磁盘(在另一台服务器上,不同的 SAN 上)到带有日期标记的文件(相当简单的 SQL 脚本和 SSIS)。

    我们的脚本还创建了“restore.sql”脚本来恢复上一次完整备份和截至该日期的所有事务日志。

    然后我们压缩超过 2 天的文件,删除任何超过 30 天的文件(但将月末备份保存在存档中)。我们在异地复制这个驱动器(我们很幸运,大型站点之间有 200 英里,并且它们之间有大型 WAN 连接。)

    然后我们将其备份到磁带上。(皮带、牙套和更多牙套!主要是出于政治原因)

    我们运行了大量的 SQL Server 数据库,而商业工具要么太贵,要么就是不给我们带来实惠。但我会推荐 RedGate SQLBackup 用于较小的安装

    • 2
  2. Best Answer
    Michael K Campbell
    2009-05-01T08:35:00+08:002009-05-01T08:35:00+08:00

    确实没有理由不使用 SQL Server 的本机备份功能。它很棒,可以理解事务日志,并为您提供所需的大部分功能。(第三方 SQL Server 备份解决方案非常棒,因为它们与 Microsoft 公开的 API 配合使用,并且通常提供加密和压缩支持 - 压缩不仅可以节省磁盘空间,而且通常可以减少备份和恢复时间。)

    所以是的...我建议使用 SQL Server 进行备份。

    并确保定期备份事务日志。(我建议每 15 分钟或更短时间进行一次 - 定期日志文件备份有助于保持日志文件精简/平均1,并且由于某种原因,最终用户在服务器崩溃时总是脾气暴躁,他们必须重做所有工作自上次日志文件或完整/差异备份以来的最后 x 小时。)然后,出于冗余目的,使用 robocopy、syncback、文件系统复制或其他东西将这些备份的副本移动到另一个位置,以防止硬件/磁盘崩溃或火灾数据中心等。

    随意查看这两个免费视频以获取更多信息和想法:

    http://www.sqlservervideos.com/video/backup-options

    http://www.sqlservervideos.com/video/sqlbackup-best-practices/

    [ 1 ] [SQL Server 杂志:最大化存储性能] 3

    • 2
  3. codeulike
    2009-05-02T05:01:40+08:002009-05-02T05:01:40+08:00

    您的意思是您当前将数据库 MDF 和 LDF 文件备份到磁带?我认为这可以,只要数据库在您执行此操作时处于脱机状态(即数据库分离或 SQL 服务关闭),但如果您在使用数据库时尝试这样做,您可能最终会得到备份不起作用,因为文件在复制时会发生变化。

    根据我的经验,创建完整的 SQL 备份并将其放到磁带上更为常见。

    此外,为了回答您的第二个问题,SQL Server 确实支持事务日志备份。有关完整恢复模型的 MSDN 文档将是开始阅读的好地方。

    • 1
  4. K. Brian Kelley
    2009-05-02T05:53:40+08:002009-05-02T05:53:40+08:00

    正如您从答案中看到的那样,大多数人先备份到磁盘,然后再备份到磁带。我经常看到(并推荐)的是立即备份到服务器本身的磁盘(这可能是 SAN 附加存储,关键是备份不是通过网络写入的)。完成此即时备份后,会将其复制到中央备份服务器。您保留需要在本地恢复的内容的即时副本。在该备份服务器上,您保留了几天的备份。这样,如果您确实必须回滚到前一两天,您就不需要磁带。当然,您还可以将中央备份服务器备份到磁带上。所以这涵盖了你的恢复能力。

    关于您应该执行的备份类型,如果您想恢复所有事务并能够执行我们所说的时间点恢复,您需要确保数据库将其恢复模式设置为完全恢复,并且您将要进行完整备份以及事务日志备份。您可能希望散布差异备份以减少要还原的文件数量。所有这些都包含在在线书籍中,它会比我们任何人在论坛帖子中提供更好的描述。

    就 LiteSpeed 和 Red Gate 的 SQL Backup 等 3rd 方产品而言,它们曾经比原生备份更快。那是因为他们使用了 SQL Server 没有的 API。在 SQL Server 2000 中确实如此,但我不确定是否仍然如此。但是,它们会进行加密和压缩,因此考虑到数据库的大小,可能非常值得考虑。

    • 1
  5. nedm
    2009-05-11T23:27:59+08:002009-05-11T23:27:59+08:00

    脚本备份到磁盘很容易并且操作非常快速:

    osql -S [ip_of_server] -Q "备份数据库[database_name]到磁盘 = 'C:\Backups\Backup.bak'"

    使用 UNC 路径通过网络备份到不同位置(无论如何这不是一个好主意)不起作用。无论如何,在本地进行备份并将它们加密存储更容易。

    硬盘便宜,而且越来越可靠。我们不久前就扔掉了磁带,再也没有回头。

    • 1
  6. djangofan
    2009-06-12T12:03:46+08:002009-06-12T12:03:46+08:00

    我更喜欢这些说明: http ://www.sqldbtips.com/showarticle.asp?ID=27

    • 1

相关问题

  • 10TB数据和3台服务器的备份解决方案

  • 最佳混合环境(OS X + Windows)备份?[关闭]

  • 在 SQL Server 中,何时应将 PRIMARY Data FileGroup 拆分为辅助数据文件?

  • 如何从 SQL Server 2008 中的备份中排除索引

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve