用6个简单的步骤创建并连接到Azure SQL DB

134 阅读4分钟

创建Azure SQL数据库的方法有很多,如果你是开发新手,所有这些不同的选项可能会让你感到很害怕。让我用几个步骤告诉你,这反而是很容易的。这就是我们要做的事情。

  1. 创建一个资源组
  2. 创建一个Azure SQL逻辑服务器
  3. 创建一个Azure SQL数据库
  4. 配置防火墙
  5. 创建一个用户
  6. 获取连接字符串

我将使用Azure Shell门户,因为它提供了完整的体验,无需在你的机器上安装任何东西。你必须准备好的唯一东西是Azure订阅。

打开浏览器,指向shell.azure.com,让我们开始吧。

创建一个资源组

资源组是Azure资源的一个容器。它是必要的,因为它大大简化了这些资源的管理。让我们在美国东部地区创建一个,并将其命名为dev-demo

az group create -n dev-demo -l eastus

创建一个Azure SQL逻辑服务器

需要一个Azure SQL逻辑服务器,以方便管理许多数据库。一个逻辑服务器管理员可以自动访问服务器中的任何数据库。让我们创建一个名为dev-demo-sql-srv 的服务器,并创建一个管理员。管理员用户绝不应该被用来允许应用程序连接到该服务器中托管的任何数据库。它只用于管理任务。

az sql server create -g dev-demo -n dev-demo-sql-srv --admin-user devdemoadmin --admin-password SomeVery_STRONG_Passw0rd! 

创建一个Azure SQL数据库

现在你有了一个服务器,你可以在其中创建数据库。该数据库将被命名为db1 ,它将使用无服务器(我知道......这很有趣。我们之前不得不创建一个服务器......)模式,因此,只有当你使用它时,你才会为它付费(自动暂停是在没有活动的1小时后默认设置的)。

az sql db create -g dev-demo -n db1 -s dev-demo-sql-srv --service-objective GP_S_Gen5_2

配置防火墙

如果你打算将创建的数据库与其他一些Azure服务(例如,像Azure功能或Web应用程序或容器)一起使用,而且你没有极高的安全策略,你可以通过创建这个防火墙规则来允许Azure服务连接到你的数据库。

az sql server firewall-rule create -g dev-demo -s dev-demo-sql-srv -n AllAzureServices--start-ip-address 0.0.0.0 --end-ip-address 0.0.0.0

现在你需要允许你的开发机器连接到Azure SQL。由于你使用的是云外壳,所以现在真的不需要这样做,但我很确定在某些时候你会想使用Azure Data StudioSQL Server Management Studio来连接和管理你机器上的数据库,所以你需要确保防火墙会允许这样的连接。打开浏览器,进入ipinfo.io/,获取你的IP地址,然后用报告的IP作为开始和结束地址创建一个防火墙规则。

az sql server firewall-rule create -g dev-demo -s dev-demo-sql-srv -n MyIP --start-ip-address 12.34.56.78 --end-ip-address 12.34.56.78

创建一个数据库用户

你以前学过,管理账户永远不应该被用来允许我们创建或工作的应用程序连接到数据库,所以我们需要创建一个专门的用户。这很简单。你需要使用sqlcmd 工具连接到Azure SQL数据库(正如你注意到的那样,你将在这里使用管理员登录)。

sqlcmd -S dev-demo-sql-srv.database.windows.net -d db1 -U devdemoadmin -P SomeVery_STRONG_Passw0rd!

一旦你登录到数据库 - 你会看到一个1> 的提示,你可以创建一个用户。

create user [app-user] with password = '4pplication_Passw0rd!';
go

一旦用户被创建,你需要给它足够的权限来处理数据库中的数据。如果它只需要从表中读写,你可以给它分配db_reader 和/或db_writer 角色。如果它还需要创建表或对象,你可能想把它加入db_owner 角色。

alter role [db_owner] add member [app-user]
go

你可以通过执行quit 命令退出sqlcmd 提示。

请注意,db_owner组的用户基本上是本地管理员,所以他们几乎可以做数据库上的所有事情。安全是一个复杂的--但也是极其重要的--话题。

获取连接字符串

要获得你需要在应用程序中使用的连接字符串以连接到Azure SQL,你只需使用下面的AZ命令,你还可以指定你想要的连接字符串的语言或库。

az sql db show-connection-string -s dev-demo-sql-srv -c ado.net

该命令将打印出连接字符串。你只需将角括号中的数值替换为你的数值,例如<databasename> 。确保使用你在上面的步骤中创建的应用程序用户,你就可以开始工作了!