Добавление подключения к База данных SQL Azure
С помощью подключенных служб Visual Studio можно подключиться к База данных SQL Azure, локальному эмулятору (например, во время разработки) или локальной базе данных SQL Server. Сведения о локальном SQL Server см. в разделе "Подключение к базе данных".
С помощью Visual Studio можно подключиться из любого из следующих типов проектов с помощью функции подключенных служб :
- ASP.NET Core
- .NET Core (включая консольное приложение, WPF, Windows Forms, библиотеку классов)
- Рабочая роль .NET Core
- Функции Azure
- консольное приложение платформа .NET Framework
- ASP.NET контроллер модели-представления (MVC) (платформа .NET Framework)
- приложение универсальная платформа Windows
Подключенные службы добавляют необходимые ссылки и код подключения в проект и вносят соответствующие изменения в файлы конфигурации.
Необходимые компоненты
- Visual Studio с установленной рабочей нагрузкой Azure.
- Проект одного из поддерживаемых типов
- Учетная запись Azure. Если у вас нет учетной записи Azure, активируйте преимущества Azure для подписчиков Visual Studio или зарегистрируйтесь для получения бесплатной пробной версии.
Подключение к База данных SQL Azure с помощью подключенных служб
Откройте проект в Visual Studio.
В Обозреватель решений щелкните правой кнопкой мыши узел "Подключенные службы" и в контекстном меню выберите "Добавить", чтобы открыть меню доступных служб.
Если узел "Подключенные службы" не отображается, выберите "Добавить подключенные службы> project".>
Выберите базу данных SQL Server. Откроется страница подключения к зависимости. Вы увидите несколько вариантов:
- SQL Server Express LocalDB, встроенное База данных SQL предложение, установленное с помощью Visual Studio
- База данных SQL Server на локальном контейнере на компьютере
- База данных SQL Server, локальная среда SQL Server в локальной сети
- База данных SQL Azure для База данных SQL, работающей в качестве службы Azure
Вы можете сократить затраты и упростить раннюю разработку, начиная с локальной базы данных. Вы можете перейти в динамическую службу в Azure позже, повторив эти действия и выбрав другой вариант. Если вы создаете базу данных локально, которую вы хотите повторно создать в Azure, вы можете перенести базу данных в Azure в то время.
Если вы хотите подключиться к службе Azure, перейдите к следующему шагу или, если вы еще не вошли, войдите в учетную запись Azure, прежде чем продолжить. Если у вас нет учетной записи Azure, вы можете зарегистрироваться и получить бесплатную пробную версию.
На экране "Настройка База данных SQL Azure" выберите существующую База данных SQL Azure и нажмите кнопку "Далее".
Если вам нужно создать новый компонент, перейдите к следующему шагу. В противном случае перейдите к шагу 7.
Чтобы создать базу данных SQL Azure, выполните приведенные действия.
Нажмите кнопку "Создать" по зеленому знаку плюса.
Заполните База данных SQL Azure: создайте новый экран и нажмите кнопку "Создать".
При отображении экрана "Настройка База данных SQL Azure" новая база данных появится в списке. Выберите новую базу данных в списке и нажмите кнопку "Далее".
Введите имя строка подключения или выберите значение по умолчанию, а затем нажмите кнопку "Дополнительные параметры".
Примечание.
В Visual Studio 2022 версии 17.12 и более поздних версиях эта процедура использует управляемое удостоверение Microsoft Entra, метод проверки подлинности без пароля для подключения к базе данных. Предупреждение на этом экране означает, что после выполнения этой процедуры в Visual Studio необходимо выполнить ручной шаг на портале Azure. См . проверку подлинности Microsoft Entra.
Выберите, хотите ли строка подключения храниться в локальном файле секретов или в Azure Key Vault, а затем нажмите кнопку "Далее".
На экране "Сводка изменений" отображаются все изменения, которые будут внесены в проект при завершении процесса. Если изменения выглядят ОК, нажмите кнопку "Готово".
Если появится запрос на настройку правил брандмауэра, нажмите кнопку "Да".
В Обозреватель решений дважды щелкните узел "Подключенные службы", чтобы открыть вкладку "Подключенные службы". Подключение отображается в разделе "Зависимости службы":
Если щелкнуть три точки рядом с добавленной зависимостью, можно увидеть различные параметры, такие как подключение , чтобы повторно открыть мастер и изменить подключение. Вы также можете щелкнуть три точки в правом верхнем углу окна, чтобы просмотреть параметры для запуска локальных зависимостей, изменения параметров и т. д.
Если вы используете управляемое удостоверение (Visual Studio 17.12 и более поздние версии), см. следующий раздел, чтобы настроить пользователя управляемого удостоверения в базе данных SQL Azure.
Проверка подлинности Microsoft Entra
При использовании Visual Studio 2022 версии 17.12 и более поздних версий процедура подключенных служб использует проверку подлинности Microsoft Entra, которая является самым безопасным методом проверки подлинности. Однако Visual Studio не создает пользователя администратора Microsoft Entra в базе данных SQL Azure автоматически. Если у пользователя администратора Microsoft Entra нет, подключение не пройдет проверку подлинности.
Вы можете использовать портал Azure, PowerShell или Azure CLI для создания пользователя администратора Microsoft Entra. Подробные инструкции по каждому из этих методов см. в разделе "Настройка пользователя администратора Microsoft Entra".
После завершения процесса подключенных служб необходимо создать пользователя SQL, соответствующего управляемому удостоверению, и задать разрешения, выполнив инструкции SQL в базе данных. Войдите в редактор запросов на портале Azure в качестве пользователя администратора Microsoft Entra и выполните следующие инструкции:
CREATE USER [<identity-name>] FROM EXTERNAL PROVIDER;
ALTER ROLE db_datareader ADD MEMBER [<identity-name>];
ALTER ROLE db_datawriter ADD MEMBER [<identity-name>];
ALTER ROLE db_ddladmin ADD MEMBER [<identity-name>];
GO
Имя <identity-name>
управляемого удостоверения в идентификаторе Microsoft Entra. Если удостоверение назначено системой, имя всегда будет совпадать с именем приложения Службы приложений. Для слота развертывания имя <app-name>/slots/<slot-name>
его назначаемого системой удостоверения. Чтобы предоставить разрешения для группы Microsoft Entra, используйте отображаемое имя группы (например, myAzureSQLDBAccessGroup
). См. сведения о типах управляемых удостоверений и управляемых удостоверениях в Microsoft Entra для SQL Azure. Добавляемые роли зависят от вариантов использования. См. раздел ALTER ROLE.
Если вы ссылаетесь System.Data.SqlClient
на код, вам потребуется выполнить обновление Microsoft.Data.SqlClient
до версии, так как System.Data.SqlClient
не поддерживает проверку подлинности Microsoft Entra. Чтобы обновить, добавьте ссылку на пакет NuGet Microsoft.Data.SqlClient и обновите все директивы using, ссылающиеся System.Data.SqlClient
на Microsoft.Data.SqlClient
пространство имен. Существуют некоторые изменения в поведении; См. памятка по переносу.
Откройте проект в Visual Studio.
В Обозреватель решений щелкните правой кнопкой мыши узел "Подключенные службы" и в контекстном меню выберите "Добавить", чтобы открыть меню доступных служб.
Если узел "Подключенные службы" не отображается, выберите "Добавить подключенные службы> project".>
Выберите базу данных SQL Server. Откроется страница подключения к зависимости. Вы увидите несколько вариантов:
- SQL Server Express LocalDB, встроенное База данных SQL предложение, установленное с помощью Visual Studio
- База данных SQL Server на локальном контейнере на компьютере
- База данных SQL Server, локальная среда SQL Server в локальной сети
- База данных SQL Azure для База данных SQL, работающей в качестве службы Azure
Вы можете сократить затраты и упростить раннюю разработку, начиная с локальной базы данных. Вы можете перейти в динамическую службу в Azure позже, повторив эти действия и выбрав другой вариант. Если вы создаете базу данных локально, которую вы хотите повторно создать в Azure, вы можете перенести базу данных в Azure в то время.
Если вы хотите подключиться к службе Azure, перейдите к следующему шагу или, если вы еще не вошли, войдите в учетную запись Azure, прежде чем продолжить. Если у вас нет учетной записи Azure, вы можете зарегистрироваться и получить бесплатную пробную версию.
На экране "Настройка База данных SQL Azure" выберите существующую База данных SQL Azure и нажмите кнопку "Далее".
Если вам нужно создать новый компонент, перейдите к следующему шагу. В противном случае перейдите к шагу 7.
Чтобы создать базу данных SQL Azure, выполните приведенные действия.
Нажмите кнопку "Создать" по зеленому знаку плюса.
Заполните База данных SQL Azure: создайте новый экран и нажмите кнопку "Создать".
При отображении экрана "Настройка База данных SQL Azure" новая база данных появится в списке. Выберите новую базу данных в списке и нажмите кнопку "Далее".
Введите имя строка подключения или выберите значение по умолчанию и выберите, хотите ли строка подключения храниться в локальном файле секретов или в Azure Key Vault.
На экране "Сводка изменений" отображаются все изменения, которые будут внесены в проект при завершении процесса. Если изменения выглядят ОК, нажмите кнопку "Готово".
Если появится запрос на настройку правил брандмауэра, нажмите кнопку "Да".
В Обозреватель решений дважды щелкните узел "Подключенные службы", чтобы открыть вкладку "Подключенные службы". Подключение отображается в разделе "Зависимости службы":
Если щелкнуть три точки рядом с добавленной зависимостью, можно увидеть различные параметры, такие как подключение , чтобы повторно открыть мастер и изменить подключение. Вы также можете щелкнуть три точки в правом верхнем углу окна, чтобы просмотреть параметры для запуска локальных зависимостей, изменения параметров и т. д.
Доступ к строка подключения
Узнайте, как безопасно хранить секреты, следуя безопасному хранилищу секретов приложений в разработке в ASP.NET Core. В частности, чтобы прочитать строка подключения из хранилища секретов, можно добавить код, как в разделе "Чтение секрета" через API конфигурации. См. также внедрение зависимостей в ASP.NET Core.
Миграции Entity Framework
Это может быть удобно для работы с локальным хранилищем данных во время ранней разработки, но с Entity Framework Core, когда вы будете готовы перейти в облако, вы можете использовать поддержку Visual Studio для миграции Entity Framework для перемещения базы данных или слияния изменений с удаленным хранилищем данных. Обзор миграций.
На вкладке "Подключенные службы " можно найти команды миграции, щелкнув три точки, как показано на снимке экрана:
Команды доступны для создания новых миграций, их непосредственного применения или создания скриптов SQL, которые применяют миграцию.
Добавление миграции
При изменении модели данных можно использовать средства Entity Framework Core для добавления соответствующей миграции, описывающей в коде обновления, необходимые для синхронизации схемы базы данных. Entity Framework Core сравнивает текущую модель с моментальным снимком старой модели, чтобы определить различия и создать исходные файлы миграции. Файлы добавляются в проект, как правило, в папке с именем Migrations и могут отслеживаться в системе управления версиями проекта, как и любой другой исходный файл.
При выборе этого параметра вам будет предложено указать имя класса контекста, представляющее схему базы данных, которую требуется перенести.
Обновление базы данных
После создания миграции его можно применить к базе данных. Entity Framework обновляет базу данных и схему с изменениями, указанными в коде миграции. При выборе этого параметра вам будет предложено указать имя класса контекста, представляющее схему базы данных, которую требуется перенести.
Создание скрипта SQL
Рекомендуемый способ развертывания миграции в рабочую базу данных — создание скриптов SQL. К преимуществам этой стратегии относятся следующие преимущества:
- Скрипты SQL можно проверить для точности; Это важно, так как применение изменений схемы к рабочим базам данных является потенциально опасной операцией, которая может привести к потере данных.
- В некоторых случаях скрипты можно настроить в соответствии с конкретными потребностями рабочей базы данных.
- Скрипты SQL можно использовать в сочетании с технологией развертывания и даже создавать в рамках процесса CI.
- Скрипты SQL можно предоставлять в DBA и управлять и архивировать отдельно.
При использовании этого параметра вам будет предложено класс контекста базы данных и расположение файла скрипта.
Открытие в SQL Server обозреватель объектов
Для удобства эта команда позволяет перейти к обозреватель объектов SQL Server, чтобы просматривать таблицы и другие сущности базы данных и работать непосредственно с данными. См . обозреватель объектов.
Следующие шаги
Вы можете продолжить работу с краткими руководствами по База данных SQL Azure, но вместо начала можно начать после настройки начального подключения. Если вы используете Entity Framework, вы можете начать с добавления кода для подключения к База данных SQL Azure. Если вы используете SqlClient
или ADO.NET классы данных, можно начать с добавления кода для подключения к База данных SQL Azure.
Код не будет точно соответствовать тому, что используется в кратких руководствах, которые используют другой способ получения строка подключения. Строка подключения являются секретами и безопасно хранятся, как описано в безопасном хранении секретов приложений в разработке в ASP.NET Core. В частности, чтобы прочитать строка подключения из хранилища секретов, можно добавить код, как в разделе "Чтение секрета" через API конфигурации.
В проектах ASP.NET Core параметр подключения или строка подключения, созданный подключенными службами, доступен в объекте конфигурации. К нему можно получить доступ по свойству класса WebApplicationBuilder
(builder
во многих шаблонах проектов), как показано в следующем примере:
var connection = builder.Configuration["ConnectionStrings:DatabaseConnection"];
Строка, предоставляемая свойству Configuration, должна соответствовать ключу в secrets.json или в Azure Key Vault, который вы указали в процедуре подключенных служб. Например, при использовании Visual Studio 2022 17.12 и более поздних версий параметр подключения хранится в secrets.json как:
{
"ConnectionStrings:DatabaseConnection": "Server=tcp:webapplication16dbserver.database.windows.net;Authentication=Active Directory Default;Database=WebApplication16_db;",
}
В проектах ASP.NET Core параметр подключения или строка подключения, созданный подключенными службами, доступен в объекте конфигурации. К нему можно получить доступ по свойству класса WebApplicationBuilder
(builder
во многих шаблонах проектов), как показано в следующем примере:
var connection = builder.Configuration["ConnectionStrings:ConnectionString1"];