技术开发 频道

SQL Server数据迁移至云端应用技巧谈

  只要你用对联机的方法(ODBC、ADO.NET、OLE DB)并且对外的网络通畅,应该就能顺利存取:

  (1)初次使用,最常用的应该会是现有的SQL Server 2008 SSMS管理工具来连结,虽然SQL Azure 与SQL Server并不完全兼容,但是使用SSMS是最

  容易顺利连上一种方式。首先正确的输入下列信息:

  Server name 请输入:[你的sql azure server name].database.windows.net账号则输入:[你的sql azure 账号]@[你的sql azure server name]

  连进去后,SSMS 会自动记住这个账号,便利下一次的操作(好的设计)。

 
图2 SSMS连接方式

  如下的联机错误信息,表示你尚未在SQL Azure的防火墙(Firewall)之下设定你要通过的IP为位置值。

 
图3 联机错误信息

  可以使用SQLCMD这个DOS下的工具来做联机及管理。这个工具位于你本地端的SQL Server安装位置的\Tools\Bin文件夹下。以下是简单的示例:

  联机:sqlcmd -S [servername].ctp.database.windows.net -U

  [username]@[servername] -d [database name]

  密码:

  执行命令:首先建立table,注意在SQL Azure 上面的table 一定要有clustered index (例如:xxxx.dbo,index 指的就是.dbo)。 

 create table jobs

  (

  job_id smallint identity(
1,1) primary key clustered,

  job_desc varchar(
50) not null

  )

  go

  理由:这是因为SQL Azure会自动帮你做Table Partitioning以提供Scalability

  能力的缘故。

  插入资料:

 insert into jobs(job_desc) values('manager: this is job titled

  manager
')

  go

  信息:(1个受影响的数据列)

  查询: 1>select * from jobs

  2>go

  job_id job_desc

  (3)透过ODBC 的方式连结,使用windows的ODBC数据源管理员一样,输入server位置、账号、密码后进行联机。

  (4)透过ADO.NET来联机,只要Connection String 的设定正确,是可以正常用ADO.NET来存取到的,但如果你是在公司内部开发,那么要注意对外联机1433 port是否有被firewall阻隔。

  (5)透过3rd party tool大部分现成的SQL联机工具都能再正确设定后立即联机到您的SQL Azure。

  总结: 本文对现有数据迁移转换到云端SQL Azure服务的方法进行了较细致的介绍,并且对云端采用的解决方法、使用Blobs和SQL Azure的存取方式也做了分析和讲述,从而使得读者进一步认识数据迁移到云的方法和技巧。

0
相关文章