TSQL:如何在SQLServer实例之间移动数据?

时间:2012-04-27 21:57:00

标签: tsql azure azure-sql-database

我有两个SQLSever实例,每个实例都有相同的架构。一个是在SQLAzure中运行,另一个是标准的SQLServer 2008实例。我需要将数据从Azure数据库复制到我的本地实例。

基本上我想这样做:

insert LOCAL_TABLE (col1, col2)
select col1, col2
from AZURE_TABLE

我该怎么做?

5 个答案:

答案 0 :(得分:3)

为了在SQL Server之间移动数据,如果其中一个是SQL Azure,你有几个选择:

  1. SQL Azure Data Sync
  2. Using SSIS
  3. 编写自己的代码,用于移动数据,最有可能使用SqlBulkCopy类。
  4. 如果您只想复制所有数据,也可以使用SQL Azure Migration Wizard - 您可以省略处理架构的选项,并让它只复制数据。
  5. 修改

    而且,根据Matthew PK的原始答案,您可以将链接到您的SQL Azure服务器来自您的本地服务器,但这只是一个选项。你只想做一些临时测试。我不会在生产中使用这种方法来不断同步数据。

答案 1 :(得分:1)

您可以使用链接服务器在单个语句中完成此操作 http://msdn.microsoft.com/en-us/library/ms188279(v=sql.100).aspx

编辑:这是一个链接,它可以解释如何链接到SQL Azure:
http://blogs.msdn.com/b/sqlcat/archive/2011/03/08/linked-servers-to-sql-azure.aspx

编辑:以下是使用SSMS连接Azure的说明 http://www.silverlighthack.com/post/2009/11/11/Connecting-to-SQL-Azure-with-SQL-Server-Management-Studio-2008-R2.aspx

否则我认为你需要在两个陈述中这样做。

答案 2 :(得分:0)

链接服务器不受官方支持。但是,以下是一些支持的资源,可以帮助您完成所需的工作:

1)查看SQL Azure Dac示例:http://sqldacexamples.codeplex.com/

2)其他选项是SQL Azure Data SYNC。

答案 3 :(得分:0)

使用redgate的"SQL Data Compare"等产品。我不是Azure用户,但我猜它会起作用,我已经使用了几年而且非常可靠。

答案 4 :(得分:0)

这是一次性复制还是正在进行? 如果是一次性,则使用SQL Azure迁移向导(来自Codeplex) 如果正在进行,则使用SQL Azure数据同步

此外,您可以验证架构是否符合VS中的SQL Server数据工具,只需将目标设置为SQL Azure或SQL Server 2012或2008,然后构建并显示任何/所有架构错误。