Azure: SQL Azure





5.00/5 (4投票s)
SQL Azure
这是一系列针对 Azure 入门者的文章,介绍如何在 Azure 中完成各种操作。本系列面向绝对的初学者,如果您不是初学者,那么本文可能不适合您。
您可以找到构成本系列的完整文章集,请访问此处:
这一次,我们将探讨如何在 Azure 中创建一个新的 SQL Server 数据库(在后续文章中,我们将研究 Microsoft 的 NoSQL 数据库“DocumentDB
”)。
无论如何,第一步是打开门户:
在那里,您可以单击“SQL 数据库”,然后选择“创建 SQL 数据库”超链接。
接下来,您需要在向导中填写您的偏好设置。
完成此向导后,您将看到已创建一个新的数据库。
重要提示:创建数据库后,您需要确保打开标准端口 1433。最简单的方法之一是使用 Azure 门户查询数据库(即使数据库中还没有表)。
这个小技巧会提示您打开防火墙端口,这很好,让我们让 Azure 门户来完成这项工作。
因此,一旦端口打开,您将被重定向到浏览器中的一个应用程序(目前是 Silverlight 应用程序),该应用程序允许您使用您选择的连接详细信息。
成功连接后,您应该会看到类似以下内容:
现在 SQL 数据库中还没有数据。我们可以使用此 Silverlight 应用程序添加一些表和数据。但是,我更喜欢在 Visual Studio 中执行此操作,因此让我们返回门户,并打开连接字符串
,如下所示:
我们对 ADO.NET 的那个感兴趣,其中我突出显示的部分是您需要的重要部分。
因此,获取 Azure SQL Server 实例的连接地址后,让我们通过 Visual Studio 连接并创建一个表:
在 Visual Studio 中建立连接后,让我们使用上下文菜单创建一个新表:
当您对表感到满意时,单击“更新”按钮,这将把更改推送到 Azure。这只是一个演示,对于实际应用程序,您可能需要一些脚本,或者使用 Entity Framework 迁移工具来管理更改。
现在让我们通过从 SQL Server Management Studio 连接到 Azure SQL 数据库来检查一切是否正常工作。
正如我们所见,我们看到了上面刚刚创建的表:
让我们也检查 Azure 门户查询应用程序:
是的,该表看起来不错,正如预期的那样,对于新表,还没有数据。现在让我们把注意力转向将一些数据导入到新表中。
让我们使用一个新的 Entity Framework 模型来与我们刚刚创建的新 SQL Azure 数据库/表进行通信。
我选择了默认设置,但您可以选择您喜欢的设置:
这将导致在演示应用程序中创建几个文件,例如这些文件,以及在 App.Config 文件中添加一个条目,以指向 SQL Azure 数据库实例。
以下是一些使用为我们创建的 Entity Framework 上下文执行基本 CRUD 操作的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SQLAzureTest
{
class Program
{
static void Main(string[] args)
{
//insert
using (var sachaAzureSQLEntities = new SachaAzureSQLEntities())
{
sachaAzureSQLEntities.Orders.Add(new Order()
{
//note we are spelling this wrong so we can update it later
Description = "Buzz Lighyear toy",
Quanitity = 1
});
sachaAzureSQLEntities.SaveChanges();
//select
var order = sachaAzureSQLEntities.Orders.Single(
x => x.Description == "Buzz Lighyear toy");
Console.WriteLine("Order : Id: {0}, Description: {1}, Quanity {2}",
order.Id, order.Description, order.Quanitity);
//update
order.Description = "Buzz Lightyear toy";
sachaAzureSQLEntities.SaveChanges();
var exists = sachaAzureSQLEntities.Orders.Any(
x => x.Description == "Buzz Lighyear toy");
Console.WriteLine("Buzz Lighyear toy exists : {0}", exists);
order = sachaAzureSQLEntities.Orders.Single(
x => x.Description == "Buzz Lightyear toy");
Console.WriteLine("Order : Id: {0}, Description: {1}, Quanity {2}",
order.Id, order.Description, order.Quanitity);
//delete
sachaAzureSQLEntities.Orders.Remove(order);
sachaAzureSQLEntities.SaveChanges();
Console.WriteLine("Orders count : {0}",
sachaAzureSQLEntities.Orders.Count());
}
Console.ReadLine();
}
}
}
以下是针对我们刚刚创建的 SQL Azure 实例的结果: