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 / 问题 / 699944
Accepted
dlyk1988
dlyk1988
Asked: 2015-06-19 03:27:56 +0800 CST2015-06-19 03:27:56 +0800 CST 2015-06-19 03:27:56 +0800 CST

跨 2 个不同的 MSSQL 服务器复制数据库表

  • 772

我有 2 个 MSSQL 服务器正在运行,它们的数据集或多或少相同。这实际上是一个生产/开发设置。

现在,我的工作流程是这样的。每天对生产服务器上的每个数据库进行备份。我通过 Internet(10 千兆字节)将备份传输到开发服务器。我使用生产服务器的备份“恢复”开发服务器上的数据库,这样我就有了一个当前数据集。

我的问题是这样的:

是否有一种简单快捷的方法可以从 MSSQL 服务器数据库中“导出”单个表并将其导入不同 MSSQL 服务器的数据库中?

我对“最佳实践”类型的操作更感兴趣,而不是一些陪审团操纵的 POS 技巧。

更新

经过一番谷歌搜索后,我发现了 MSSQL Server 的一个函数,该函数生成一个脚本,该脚本导出表并在运行时导入它。我不能使用它,因为我需要在另一个服务器中导入表。

sql-server
  • 2 2 个回答
  • 7140 Views

2 个回答

  • Voted
  1. JayMcTee
    2015-06-19T04:50:49+08:002015-06-19T04:50:49+08:00

    导出部分已在 DBA 得到解答:

    https://dba.stackexchange.com/questions/25755/taking-a-backup-of-a-single-table-in-the-sql-server

    Stackoverflow 上也多次回答了如何在 SQL Server 上导出单个表:

    https://stackoverflow.com/questions/680552/table-level-backup

    https://stackoverflow.com/questions/19698310/backup-a-single-table-with-its-data-from-a-database-in-sql-server-2008

    谷歌产生另一种方式:

    https://social.msdn.microsoft.com/Forums/sqlserver/en-US/923d1a5a-2f21-4193-9513-ab944145a58f/exporting-a-single-table-from-a-database

    导出单个表后,通过任何方式(例如 rsync,或 SFTP、scp)传输该表,然后将其导入。

    • 1
  2. Best Answer
    Frank
    2015-06-20T05:48:25+08:002015-06-20T05:48:25+08:00

    您还可以在目标服务器上按 SQL 直接获取数据。如果您有网络访问权限:

    SELECT a.*
    INTO <YOUR TARGET TABLE>
    FROM OPENROWSET('SQLNCLI', 'Server=<IP/SERVERNAME>;Trusted_Connection=yes;',
         'SELECT *
          FROM <YOUR TABLE>
          ') AS a;
    

    但是您必须自己创建索引。

    或者您使用 INSERT:

    INSERT INTO 
    <YOUR TARGET TABLE>
    FROM OPENROWSET('SQLNCLI', 'Server=<IP/SERVERNAME>;Trusted_Connection=yes;',
             'SELECT *
              FROM <YOUR TABLE>
              ') AS a;
    
    • 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