Azure 篇 – SQL Database

最近在使用 SQL Database, Visual Studio 已就绪,就差一个数据库了,然而目前我还不想在本机安装 SQL Database, 于是我就想到了 Azure for SQL Database, 这样艰巨任务当然要交给 Azure 去完成了。

前文:

1.下面我会介绍如何在Azure上创建SQL Database, 在Azure页面上进行简单查询等操作。

2.另外也会在本地安装SSMS,连接到Azure上已经创建好的SQL Database,进行简单查询等操作。

3.在Visual Studio SQL Server资源管理器连接Azure上已经创建好的SQL Database,进行简单查询等操作。

4.另外我们也会使用Visual Studio 自带的精简版SQL Database,这个在安装Visual Studio 时会自动安装。

5.在Azure VM(Windows 10)里安装完整版的SQL Database,在VM 里安装SSMS连接到SQL Database,另外我们也会用本地的SSMS连接到VM里的SQL Database,进行简单查询等操作。

注:现在SQL Database可以跨平台使用,所以Linux里同样可以安装SQL Database。

首先,打开浏览器 输入 portal.azure.com,这个是国际版Azure Portal,这样我们会转到 Azure 的 Portal 页面(对于没有Azure的同学可以去 Azure 中国官网花1元人民币,可以免费试用。中国版Azure输入  portal.azure.cn

1远人民币试用:https://www.azure.cn/pricing/1rmb-trial-full/?form-type=identityauth

点击左边的新建,之后我们会在 Popular 里看见列出的 SQL Database, 或者直接在搜索栏里直接搜索 SQL Database,如图

点击之后,会弹出页面让我们填写数据库的一些基本信息,如上图

Database name: 数据库的名字,选择一个合适的名字填写在这里

Subscription: 选择你的Azure订阅

Resource group: 资源组的名字

Select source: 数据库的源,这里可以选择空数据,也可以选择拥有样例的数据库,点击下拉框即可选择,这里推荐选择拥有样例数据的数据库,因此选择第二项

Server:服务,SQL Database 运行在上面的服务里,需要填写服务名字,登录的账户和密码,也是我们登录数据库的账户和密码,我们下面会用到

Pricing tier:选择数据大小,规格越高的数据库同样也越贵

我们可以根据自己的需求选择合适的规格,在这里我们可以看见Basic属于基本类型,每个月38块,还是很便宜的,如果创建之后不满足现在的需求,在Azure里提供自动扩容,非常的方便。

扩容,如果目前的SQL 大小以及其规格无法满足现在的需求,可以选择扩容,非常简单与方便

SQL Database运行在Azure,这张图很好解释了为什么要创建资源组,还有服务,我们创建的SQL 运行在 SQL Server上,而我们的SQL Server包含在我们的资源组里,我们的资源组属于我们的Azure订阅

最后点击下方的创建Button,等待一两分钟,数据库便会在Azure创建完成,并且处于Online状态

正在部署SQL Database

部署完成

这个是我已经创建好的 SQL DATABASE 数据库,点开之后,我们会看见一些关于数据库的基本信息

到了这步,我们基本可以在Visual Studio 或者 SSMS 连接到 Azure 上的数据库,对其进行操作,也可以直接在Azure上直接对SQL Database 进行简单的增删改查等操作,点击左侧面板 Data explorer

点击上方的Login, 选择 SQL server authentication,在Login处输入我们上面Server处填写的的用户名,Password处输入密码,最后点击OK,即可登录

我们对其一张Sample 表进行简单的查询,如下图

现在我们选择SSMS登录Azure上的数据库

首先,在Local机器上安装 SSMS

下载链接:https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms

点击红色框内的链接即可进行下载,英文版大概802M,中文版大概829M,根据自己的要求选择语言版本,之后安装

安装之后,我们找到Microsoft SQL Server Management Studio,点击打开

Server type:选择 Database Engine

Server name:输入服务的名字,这个我们可以到Azure上已经创建好的SQL Database概览处找到

Login:服务名

Password:密码

点击Connect

注:如果点击Connect 时出现Error,显示无法连接到远端的SQL时,转到我们的Azure SQL Database里,点击防火墙设置,把当前本地的IP地址添加进去即可,这也是为安全着想

SSMS连接成功页面如下,现在我们可以在本地的SSMS上对Azure上的SQL Database进行基本操作,比如简单的查询操作

现在我们选择Visual Studio连接,在VS上方的视图里选择服务器资源管理器,然后右键数据连接-添加连接

在弹出的窗口中输入基本信息,点击测试连接,测试成功之后即可使用

简单的查询

以上基本上可以满足我们的需求使用了,但是,作为程序猿,不写几行代码来连接一下数据库怎么对得起这个称号呢:)

现在我们到Visual Studio里,在创建的项目里选择C#的Console Application

这里有两种方式连接数据库,一种是直接写C#代码,另一种直接写在配置文件里,我们先看看配置文件怎么写

我们重新回到Azure Portal,进入我们已经创建好的SQL Database页面,在左侧SETTINGS里找到Connnection strings, 点击之后我们看到如下

这里看到可以使用ADO.NET, JDBCODBCPHP 等连接方式,由于我们使用C#语言,所以我们选择ADO.NET, 然后我们点击复制下面的string,保存一下

回到VS的解决方案, 找到app.config, 打开

<configuration></configuration>里添加

<connectionStrings>

<add name="ConStr" connectionString="Server=tcp:courage.database.windows.net,1433;Initial Catalog=Courage;Persist Security Info=False;User ID={your_username};Password={your_password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" />

</connectionStrings>

注意修改里面ID的your_username, Password 的your_password

:写名字和密码时去掉{}

然后我们可以新建一个SQLStr.cs类封装获取配置文件,获取配置文件书写如下

var config = ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString;

return new SqlConnection(config);

注意引入命名空间

using System.Data.SqlClient;

using System.Configuration;

最后在Program.cs类调用这个类

static void Main(string[] args)

{

var connection = SQLStr.Connection();

try

{

connection.Open();

string str = "SELECT * FROM SalesLT.Address";

SqlCommand sqlCommand = new SqlCommand(str, connection);

SqlDataReader result = sqlCommand.ExecuteReader();

while (result.Read())

{

Console.WriteLine(String.Format("{0},{1}", result[0], result[1]));

}

}

catch (SqlException e)

{

Console.WriteLine(e.ToString());

}

finally

{

connection.Close();

}

}

以上为配置文件连接

我们再来看看C#代码

同样创建一个SQLStr.cs的类,然后书写

var str = new SqlConnectionStringBuilder();

str.DataSource = "courage.database.windows.net";

str.UserID = "your_username";

str.Password = "your_password";

str.InitialCatalog = "Courage";

var sqlConnection = new SqlConnection();

return new SqlConnection(str.ConnectionString);

注意修改里面ID的your_username, Password 的your_password

最后在Program.cs类里调用这个类

以上为两种连接方式的写法

可能我们也会遇到这样的问题,虽然Azuer上的 SQL Database 可以免除我们在Local 机器上安装的步骤,节省空间,但是需要实时网络连接,我们总会有这样或者那样的原因处于无网络情况,我们同样不想在Local机器上安装SQL Database,那么问题来了。好在微软的Visual Studio 团队早以考虑到我们会有这样的需求,所以把一个精简版的SQL Database内置在VS里,这样我们在安装Visual Studio时就会自动安装这个数据库,现在知道软爸爸的强大了吧!!!

回到 Visual Studio,在视图里点击SQL Server 对象资源管理器,我们会看到有两个localdb, 一个是MSSQLLocalDB(SQL Server – Version – DESKTOP – ) ,另一个是 ProjectsV13(SQL Server – Version – DESKTOP), 现在我们就可以进行简单的查询等操作了

如果在SQL Server 对象资源管理器里没有发现这两项,可以右键点击SQL Server ,点击添加SQL Server

现在我们已经把无论是VS自带的精简数据库还是Azure上的SQL Database都简单的了解了一下,那么如果真的实际需要完整的 SQL Database 该如何呢,这样就只能安装了,同样,不想在本地机器上安装 SQL Database我,在Azure上开一台Windows的虚拟机,这里我选择Windows 10 1709,Linux也可以,现在SQL Database支持跨平台,之后在VM里安装完整版的SQL Database,进行远程连接操作。下面我们看看具体的操作。

现在我们已经在Azure上有一台配置好的 Windows 10 Pro 1709,然后下载完整版的SQL Database,并且安装

安装完毕之后在VM上测试一下连接,同样需要下载SSMS,然后输入一些基本信息,最后连接,测试成功之后,我们在到我们的本地机器上使用SSMS进行操作,这样可以保证远端不出问题的情况下本地也不会出现问题

Azure 上 Windows 10 1709  如下

安装完整版的SQL Database,开始菜单中我们可以看到如下,这是在Azure上VM运行的完整版SQL Database

如果运行完整版出现问题时,请检查一下SQL服务是否在运行,如果没有运行可以手动开启,同样也可以设置开机自动开启,在服务里找打并开启即可,我们同样也在VM里安装SSMS,连接,确保测试成功之后我们再回到本地进行操作

我们想要在本地进行远程连接数据库前需要开启一些端口,确保能够连接成功,因此需要在Azure上对VM的网络端口进行一些设置

回到Azure,点击VM,在SETTINGS点击Networking,我们会在右面的面板看见进站规则

点击添加,在Service选择 DNS(TCP),然后填写一个易识别的名字,点击下方的OK

创建之后修改Port ranges,一个是1433,另一个是57500,如下

注:一共创建两个端口,创建时不可修改端口值,创建之后可以修改

现在进入到VM里,打开控制面板(如果找不到可以打开 运行 输入 control panel),找到防火墙高级设置,找到进站规则,右键新建,选择Port,下一步

选择TCP,并在Specific local ports 填写1433,下一步(57500 同理

选择Allow the connection ,下一步

全选,下一步

输入名字,下一步

Finish之后,我们就可以在本地机器远程连接到运行在VM里的完整版SQL Database了

这里需要注意的就是我们在SSMS里填写Server name时,需要填写VM的IP地址或者DNS名字,这个根据个人喜好,IP地址在VM关机之后再次开机会自动获取新的IP地址,所以对于需要经常连接最好还是设置DNS名字,用DNS名字来连接,这样会非常的方便,设置VM DNS name 到我们创建好的VM Overview里,找到DNS name,填写一下名字就可以了

到目前为止,我们已经把多种方式都写完了,希望对于学习的同学能有帮助作用

另外SQL Database同样可以安装到Linux里,我们同样可以在Azure里开一台Linxu的机器,然后在Linux 里安装SQL Database,最后连接。

最后一句:世界500强里90%都在使用 Azure ,微软大法好!!!

13人评论了“Azure 篇 – SQL Database”

  1. Your style is very unique in comparison to other folks I have read stuff from. I appreciate you for posting when you have the opportunity, Guess I will just bookmark this web site. Andreana Vincent Klement

  2. Hi, thank you very much for your good content. I have a question, what is the best wood for woodturning art? Amity Verney Orman

  3. You made some good points there. I did a search on the subject and found most persons will go along with with your site. Karola Oren Clerk

  4. After I initially left a comment I seem to have clicked on the -Notify me when new comments are added- checkbox and from now on every time a comment is added I get 4 emails with the exact same comment. Perhaps there is a means you can remove me from that service? Cheers! Jacquenette Tedie Ottavia

  5. They ought to be proficient about the most recent improvements. Moreover, they need to utilize it in the applications. Kaylyn Rickie Damour

  6. I am actually grateful to the owner of this site who has shared this impressive article at here. Misty Brok Hermia

  7. Ahaa, its good discussion on the topic of this post here at this blog, I have read all that, so now me also commenting at this place. Drucy Fletcher Sulamith

  8. Thankfulness to my father who informed me regarding this weblog, this weblog is really awesome. Billye Fitz Merna

  9. Your way of describing the whole thing in this article is really pleasant, all be capable of without difficulty understand it, Thanks a lot. Miranda Brian Rorry

  10. If you want to use the photo it would also be good to check with the artist beforehand in case it is subject to copyright. Best wishes. Aaren Reggis Sela

发表评论

邮箱地址不会被公开。