1  /  1  页   1 跳转 查看:3619

微软的云数据库SQL Azure

微软的云数据库SQL Azure

微软的云数据库SQL Azure


--王成辉翻译整理,转帖请注明出自微软BI开拓者www.windbi.com

--原帖地址



前言


SQL Azure是微软提供的一个云数据库系统。起初,该产品称作SQL Data ServicesSDS。现在它重新命名了,它的特点也得到了扩展。其中一个新特点,也是本文要介绍的新特点,就是它可以用TSQL来管理、创建、操作云数据库了。TSQL是为数据库管理的SQL Server本机语言。TSQL起初在大多数云数据库系统包括Azure上不被支持。然而,又要要求LINQ中的适当语言和变量。所以TSQL就被添加进来了,这样可以使现成的DBA技能扩展到云。另外,因为SQL Azure的数据类型和存储过程几乎和传统的SQL Server匹配,所以在本地开发然后部署到我们喜欢的其他任何主平台上的云是很容易的。


Azure


Azure是微软提供的云计算系统。把Azure当作云操作系统,它可以为我们的应用程序提供存储和计算平台。这里所说的云意味着Azure会参与被微软管理的硬件上的Internet。硬件资源的日常管理由Azure系统控制,我们是不可见的,也对它不负任何责任。我们的应用程序通过使用SOAPREST的服务连到Azure


Azure自身提供了存储和计算平台。除了Azure之外,有5个扩展部分提供额外的服务。这5个扩展部分分别为Live ServicesNet ServicesShare PointCRMSQL AzureLive Services提供访问应用程序如Live IDWindows Live MessengerNet Services提供一个“服务总线”来帮助把独立的模块绑定为一个应用程序。Share Point服务提供一个开发协作程序的平台。CRM服务为开发客户管理软件提供一个基础。最后一个模块,也是本文的焦点,那就是SQL Azure


SQL Azure


SQL Azure是一个关系型数据库。在云技术里关系型数据库是不常见的。大多数都是非关系型数据库,你只能创建很不正规化的表。另一个不常见的特点是SQL Azure支持存储过程。使用存储过程可以允许你将数据库和应用程序逻辑之间完全分离。另外一个特点是SQL Azure支持大量的数据类型。包括几乎所有典型的SQLServer2008数据类型。另外,SQL Azure在云里支持事务。



准备开始


本文出台之前,SQL Azure还没有官方发布。所以要开始的话,要求一个CTP账号,从这里http://msdn.microsoft.com/en-us/sqlserver/dataservices/default.aspx可以获得。一旦有了账号,将会产生一组连接字符串。这些连接字符串提供了从Dot NetSQL命令提示符、其他ODBCOLEDB连接访问你自己的云数据库的途径。下面是Dot Net的连接。


Server=tcp:o8oudehe7w.ctp.database.windows.net;


Database=master;


User ID=dons;


Password=myPassword;


Trusted_Connection=False;


在云里我的私人空间引用的字符串里的Server部分是o8oudehe7w。每个账号都是唯一的。Trusted Connection设置为false,因为我不会使用windows安全。这个连接字符串和一些较小的数据库管理任务也能从校门显示的web工具进行访问。


目前,从web工具里可以执行的数据库任务还仅限于数据库的创建和删除。遗憾的是,没有针对云的相当于SSMS的平台。



SQL Command (SQLCmd)

SQLCMD是包含在传统SQL Server里的命令提示工具。它可以嵌入到脚本或者进行交互式运行。SQLCMD包含很多选项如日志、格式和基本的错误处理。要开始这个例子,打开一个命令提示符,然后传给SQLCMD一个SQL Azure连接字符串,如下所示:


sqlcmd -U dons@o8oudehe7w -P password -S o8oudehe7w.ctp.database.windows.net -d master


如果连接成功了,就会显示1>光标。现在可以和云数据库有一个交互式的会话了。在连接字符串里,使用了-UUsername@server语法,但这只是服务器的前缀,而不是完整的限定名称。FQN(完整的限定名称)会使用-SServer)开关。-ddatabase)切换连接到master数据库。Master是在我们的CTP账号创建的时候自动为我们创建的。



CREATE DATABASE


要创建一个新的数据库,在1>提示符后输入CREATE DATABASE Test1,然后回车。会出现2>提示符,输入GO然后回车。如果创建成功,提示符会重新回到1>状态。如果在CREATE时有一个错误发生,它会显示在dos命令行上。刷新web管理工具,将显示已经创建的新的数据库。





要使用SQLCMD连接到新的数据库,首先需要输入QUIT退出SQLCMD来关闭目前连接到master的连接,从而返回到命令提示符。重新输入前面的连接命令,但需要把数据库改为新的Test1,如下所示:

sqlcmd -U dons@o8oudehe7w -P microsoft1! -S o8oudehe7w.ctp.database.windows.net -d Test1


提示符将变为SQLCMD>1,没有错误,表明已经连接到了新的Test1云数据库。



CREATE TABLE

SQL Azure里创建表的语法和传统的SQLServer是一样的。然而需要注意的一点是Azure不支持堆表,这意味着每个表都必须有一个键或索引。要创建表,在SQLCMD提示符下输入下面的TSQL语句:



CREATE TABLE table1 ( mynumber int primary key, mystring varchar(50))


GO



go以后,提示符将返回>1的符号。现在可以使用下面的语句把数据插入到这个新表里:


insert into table1 (mynumber, mystring) values (1, 'test')


GO


SQLCMD将通过报告“1 row affected”来确认插入成功。可以使用标准的如下的SELECT语句来返回测试数据。



结论


SQL Azure是微软的云数据库。SQLCMD可以用来访问和管理SQL Azure。通常用于传统SQL ServerTSQL命令也是支持的。另外,事务和存储过程也得到支持。


最后编辑拓狼 最后编辑于 2009-10-10 22:26:26
虽有智慧,不如乘势;虽有鎡基,不如待时。
君子学以聚之,问以辨之,宽以居之,仁以行之。
独学而无友,则孤陋而寡闻。
 

回复:微软的云数据库SQL Azure

关注一下,,,
 
一错再错,继续错就对了。
  
 

回复:微软的云数据库SQL Azure

想学习一下
 

回复:微软的云数据库SQL Azure

严重关注
 

回复:微软的云数据库SQL Azure

关注中,谢谢分享!
 
1  /  1  页   1 跳转

版权所有 微软BI开拓者 

Powered by Discuz!NT 2.1.202    Copyright © 2001-2012 Comsenz Inc.
Processed in 0.234381 second(s) , 4 queries.
返顶部