Существует множество способов создания базы данных Azure SQL, и если вы новичок в разработке, все эти различные варианты могут быть довольно пугающими. Позвольте мне всего за несколько шагов показать вам, насколько это просто. Вот что мы будем делать:
- Создать группу ресурсов
- Создать логический сервер Azure SQL
- Создать базу данных Azure SQL
- Настроить брандмауэр
- Создать пользователя
- Получить строку подключения
Я буду использовать портал Azure Shell, поскольку он обеспечивает полный опыт без необходимости устанавливать что-либо на машину. Единственное, что у вас должно быть готово, — это подписка Azure.
Откройте браузер, перейдите по адресу https://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 Functions, Web Apps или Containers) и у вас нет чрезвычайно высоких политик безопасности, вы можете разрешить службам 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 Studio или SQL Server Management Studio для подключения и управления базой данных с вашей машины, и поэтому вам нужно убедиться, что брандмауэр разрешит такое подключение. Откройте браузер и перейдите по адресу https://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
Создание пользователя базы данных
Ранее вы узнали, что административная учетная запись никогда не должна использоваться для разрешения приложениям, которые мы создаем или с которыми работаем, подключаться к базе данных, поэтому нам нужно создать специального пользователя. Это просто. Вам нужно подключиться к базе данных Azure SQL с помощью инструмента sqlcmd
(как вы заметили, здесь вы будете использовать логин администратора):
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
Вы можете выйти из приглашения sqlcmd
, просто выполнив команду quit
.
Обратите внимание, что пользователи в группе db_owner по сути являются локальными администраторами, поэтому они могут делать практически все в базе данных. Безопасность — сложная — но чрезвычайно важная — тема, обязательно ознакомьтесь с основами здесь: Обзор возможностей безопасности Azure SQL Database и SQL Managed Instance
Получение строки подключения
Чтобы получить строку подключения, которую нужно использовать в вашем приложении для подключения к Azure SQL, вы можете просто использовать следующую команду AZ, где вы также можете указать, для какого языка или библиотеки вам нужна строка подключения:
az sql db show-connection-string -s dev-demo-sql-srv -c ado.net
Команда выведет строку подключения. Вам просто нужно заменить значения в угловых скобках, например <databasename>
на ваши значения. Убедитесь, что вы используете пользователя приложения, которого вы создали в шаге выше, и все готово!
Хотите узнать больше?
Если вы хотите узнать, каковы другие способы (с помощью портала, Powershell или AZ CLI), здесь вы найдете подробную статью: Быстрый старт: Создание единой базы данных Azure SQL Database
А если вы задаетесь вопросом, почему вам стоит обратить внимание на Azure SQL, то эта статья для вас: 10 причин использовать Azure SQL в вашем следующем проекте
Фотография предоставлена Pixabay