65.9K
CodeProject 正在变化。 阅读更多。
Home

Microsoft SQL AZURE 的分步介绍

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.24/5 (16投票s)

2010年2月19日

CPOL

5分钟阅读

viewsIcon

52110

Microsoft SQL AZURE 的分步介绍

引言

虽然现在它已经不算很新了,但我们中仍有许多人只是听说过,一些人已经开始做一些研发,一些人在 Azure 平台上已经熟练掌握,而其他人则一无所知。总之,我最近进行了一些入门级的尝试,想在这篇文章中分享我的经验。在下一篇文章中,我将重点介绍 SQL Azure 的更多内容。

背景

SQL Azure 是微软提供的一种云数据服务,用于数据存储。它使用 SQL Server 作为其数据库,并使用 T-SQL 作为其用于数据访问的查询语言。

目的

这篇文章的目的并非提供 SQL AZURE 的详细信息,因为网上已经有很多了。我想重点介绍我用于进行这项小型实验的步骤。再次强调,这篇文章是为那些想在这个新领域开启旅程的人准备的。

开始旅程吧

步骤 1

我们需要在此 URL 申请 Microsoft 的 CTP(社区技术预览)帐户:申请 CTP

第二步

SQL AZURE 团队将通过电子邮件发送邀请,其中包含邀请码和入门资源。但有一些限制,例如CTP 将限制为 1 个 SQL Azure 服务器和 5 个数据库(我收到的是这样的)。

步骤 3

所以,我们需要访问 https://sql.azure.com,在那里我们需要使用我们的 Windows LiveID 登录。

步骤 4

成功登录后,系统会要求我们输入邀请码。输入邀请码,然后点击“提交”按钮。

1.JPG

步骤 5

这将重定向到“使用条款”页面,阅读条款后,点击“我接受”按钮。

步骤 6

接下来,我们将看到“创建服务器”页面。

步骤 7

填写完必填字段后,我们需要点击“创建服务器”按钮。这将显示“我的项目”屏幕。

步骤 8

我们需要创建一个项目。为此,让我们点击左侧的“SQL Azure”链接。

步骤 9

我们将获得一个到目前为止已创建的项目详细信息列表。点击链接。

第 10 步

这将进入“服务器管理”部分。

第 11 步

让我们创建一个数据库。选择“数据库”选项卡,然后点击“创建数据库”按钮。我们输入一个数据库名称,例如“MyFirstCloudDB”。点击创建按钮。

第 12 步

可以看到,我们的数据库已经创建,大小为 0 字节。

第 13 步

选择我们的数据库,然后点击“连接字符串”按钮。我们将同时获得 ADO.NET 和 ODBC 连接。

目前,从 Web 工具执行的数据库任务仅限于数据库的创建和删除。

第 14 步

转到“防火墙设置”选项卡,点击“添加规则”按钮,然后添加一条规则以允许你的 IP 地址范围。

如果防火墙设置不正确,您将收到以下错误消息

Msg 40615, Level 14, State 1, Server <servername>, Line 1 Cannot open server

<'servername' >requested by the login. Client with IP address <some IP address>
is not allowed to access the server.

Msg 18456, Level 14, State 1, Server <servername>,
Line 1 Login failed for user <'username'.> 

您可以根据需要点击相应的“编辑规则”和“删除规则”按钮来编辑和删除规则。

第 15 步

现在我将描述通过 SSMS(SQL Server Management Studio)在我们的 AZURE 数据库上执行基本 CRUD 操作的步骤

  1. 打开 SSMS
  2. 在连接对话框中,点击“取消”按钮
  3. 接下来,点击 SSMS 的“新建查询”按钮
  4. 连接对话框将出现,我们需要在此输入
    • 服务器名称
    • 登录
    • 密码

    现在,我们已经从“服务器管理”页面获得了登录信息。

    (参考步骤 13)。看起来是这样的

    "Provider=SQLNCLI10;Server=tcp:xx0x0xxxxx.database.windows.net;
    Database= MyFirstCloudDB; ID=niladri; Password=myPassword;
    Trusted_Connection=False;Encrypt=True;" 

    所以我们将相应地输入凭据。

    请注意,密码是管理员密码,而不是连接字符串(图 9)中的“mypassword”。

  5. 点击“连接”按钮,如果信息输入正确,则将建立与 SQL Azure 数据库的连接,并打开一个新的查询窗口。
  6. 数据库列表将在 SSMS 的“可用数据库”部分显示。
  7. 现在,假设你想在 `MyFirstCloudDB` 中创建一个对象(例如一个表)。因此,当你在 SSMS 的可用数据库部分选择 `MyFirstCloudDB` 时,你会遇到一个错误消息:“数据库 `MyFirstCloudDB` 无法访问”。

  8. 为了解决这个问题,请按照以下步骤操作

    • 登出

    • 再次连接,这次在“选项”->“连接到数据库”->“键入 `MyFirstCloudDB`”,然后连接。

    • 点击“连接”按钮

    注意:有时,即使连接成功,您也可能会遇到错误消息

    “Invalid object name 'sys.configurations'. (Microsoft SQL Server, Error: 208)” 

    在这种情况下,你也需要按照(h)中提到的相同步骤进行操作。

    有关最后一个错误消息的更多信息,您可以参考“无效对象名称 'sys.configurations'。(.NET SqlClient Data Provider)”

  9. 现在让我们在 MyFirstCloudDB 中创建一个表

    让我们发出以下命令并执行查询

    CREATE TABLE MYTESTTABLE(Field1 INT,Field2 VARCHAR(20))
    INSERT INTO MYTESTTABLE SELECT 1,'Value1' UNION ALL SELECT 2, 'Value2' 

    你将遇到以下错误

    Msg 40054, Level 16, State 1, Line 2
    
    Tables without a clustered index are not supported in this version of SQL Server.
    Please create a clustered index and try again. 

    这清楚地表明我们需要创建一个聚集索引,即主键列。

    所以,让我们将查询更改为以下

    CREATE TABLE MYTESTTABLE(Field1 INT PRIMARY KEY,Field2 VARCHAR(20))
    INSERT INTO MYTESTTABLE SELECT 1,'Value1' UNION ALL SELECT 2, 'Value2' 

    发出一个 `select` 命令将得到以下结果

    SELECT * FROM MYTESTTABLE
    Field1     Field2
    1          Value1
    2          Value2 

    发出一个 `update` 命令并查看结果

    UPDATE MYTESTTABLE
    SET Field2 = 'New Value2' WHERE Field1 = 2
    SELECT * FROM MYTESTTABLE
    Field1    Field2
    1          Value1
    2          New Value2 

    发出一个 `delete` 命令并查看结果

    DELETE FROM MYTESTTABLE
    WHERE Field1 = 2
    SELECT * FROM MYTESTTABLE
    Field1    Field2
    1          Value1 

    SQL Azure 也支持 T-SQL。例如,让我们观察下面的存储过程。

    Create Procedure dbo.Usp_GetRecords
    AS
    BEGIN
                -- SET NOCOUNT ON added to prevent extra result sets from
                -- interfering with SELECT statements.
                SET NOCOUNT ON;
        SELECT         Field1, Field2
                FROM MyTestTable
    END 

    运行存储过程后,输出如预期

    Field1 Field2
    1          Value1 
  10. 现在让我们转到 SQL Azure 的服务器管理页面并刷新页面。请注意,数据库大小已更改为 16KB。这表明我们的表对象现在位于云环境中。

参考文献

  1. SQL Azure
  2. Microsoft® SQL Azure™ 数据库
  3. SQL Azure 简介
  4. SQL Azure 入门
  5. 连接到 SQL Azure
  6. 如何:配置 SQL Azure 防火墙

结论

这只是我想分享的关于我尝试 SQL Azure 的经验。我将继续进行更多实验,并与大家分享。非常感谢您的反馈。

© . All rights reserved.