SQL Server数据库远程传输-最佳方法



我有两个数据库,一个在远程服务器上,另一个在本地服务器上。(SQL Server 2008)

我的本地服务器上的数据库有整个结构设置,但没有数据。我想把数据从远程服务器复制到我的服务器上,我想知道最好的方法。

我遇到的主要问题是,我对远程数据库的访问权限有限。我无法读取存储过程、用户定义的函数,因此当我使用导入/导出向导时,我无法获得架构等。因此,常规转储/还原对我来说不起作用,因为它还原的表没有主键/外键和存储过程。

我想这样做,

INSERT INTO localtable SELECT * FROM remotedb.table

由于IDENTITY字段的原因,我遇到了问题,并且我必须显式地命名所有列。此外,我不确定SQL Server Management Studio是否允许您使用两个不同的数据库,远程数据库和本地数据库,所以我一直在寻求任何建议。

我也尝试过像SQL FTP和Backup这样的应用程序,但它失败了,因为内存不足(我在机器上有16GB的内存,DB大约是4GB)。我也可以使用SQL Server导入/导出向导,但无法获得架构信息。我还尝试了RedGate的SQLCompare,但它遇到了权限问题。不幸的是,我没有时间请求和访问新用户,所以我希望有人有一个创造性的想法。

  1. 为此,您绝对可以使用SQL Server备份。它不会耗尽内存。如果是,请告诉我们信息(因为你可能误解了它)。这是最快、最完整的解决方案
  2. 您可以告诉导出向导也为架构编写脚本。它隐藏在"高级"的某个地方(糟糕的UI)。但这个剧本会非常大,我不知道如何执行
  3. 可以删除目标数据库中除PK之外的所有架构对象。然后,您可以使用远程查询来复制所有数据。如果事先放弃,则不会在外键和标识列方面遇到任何问题。完成后,您可以重新创建所有这些对象。最好使用事务来完成所有这些,因为这样可以从某个时间点获得一致的源数据

最新更新