我们的12月试用账号的免费服务里有一个Azure Sql服务,最近正好自己做一个小工具需要一个数据库,正好可以把它当测试库顺便体验一把Azure Sql。

概述

Azure SQL 数据库

Azure SQL 数据库是 Azure 中托管的关系数据库即服务 (DBaaS),属于“平台即服务 (PaaS)”行业类别。

最适合用于需要使用最新的 SQL Server 稳定功能,且开发与面市时间有限的新式云应用程序。

完全托管的 SQL Server 数据库引擎,基于最新稳定的 SQL Server Enterprise Edition。 SQL 数据库有两个部署选项,每个选项都以 Microsoft 所拥有、托管及维护的标准化硬件和软件为基础。

在 SQL Server 中,无论是本地的还是 Azure 虚拟机中,都可使用需要进行广泛配置的内置特性和功能。 使用 SQL 数据库时,可以即用即付,并使用向上或向外缩放选项获得更强大的功能且不会中断服务。 SQL 数据库具有 SQL Server 所不能提供的其他一些功能,例如,内置的高可用性、智能和管理。

以上摘自 Azure Sql 文档

以上说的比较官方。简单来说就是Azure提供了一个云数据库服务,它的Sql引擎自然是微软自家的Sql Server。你大致可以认为它就是一个在线版本的Sql Server,它依托Azure提供了非常强大的高可用、高性能、可以自由伸缩等功能。

创建数据库

在portal控制台找到 Azure Sql 点击创建:



这里主要是2有个地方要注意:

  1. 服务器选项如果是第一次创建需要新建一个服务器,点击“新建”弹出创建服务器界面:

    填写服务器名称,管理员,密码等信息,请牢记,后面需要用到。

  2. 计算+储存选项如果是第一次同样需要创建。点击“新建”跳转到计算与储存选择界面:



    以为我使用的是12月试用账号,有免费额度。选择“标准”实例,DTU选择10,数据储存选择250G。这个配置是免费的。

注意:以上配置在12月试用账号内是免费的,千万不要选错,即使选了更低级的实例也会收费。

配置完之后点击“创建+查看”开始创建资源,等待一会后提示创建成功。这个时候我们的Azure Sql 数据库就创建好了。

使用SSMS管理数据库

通常我们管理Sql Server数据库的时候都会使用SSMS(Microsoft SQL Server Management Studio)进行新建,查询等操作。那么Azure Sql 同样支持SSMS工具进行连接并管理。

登录数据库



跟连接普通的Sql Server数据库一样在登录界面填写:

服务器名称:这里填写前面创建服务器的时候填写的名称及域名

身份验证:SQL Server 身份验证

登录名:填写前面创建服务器的时候填写的管理员名称

密码:填写前面创建服务器的时候填写的管理员密码

新建防火墙规则

填写完之后点击“连接”开始尝试连接数据库。第一次连接会提示新建防火墙规则。 我们需要在portal上把客户端的ip加入白名单。



选择左侧菜单“概述”,点击“设置服务器防火墙”



在客户端ip一栏,填写本机的ip地址。也可以填写一个网段。



配置完成后点击“保存”。提示成功后重新使用SSMS连接服务器,这次成功连接上去了。

管理数据

连接成功后就可以像普通Sql Server一样进行查询数据等操作了。

新建一张表Table_1:



编辑一行数据:



查询数据:

使用Ado.net操作数据

以上演示了使用SSMS来管理操作数据,下面演示下使用.NET Ado.net技术操作下Azure Sql。使用Ado.net操作Azure Sql我们完全可以把Azure Sql当做SqlServer来使用。所以我们只要使用SqlServer的Data Provider来操作就可以了。

安装Dapper

为了偷懒直接使用Dapper来演示,因为Dapper本身就是基于Ado.net技术实现的。

新建一个控制台项目,使用Nuget安装Dapper。

编写CRUD代码

我们使用Dapper来编写数据库改删查代码。数据库连接串可以在portal上点击左侧“数据库连接字符串”菜单获取。

        static IDbConnection GetConnection()
{
var connstring = "x";
var conn = new SqlConnection();
conn.ConnectionString = connstring; return conn;
}
static void Main(string[] args)
{
using (var conn = GetConnection())
{
conn.Open(); //insert
var result = conn.Execute("insert into Table_1 values (@id, @name, @birthday)", new { id=0, name = "user0", birthday=DateTime.Now });
Console.WriteLine("Run insert into {0}", result>0?"success":"fail");
result = conn.Execute("insert into Table_1 values (@id, @name, @birthday)", new { id = 1, name = "user1", birthday = DateTime.Now });
Console.WriteLine("Run insert into {0}", result > 0 ? "success" : "fail");
//select
var list = conn.Query<Table_1>("select * from Table_1");
foreach (var row in list)
{
Console.WriteLine("id:{0} name:{1} birthday:{2}", row.Id, row.Name, row.Birthday);
}
//update
result = conn.Execute("update Table_1 set Name = @name where id = @id", new { id = 0, name = "user00" });
Console.WriteLine("Run update {0}", result > 0 ? "success" : "fail");
//delete
result = conn.Execute("delete from Table_1 where id = @id", new { id = 0});
Console.WriteLine("Run delete {0}", result > 0 ? "success" : "fail"); } Console.ReadLine();
}

运行结果

写完代码我们直接F5运行一下,可以看到我们成功的使用Ado.net操作了数据。

总结

通过以上我们简单介绍并演示了如果使用Azure Sql数据库。绝大部分时候我们可以把Azure Sql当做SqlServer来管理或者用代码操作。这为我们从本地数据库迁移到Azure Sql数据库提供了非常巨大的方便。对于应用层代码,只需要更改连接字符串就可以了。当然Azure Sql数据库跟本地Sql Server还是有一些差异的,在迁移前请先阅读文档:解析迁移到 SQL 数据库的过程中的 Transact-SQL 差异

试用 Azure Sql 数据库的更多相关文章

  1. Azure SQL 数据库的灵活缩放预览版简介

    Eron Kelly SQL Server 产品管理部门产品市场营销总经理 几天前,我们宣布了发布 Azure SQL 数据库的灵活缩放公共预览版.新增的灵活缩放功能通过简化开发和管理,简化了扩展和缩 ...

  2. 价格更低、SLA 更强的全新 Azure SQL 数据库服务等级将于 9 月正式发布

    继上周公告之后,很高兴向大家宣布更多好消息,作为我们更广泛的数据平台的一部分, 我们将在 Azure 上提供丰富的在线数据服务.9 月,我们将针对 Azure SQL 数据库推出新的服务等级.Azur ...

  3. 新 Azure SQL 数据库服务等级的性能

    4 月 24 日,我们发布了 SQL Database 基本级(预览版)和标准级(预览版)新服务等级的预览版以及新的业务连续性功能.在本博客文章中,我们将深入探究 SQL Database 中新等级的 ...

  4. Azure SQL 数据库引入了新的服务级别

     新的级别将提升客户体验,并提供更多的业务连续性选项 为了更好地满足您在灵活性提升方面的需求,MicrosoftAzure SQL 数据库添加了新的服务级别(基础级和标准级),以与当前处于预览状态 ...

  5. 在 Azure 上创建和链接 Azure SQL 数据库

    本快速入门介绍了如何在 Azure 门户中创建并连接 Azure SQL 数据库.在本教程中完成的所有操作均符合 1 元试用条件. 开始之前 如果您还没有 Azure 账户,可以申请 1 元试用账户. ...

  6. Azure SQL 数据库弹性池现已面市

    我们高兴地宣布Azure SQL 数据库弹性池现已正式面市.弹性池自去年试运行以来,得到许多软件即服务(SaaS)供应商和企业开发人员的认可,他们利用弹性池管理持续增长的云数据库和应用程序,成果高效. ...

  7. Azure SQL 数据库新服务级别现已正式发布

    T.K.Ranga Rengarajan   2014 年 9 月 10 日上午 11:00 我们很高兴地宣布,新的 SQL 数据库服务级被基本.标准和高级级别现已正式发布.这些服务级别中含有内置且可 ...

  8. Azure SQL 数据库:服务级别与性能问答

    ShawnBice    2014 年 5 月 5 日上午 10:00 几天前,我发表了一篇文章,并就 4 月 24 日发布的适用于Windows Azure SQL 数据库的新服务级别提供了一些预料 ...

  9. Azure SQL 数据库:新服务级别问答

    ShawnBice   2014 年 5 月 1 日上午 11:10 本月初,我们庆祝了SQL Server 2014 的推出,并宣布正式发布分析平台系统,同时分享了智能系统服务预览版.Quentin ...

随机推荐

  1. MySQL通过POIN数据类型查询指定范围内数据

    情况一: 数据库:只有point类型的location字段 实体类:有经纬度字段(double).originLoction字段(存放string类型的数据库location字段:POINT(123. ...

  2. format的实现

    var format = function(s, arg0) { var args = arguments; return s.replace(/\{(\d+)\}/ig, function(a, b ...

  3. python appium app ui 自动化

    1.下载Android-SDK.夜神安卓模拟器.Appium.adb命令执行包并配置环境变量 2.打开夜神 3.打开Appium进行配置,配置如下 4.启动命令,到夜神bin目录下执行 adb con ...

  4. Linux:正则表达式2

    基础正则表达式 ^ : 以xx开头 $ :以xx结尾 ^$ :代表空行 .   任意一个字符 \   :转义符号,让有着特殊意义的字符可被使用 * :重复0个或多个前面的字符,例如 a* 2表示a后面 ...

  5. Charles 抓包(Charles二)

    前面安装了Charles,并初步配置了一下:https://blog.csdn.net/qq_38175040/article/details/105411407 今天开始正式抓包了 但过程却不是很顺 ...

  6. visual studio项目多级引用不拷贝dll的问题

    最近碰到一个visual studio项目多级引用不拷贝dll的问题,花了很久查了很多资料,特此记录 A项目引用B项目, B项目引用C项目,C项目引用ef及oracle.ef using Oracle ...

  7. 第3课 - makefile伪目标的引入

    第3课 - makefile伪目标的引入 1. makefile 中的目标究竟是什么? (1)默认情况下,make 认为目标对应着一个文件  ==>  目标即文件名 (2)make 首先会检测目 ...

  8. Anaconda是个什么东东?

     2020/5/18 一.Anaconda 有什么用? 是一个安装.管理python相关包的软件,还自带python.Jupyter Notebook.Spyder,有管理包的conda工具,非常有用 ...

  9. Mybatis和Mybatis-Plus时间范围查询,亲测有效

    一.mysql 1.传入时间范围参数类型是字符串 <if test="startTime!=null and startTime.trim() neq ''"> and ...

  10. 吾日三省吾身 java核心代码 高并发集群 spring源码&思想

    阿里面试题    未解决https://my.oschina.net/wuweixiang/blog/1863322 java基础  有答案  https://www.cnblogs.com/xdp- ...