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 / 问题 / 783837
Accepted
Z Holt
Z Holt
Asked: 2016-06-15 04:13:27 +0800 CST2016-06-15 04:13:27 +0800 CST 2016-06-15 04:13:27 +0800 CST

将 MS SQL 数据库传输到其他服务器 - 最佳实践

  • 772

将数据库从一台服务器移动到另一台服务器的最佳方法是什么

a)停止数据库>创建数据库备份>恢复到“其他服务器”

b) 分离数据库 > 将 ldf 和 mdf 文件移动到新服务器并重新指向数据库

谢谢

sql-server
  • 1 1 个回答
  • 104 Views

1 个回答

  • Voted
  1. Best Answer
    yagmoth555
    2016-06-15T04:42:04+08:002016-06-15T04:42:04+08:00

    我比较喜欢的方法:

    方法一:备份和恢复

    用户数据库 在源服务器上备份用户数据库,然后将用户数据库恢复到目的服务器。

    备份过程中可以使用数据库。如果用户在备份完成后对数据库执行 INSERT、UPDATE 或 DELETE 语句,则备份将不包含这些更改。如果您必须传输所有更改,那么如果您同时执行事务日志备份和完整数据库备份,则可以在最短的停机时间内传输更改。在目标服务器上恢复完整的数据库备份并指定 WITH NORECOVERY 选项。

    注意为了防止额外的数据库修改,指示用户停止源服务器上的数据库活动。
    使用 WITH RECOVERY 选项执行事务日志备份并将事务日志备份还原到目标服务器。停机时间仅限于事务日志备份和恢复的时间。有关详细信息,请参阅 SQL Server 联机丛书的“Transact-SQL 参考”主题中的“RESTORE”子主题。

    目标服务器上的数据库将与源服务器上的数据库大小相同。要减小数据库的大小,您必须在执行备份之前减小源数据库,或者在还原完成后减小目标数据库。有关详细信息,请参阅 SQL Server 联机丛书的“创建和维护数据库”标题中的“缩小数据库”子主题。

    如果将数据库恢复到与源数据库不同的文件位置,则必须指定 WITH MOVE 选项。例如,在源服务器上,数据库位于 D:\Mssql\Data 文件夹中。目标服务器没有 D 盘,您想将数据库还原到 C:\Mssql\Data 文件夹。有关如何将数据库还原到其他位置的详细信息,请单击以下文章编号以查看 Microsoft 知识库中的文章:

    221465 将 WITH MOVE 选项与 RESTORE 语句一起使用
    304692 将 SQL Server 7.0 数据库移动到新位置备份还原

    如果要覆盖目标服务器上预先存在的数据库,则必须指定 WITH REPLACE 选项。有关详细信息,请参阅 SQL Server 联机丛书的“Transact-SQL 参考”主题中的“RESTORE”子主题。

    根据您还原到的 SQL Server 版本,源服务器和目标服务器上的字符集、排序顺序和 Unicode 排序规则可能必须相同。有关详细信息,请参阅本节后面的“关于排序规则的说明”。

    我喜欢这种方法,因为如果移动不起作用,旧服务器仍然可以正常工作。

    有关更多详细信息:如何在运行 SQL Server 的计算机之间移动数据库

    • 1

相关问题

  • sql server 连接字符串上的网络数据包大小以提高吞吐量

  • 基于 Microsoft 的服务器(IIS、MSSQL 等)上的病毒扫描应排除哪些内容?

  • SQL 洗衣清单

  • OPENROWSET、二进制文件、varchars 和 varbinaries

  • 聚集索引与非聚集索引?

Sidebar

Stats

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

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

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

    • 9 个回答
  • Marko Smith

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

    • 3 个回答
  • Marko Smith

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

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +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