我有 2 个 MSSQL 服务器正在运行,它们的数据集或多或少相同。这实际上是一个生产/开发设置。
现在,我的工作流程是这样的。每天对生产服务器上的每个数据库进行备份。我通过 Internet(10 千兆字节)将备份传输到开发服务器。我使用生产服务器的备份“恢复”开发服务器上的数据库,这样我就有了一个当前数据集。
我的问题是这样的:
是否有一种简单快捷的方法可以从 MSSQL 服务器数据库中“导出”单个表并将其导入不同 MSSQL 服务器的数据库中?
我对“最佳实践”类型的操作更感兴趣,而不是一些陪审团操纵的 POS 技巧。
更新
经过一番谷歌搜索后,我发现了 MSSQL Server 的一个函数,该函数生成一个脚本,该脚本导出表并在运行时导入它。我不能使用它,因为我需要在另一个服务器中导入表。
导出部分已在 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)传输该表,然后将其导入。
您还可以在目标服务器上按 SQL 直接获取数据。如果您有网络访问权限:
但是您必须自己创建索引。
或者您使用 INSERT: