我有两个SQLSever实例,每个实例都有相同的架构。一个是在SQLAzure中运行,另一个是标准的SQLServer 2008实例。我需要将数据从Azure数据库复制到我的本地实例。
基本上我想这样做:
insert LOCAL_TABLE (col1, col2)
select col1, col2
from AZURE_TABLE
我该怎么做?
答案 0 :(得分:3)
为了在SQL Server之间移动数据,如果其中一个是SQL Azure,你有几个选择:
修改强>
而且,根据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,然后构建并显示任何/所有架构错误。