跨服务器数据库操作

在涉及老项目数据迁移的时候,数据库结构已经完全发生变化,而且需要对老数据进行特殊字段的处理,而且数据量较大,使用Navicat导出单表之后,一个表数据大概在100多万的样子,直接导出SQL执行根本行不通,执行到一般就GG。

 

之后尝试使用LINQ PAD直接操作两个数据库进行数据迁移,搜索一番,得知LINQ
PAD是支持多数据库操作的,而且也是支持linked SqlServer。

本篇体验使用SQL Database Migration
Wizard(SQLAzureMW)将SQL Server
2008数据库迁移到 Azure SQL Database。当然,SQLAzureMV还可以把SQL Server
2005/2012/2014迁移到Azure SQL Database。

首先,我们先在新数据库的服务器上,打开SQL Server Management
Studio,连接上数据库,然后在服务器对象上找到链接服务器,右键链接服务器选择新建链接服务器,如下图:

 

图片 1

SQLAzureMV有几个版本:
1、SQLAzureMW v3x 适用于 .NET Framework 3.5 和 SQL Server 2008 R2 SP1
2、SQLAzureMW v4x 适用于  .NET Framework 4.5 和 SQL Server 2012
3、SQLAzureMW v5x 适用于 .NET Framework 4.5 和 SQL Server 2014

链接服务器:填写你要关联的服务器IP地址
服务器类型:选择其他数据源。
提供程序:这里因为我是安装了Navicat for
premium的,所以我直接选择的他的SQL提供程序。
数据源:这里还是填写关联服务器IP地址。

 

然后我们来到安全性:

所有的版本下载在这里。

图片 2

 

选择使用此安全上下文建立链接,然后填上你远程服务器的登陆用户名以及密码即可。

→登录到Windows Azure的”管理门户”

然后我们打开Linq Pad,这里我是使用的LINQ PAD
5,新建一个链接,一直Next,然后到这个界面:

→点击左侧的”SQL数据库”

图片 3

→点击页面左下方的”新建”
图片 4
选择合适的”服务层”版本,选择默认的排序规则是”SQL_Latin1_General_CP1_CI_AS”,选择服务器,点击右下角的”打勾”按钮。

选择Include additional databases,之后会弹出如下界面:

 

图片 5

如果还没有创建服务器,先创建服务器:
图片 6
点击右下角的”打勾”按钮。

上面选择你主数据库,下面不要点Pick from
list来选择数据库,会提示找不到任何链接服务器,这里你手动点击一个条目,在Server
填上你刚才添加的服务器IP,后面database填上你要附加的数据库确定即可。
然后成功之后,你的连接就会成这个样子:
图片 7

→点击左侧的”SQL数据库”

然后你就可以直接用C#来进行操作了。

→点击”服务器”

→点击服务器名称

→点击”配置”

→点击”添加到允许的IP地址”,把当前的ip地址添加到”白名单”,点击”保存”。
图片 8

 

→双击”SQLAzureMV.exe”

→在界面中勾选”数据库”,点击”下一步”
图片 9

→在”连接到数据库…”窗口中,勾选”SQL
Server身份验证”,填写用户名和密码,指定数据库名称,勾选”保存登录信息”,点击”连接”按钮
图片 10

→在界面中点击”下一步”

→在界面中勾选”为所有对象生成脚本”,点击”下一步”
图片 11

→在”脚本向导汇总”界面中,点击”下一步”
图片 12
跳出”生成脚本”提示框,点击”是”

→在”结果汇总”界面中,有”执行结果”和”SQL脚本”选项卡,点击”下一步”
图片 13

注意:如果生成的SQL脚本中有错误、或者不兼容情况,会以红色字体显示,这时候可以把SQL脚本保存到硬盘,再到SQL
Server Management
Studio中进行修改,修改后,可以在SQLAzureMV直接打开修改好的SQL脚本文件。

→到”管理门户”中复制服务器名称,类似”xxxxxx.database.chinacloudapi.cn”的格式,填写如下:
图片 14

注意:在用户名称栏,填写可是符合”服务器名称@xxxxxx”,@后面的xxxxxx与”xxxxxx.database.chinacloudapi.cn”中的xxxxxx一致。上图中的用户名是不对的。
在跳出的”执行脚本”提示框中,点击”是”。

 

点击”连接”。

→在界面中点击”下一步”
图片 15

迁移成功显示如下界面:
图片 16

→点击”退出”。

 

→打开”SQL Server Management Studio”,在界面中填写相关信息,点击”连接”
图片 17

 

注意:

服务器名类似”xxxxxx.database.chinacloudapi.cn”的格式,用户名类似”服务器名@xxxxxx”的格式。
○ 还可以通过
来判断地址、用户名、密码是否正确。
○ 如果Sql Sever
2008还没有允许远程连接,参照这里。

 

→登录成功后,显示如下界面:

图片 18

 

至此,使用SQL Database Migration Wizard(SQLAzureMW)将SQL Server
2008数据库迁移到 Azure SQL Database,成功!

 

 

 

 

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website