2

我使用来自http://sqlazuremw.codeplex.com/的向导将我的数据库从:

Microsoft SQL Server 2008 (SP3) - 10.0.5500.0 (X64) 
Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (VM)

Microsoft SQL Azure (RTM) - 11.0.9164.122 

效果很好,但是有一张表包含超过 1 GB 的垃圾数据。所以我停止了这个过程。现在它复制了一个表结构,但忘记填充内容。我将不得不使用查询手动修复此问题:

-- when connected to the azure db
select into azureDb.dbo.tablename select * onPremisesServer.onPremisesDb.dbo.tablename

但是当我执行它时,我得到:

消息 40515,级别 15,状态 1,第 16 行
对“onPremisesServer.onPremisesDb.dbo.tablename”中的数据库和/或服务器名称的引用在此版本的 SQL Server 中不受支持。

我发现无法让链接服务器在 Sql Azure 中工作,它说它与客户端相关。所以我查找了我的 SSMS 版本:

  • Microsoft SQL Server 管理工作室 11.0.3128.0

所以这不会导致这种情况。我也遇到了“onPremisesServer”只是一个 IP 地址的问题,不得不执行select name from sys.servers以查找服务器别名,而不是使用 [ipadres] 来表示 onPremisesServer。仍然无法让它工作。这些表具有完全相同的架构。

编辑如 DeicLone123 所述,我使用了导入和导出数据。我已在 azure 上将表重命名为 tablename-old 并运行向导并得到: 在此处输入图像描述

4

1 回答 1

1

我再次从http://sqlazuremw.codeplex.com/使用 3.x来迁移最后一个表。就这么简单!手动传输数据、列类型等真的很痛苦。所以这个开源迁移工具真的很推荐!

于 2013-11-01T10:08:25.910 回答