ASP.NET веб-развертывания с помощью Visual Studio: развертывание в рабочей среде

Том Дайкстра (Tom Dykstra)

Скачать начальный проект

В этой серии руководств показано, как развернуть (опубликовать) веб-приложение ASP.NET для Служба приложений Azure веб-приложения или стороннего поставщика услуг размещения с помощью Visual Studio 2012 или Visual Studio 2010. Сведения о серии см. в первом руководстве этой серии.

Общие сведения

В этом руководстве вы настроите учетную запись Microsoft Azure, создадите промежуточную и рабочую среды, а также развернете веб-приложение ASP.NET в промежуточной и рабочей средах с помощью функции публикации одним щелчком мыши в Visual Studio.

При желании можно выполнить развертывание у стороннего поставщика услуг размещения. Большинство процедур, описанных в этом руководстве, одинаковы для поставщика услуг размещения или Azure, за исключением того, что у каждого поставщика есть собственный пользовательский интерфейс для управления учетной записью и веб-сайтом. Поставщик услуг размещения можно найти в коллекции поставщиков на веб-сайте Microsoft.com.

Напоминание. Если при работе с руководством появляется сообщение об ошибке или что-то не работает, обязательно проверка страницу Устранение неполадок в этой серии руководств.

Получение учетной записи Microsoft Azure

Если у вас еще нет учетной записи Azure, вы можете создать бесплатную пробную учетную запись всего за несколько минут. Дополнительные сведения см. в разделе Бесплатная пробная версия Azure.

Создание промежуточной среды

Примечание

С момента написания этого руководства Служба приложений Azure добавлена новая функция для автоматизации многих процессов создания промежуточных и рабочих сред. См. раздел Настройка промежуточных сред для веб-приложений в Служба приложений Azure.

Как описано в руководстве Развертывание в тестовой среде, наиболее надежной тестовой средой является веб-сайт у поставщика услуг размещения, который похож на рабочий веб-сайт. У многих поставщиков услуг размещения вам придется взвесить преимущества этого с существенными дополнительными затратами, но в Azure вы можете создать дополнительное бесплатное веб-приложение в качестве промежуточного приложения. Вам также потребуется база данных, и дополнительные затраты на эту базу данных будут либо отсутствуют, либо минимальны. В Azure вы платите за объем используемого хранилища базы данных, а не за каждую базу данных, а объем дополнительного хранилища, используемого в промежуточной среде, будет минимальным.

Как описано в руководстве По развертыванию в тестовой среде, в промежуточной и рабочей среде вы развернете две базы данных в одной базе данных. Если вы хотите сохранить их отдельно, процесс будет одинаковым, за исключением того, что вы создадите дополнительную базу данных для каждой среды и выберете правильную целевую строку для каждой базы данных при создании профиля публикации.

В этом разделе учебника вы создадите веб-приложение и базу данных для промежуточной среды, а затем развернете его в промежуточной среде и протестируете ее перед созданием и развертыванием в рабочей среде.

Примечание

Ниже показано, как создать веб-приложение в Служба приложений Azure с помощью портала управления Azure. В последней версии пакета AZURE SDK это также можно сделать, не выходя из Visual Studio, с помощью серверного Обозреватель. В Visual Studio 2013 вы также можете создать веб-приложение непосредственно из диалогового окна Публикация. Дополнительные сведения см. в статье Создание веб-приложения ASP.NET в Служба приложений Azure.

  1. На портале управления Azure щелкните Веб-сайты, а затем нажмите кнопку Создать.

  2. Щелкните Веб-сайт, а затем нажмите кнопку Пользовательское создание.

    Откроется мастер создания веб-сайта — пользовательское создание . Мастер пользовательского создания позволяет одновременно создавать веб-сайт и базу данных.

  3. На шаге Создание веб-сайта мастера введите строку в поле URL-адрес , которая будет использоваться в качестве уникального URL-адреса для промежуточной среды приложения. Например, введите ContosoUniversity-staging123 (включая случайные числа в конце, чтобы сделать его уникальным в случае использования ContosoUniversity-staging).

    Полный URL-адрес будет состоять из введенной здесь строки и суффикса, который отображается рядом с текстовым полем.

  4. В раскрывающемся списке Регион выберите ближайший к вам регион.

    Этот параметр указывает, в каком центре обработки данных будет выполняться ваше веб-приложение.

  5. В раскрывающемся списке База данных выберите Создать базу данных SQL.

  6. В поле Имя строки подключения базы данных оставьте значение по умолчанию DefaultConnection.

  7. Щелкните стрелку, которая указывает вправо в нижней части поля.

    На следующем рисунке показано диалоговое окно "Создание веб-сайта " с примерами значений. Введенные URL-адрес и регион будут отличаться.

    Шаг

    Мастер перейдет к шагу Указать параметры базы данных .

  8. В поле Имя введите ContosoUniversity плюс случайное число, чтобы сделать его уникальным, например ContosoUniversity123.

  9. В поле Сервер выберите Новый сервер База данных SQL.

  10. Введите имя и пароль администратора.

    Вы не вводите здесь существующее имя и пароль. Введите новые имя и пароль, которые в дальнейшем будут использоваться при обращении к базе данных.

  11. В поле Регион выберите тот же регион, который вы выбрали для веб-приложения.

    Сохранение веб-сервера и сервера базы данных в одном регионе обеспечивает оптимальную производительность и минимизирует затраты.

  12. Щелкните метку проверка в нижней части поля, чтобы указать, что все готово.

    На следующем рисунке показано диалоговое окно Укажите параметры базы данных с примерами значений. Введенные значения могут отличаться.

    Шаг

    Портал управления возвращается на страницу Веб-сайты, а в столбце Состояние отображается, что веб-приложение создается. Через некоторое время (обычно менее минуты) столбец Состояние показывает, что веб-приложение было успешно создано. На панели навигации слева рядом со значком Веб-сайты отображается количество веб-приложений в вашей учетной записи, а количество баз данных — рядом со значком Базы данных SQL .

    Страница

    Имя веб-приложения будет отличаться от примера приложения на рисунке.

Развертывание приложения в промежуточной среде

Теперь, когда вы создали веб-приложение и базу данных для промежуточной среды, вы можете развернуть в ней проект.

Примечание

В этих инструкциях показано, как создать профиль публикации путем скачивания файла PUBLISHSETTINGS , который работает не только для Azure, но и для сторонних поставщиков услуг размещения. Последняя версия пакета AZURE SDK также позволяет подключаться непосредственно к Azure из Visual Studio и выбирать веб-приложения из списка, которые у вас есть в учетной записи Azure. В Visual Studio 2013 вы можете войти в Azure из диалогового окна Веб-публикация или из окна Обозреватель сервера. Дополнительные сведения см. в статье Создание веб-приложения ASP.NET в Служба приложений Azure.

Скачивание файла PUBLISHSETTINGS

  1. Щелкните имя только что созданного веб-приложения.

    Щелкните сайт, чтобы перейти к панели мониторинга

  2. В разделе Краткий обзор на вкладке Панель мониторинга щелкните Скачать профиль публикации.

    Скачать ссылку на профиль публикации

    На этом шаге загружается файл, содержащий все параметры, необходимые для развертывания приложения в веб-приложении. Вы импортируете этот файл в Visual Studio, чтобы не вводить эти сведения вручную.

  3. Сохраните файл .publishsettings в папке, доступ к которому можно получить из Visual Studio.

    сохранение файла PUBLISHSETTINGS

    Предупреждение

    Безопасность— файл .publishsettings содержит учетные данные (без кода), которые используются для администрирования подписок и служб Azure. В целях безопасности для этого файла рекомендуется временно хранить его за пределами исходных каталогов (например, в папке Libraries\Documents), а затем удалять после завершения импорта. Злоумышленник, получивший доступ к файлу PUBLISHSETTINGS , может изменять, создавать и удалять службы Azure.

Создание профиля публикации

  1. В Visual Studio щелкните правой кнопкой мыши проект ContosoUniversity в Обозреватель решений и выберите Опубликовать в контекстном меню.

    Откроется мастер Публикация веб-сайта .

  2. Перейдите на вкладку Профиль .

  3. Щелкните Импорт.

  4. Перейдите к файлу PUBLISHSETTINGS , который вы скачали ранее, и нажмите кнопку Открыть.

    Диалоговое окно

  5. На вкладке Подключение нажмите кнопку Проверить подключение , чтобы убедиться в правильности параметров.

    После проверки подключения рядом с кнопкой Проверить подключение отображается зеленая метка проверка.

    Для некоторых поставщиков услуг размещения при нажатии кнопки Проверить подключение может появиться диалоговое окно Ошибка сертификата . В этом случае убедитесь, что имя сервера соответствует ожидаемому. Если имя сервера правильное, выберите Сохранить этот сертификат для будущих сеансов Visual Studio и нажмите кнопку Принять. (Эта ошибка означает, что поставщик услуг размещения решил избежать расходов на приобретение SSL-сертификата для URL-адреса, на который выполняется развертывание. Если вы предпочитаете установить безопасное подключение с помощью допустимого сертификата, обратитесь к поставщику услуг размещения.)

  6. Щелкните Далее.

    Значок успешного подключения и кнопка

  7. На вкладке Параметры разверните узел Параметры публикации файла, а затем выберите Исключить файлы из папки App_Data.

    Дополнительные сведения о других параметрах в разделе Параметры публикации файлов см. в руководстве по развертыванию в IIS . Снимок экрана, показывающий результат этого шага и следующие шаги настройки базы данных, находится в конце шагов настройки базы данных.

  8. В разделе DefaultConnection в разделе Базы данных настройте развертывание базы данных для базы данных членства.

    1. Выберите Обновить базу данных.

      Поле Строка удаленного подключения непосредственно под DefaultConnection заполняется строкой подключения из файла PUBLISHSETTINGS. Строка подключения содержит SQL Server учетные данные, которые хранятся в виде обычного текста в PUBXML-файле. Если вы предпочитаете не хранить их там постоянно, их можно удалить из профиля публикации после развертывания базы данных и сохранить в Azure. Дополнительные сведения см. в статье Как обеспечить безопасность строк подключения к базе данных ASP.NET при развертывании в Azure из источника в блоге Скотта Хансельмана. 2. Щелкните Настроить обновления базы данных. 3. В диалоговом окне Настройка базы данных Обновления щелкните Добавить скрипт SQL. 4. В поле Добавление скрипта SQL перейдите к скрипту aspnet-data-prod.sql , который вы сохранили ранее в папке решения, и нажмите кнопку Открыть. 5. Закройте диалоговое окно Настройка базы данных Обновления.

  9. В разделе SchoolContext в разделе Базы данных выберите Выполнить Code First Migrations (выполняется при запуске приложения).

    Visual Studio отображает выполнение Code First Migrations вместо обновления базы данных для DbContext классов. Если вы хотите использовать поставщик dbDacFx вместо migrations для развертывания базы данных, к которой вы обращаетесь с помощью DbContext класса, см. статью Разделы справки развернуть базу данных Code First без миграций? в разделе Вопросы и ответы о веб-развертывании для Visual Studio и ASP.NET на сайте MSDN.

    Вкладка Параметры теперь выглядит так, как показано в следующем примере:

    Вкладка

  10. Чтобы сохранить профиль и переименовать его в промежуточный, выполните следующие действия.

    1. Перейдите на вкладку Профиль и щелкните Управление профилями.

    2. Импорт создал два новых профиля: один для FTP и один для веб-развертывания. Вы настроили профиль веб-развертывания: переименуйте этот профиль в промежуточный.

      Переименование профиля в промежуточный

    3. Закройте диалоговое окно Изменение профилей веб-публикации .

    4. Закройте мастер публикации веб-сайта .

Настройка преобразования профиля публикации для индикатора среды

Примечание

В этом разделе показано, как настроить преобразование Web.config для индикатора среды. Так как индикатор находится в элементе <appSettings> , у вас есть другая альтернатива для указания преобразования при развертывании в Служба приложений Azure. Дополнительные сведения см. в статье Указание параметров Web.config в Azure.

  1. В Обозреватель решений разверните узел Свойства, а затем — PublishProfiles.

  2. Щелкните правой кнопкой мыши Staging.pubxml и выберите команду Добавить преобразование конфигурации.

    Добавление преобразования конфигурации для промежуточного хранения

    Visual Studio создает файл преобразованияWeb.Staging.config и открывает его.

  3. В файл преобразованияWeb.Staging.config вставьте следующий код сразу после открывающем configuration тега.

    <appSettings>
        <add key="Environment" value="Prod" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
    </appSettings>
    

    При использовании профиля промежуточной публикации это преобразование устанавливает для индикатора среды значение "Prod". В развернутом веб-приложении вы не увидите суффикс, например "(Dev)" или "(Test)" после заголовка "Университет Contoso" H1.

  4. Щелкните правой кнопкой мыши файл Web.Staging.config и выберите команду Предварительный просмотр преобразования , чтобы убедиться, что закодированное преобразование приводит к ожидаемым изменениям.

    В окне предварительного просмотраWeb.config отображается результат применения преобразований Web.Release.config и Web.Staging.config .

Запретить общедоступное использование тестового приложения

Важно учитывать, что промежуточное приложение будет доступно в Интернете, но вы не хотите, чтобы его использовали. Чтобы свести к минимуму вероятность того, что пользователи будут находить и использовать его, можно использовать один или несколько из следующих методов:

  • Задайте правила брандмауэра, разрешающие доступ к промежуточному приложению только с IP-адресов, используемых для тестирования промежуточного хранения.
  • Используйте замаскированный URL-адрес, который невозможно угадать.
  • Создайте файлrobots.txt , чтобы поисковые системы не сканировали тестовое приложение и не сообщали о его ссылках в результатах поиска.

Первый из этих методов является наиболее эффективным, но не рассматривается в этом руководстве, так как для этого потребуется выполнить развертывание в облачной службе Azure, а не в Служба приложений Azure. Дополнительные сведения об ограничениях Облачные службы и IP-адресов в Azure см. в разделах Варианты размещения вычислений, предоставляемые Azure и Блокировка определенных IP-адресов при доступе к веб-роли. Если вы выполняете развертывание в стороннем поставщике услуг размещения, обратитесь к поставщику, чтобы узнать, как реализовать ограничения IP-адресов.

В этом руководстве вы создадите файлrobots.txt .

  1. В Обозреватель решений щелкните правой кнопкой мыши проект ContosoUniversity и выберите команду Добавить новый элемент.

  2. Создайте новый текстовый файл с именемrobots.txtи вставьте в него следующий текст:

    User-agent: *
    Disallow: /
    

    Строка User-agent сообщает поисковым системам, что правила в файле применяются ко всем поисковым роботам(роботам), а Disallow строка указывает, что ни для каких страниц сайта не следует выполнять обход.

    Вы хотите, чтобы поисковые системы каталоги каталоги вашего рабочего приложения, поэтому необходимо исключить этот файл из рабочего развертывания. Для этого необходимо настроить параметр в профиле публикации в рабочей среде при его создании.

Развертывание в промежуточное хранилище

  1. Откройте мастер публикации веб-страницы , щелкнув правой кнопкой мыши проект Contoso University и выбрав Команду Опубликовать.

  2. Убедитесь, что выбран промежуточный профиль.

  3. Нажмите кнопку Опубликовать.

    В окне Вывод указывается, какие действия по развертыванию были выполнены, а также сообщается об успешном завершении развертывания. Браузер по умолчанию автоматически открывает URL-адрес развернутого веб-приложения.

Тестирование в промежуточной среде

Обратите внимание, что индикатор среды отсутствует (после заголовка H1 отсутствует "(Test)" или "(Dev)", что показывает, что Web.config преобразование для индикатора среды прошло успешно.

Промежуточная домашняя страница

Запустите страницу Учащиеся , чтобы убедиться, что в развернутой базе данных нет учащихся.

Запустите страницу Преподаватели , чтобы убедиться, что Code First задал базу данных с данными преподавателя:

Выберите Добавить учащихся в меню Учащиеся , добавьте учащегося и просмотрите нового учащегося на странице Учащиеся , чтобы убедиться, что вы можете успешно выполнить запись в базу данных.

На странице Курсы щелкните Обновить кредиты. Для страницы "Кредиты на обновление " требуются разрешения администратора, поэтому отображается страница "Вход ". Введите ранее созданные учетные данные учетной записи администратора (admin и prodpwd). Появится страница Update Credits (Обновление кредитов ), которая проверяет, правильно ли развернута учетная запись администратора, созданная в предыдущем руководстве, в тестовой среде.

Запросите недопустимый URL-адрес, чтобы вызвать ошибку, которую будет отслеживать ELMAH, а затем запросите отчет об ошибке ELMAH. При развертывании в стороннем поставщике услуг размещения вы, вероятно, обнаружите, что отчет пуст по той же причине, по которой он был пуст в предыдущем руководстве. Вам потребуется использовать средства управления учетными записями поставщика услуг размещения, чтобы настроить разрешения для папок, чтобы разрешить ELMAH выполнять запись в папку журнала.

Созданное приложение теперь выполняется в облаке в веб-приложении, которое аналогично тому, что вы будете использовать в рабочей среде. Так как все работает правильно, следующим шагом является развертывание в рабочей среде.

Развертывание в рабочую среду

Процесс создания рабочего веб-приложения и его развертывания в рабочей среде такой же, как и для промежуточного хранения, за исключением исключения robots.txt из развертывания. Для этого измените файл профиля публикации.

Создание рабочей среды и профиля публикации в рабочей среде

  1. Создайте рабочее веб-приложение и базу данных в Azure, выполнив ту же процедуру, что и для промежуточного хранения.

    При создании базы данных можно разместить ее на том же сервере, который вы создали ранее, или создать новый сервер.

  2. Скачайте файл PUBLISHSETTINGS .

  3. Создайте профиль публикации, импортировав рабочий файл .publishsettings , выполнив ту же процедуру, что и для промежуточного хранения.

    Не забудьте настроить скрипт развертывания данных в разделе DefaultConnection в разделе Базы данных на вкладке Параметры .

  4. Переименуйте профиль публикации в Production.

  5. Настройте преобразование профиля публикации для индикатора среды, выполнив ту же процедуру, что и для промежуточного хранения.

Измените PUBXML-файл, чтобы исключить robots.txt

Файлы профиля публикации называются <profilename.pubxml> и находятся в папке PublishProfiles. Папка PublishProfiles находится в папке Свойства в проекте веб-приложения C#, в папке Мой проект в проекте веб-приложения VB или в папке App_Data в проекте веб-приложения. Каждый PUBXML-файл содержит параметры, которые применяются к одному профилю публикации. Значения, которые вы вводите в мастере публикации веб-страницы, хранятся в этих файлах, и их можно изменить, чтобы создать или изменить параметры, недоступные в пользовательском интерфейсе Visual Studio.

По умолчанию PUBXML-файлы включаются в проект при создании профиля публикации, но их можно исключить из проекта, и Visual Studio по-прежнему будет использовать их. Visual Studio ищет в папке PublishProfiles файлы PUBXML независимо от того, включены ли они в проект.

Для каждого PUBXML-файла имеется файл .pubxml.user . Файл .pubxml.user содержит зашифрованный пароль, если выбран параметр Сохранить пароль и по умолчанию он исключается из проекта.

PUBXML-файл содержит параметры, относящиеся к конкретному профилю публикации. Если вы хотите настроить параметры, которые применяются ко всем профилям, можно создать файл WPP.targets . Процесс сборки импортирует эти файлы в файл проекта CSPROJ или VBPROJ , поэтому большинство параметров, которые можно настроить в файле проекта, можно настроить в этих файлах. Дополнительные сведения о файлах PUBXML и WPP.TARGETS см. в разделах How to: Edit Deployment Settings in Publish Profile (.pubxml) Files and the WPP.targets File in Visual Studio Web Projects.

  1. В Обозреватель решений разверните узлы Свойства и PublishProfiles.

  2. Щелкните правой кнопкой мыши Production.pubxml и выберите команду Открыть.

    Откройте ФАЙЛ PUBXML

  3. Щелкните правой кнопкой мыши Production.pubxml и выберите команду Открыть.

  4. Добавьте следующие строки непосредственно перед закрывающим PropertyGroup элементом:

    <ExcludeFilesFromDeployment>
        robots.txt
    </ExcludeFilesFromDeployment>
    

    PubXML-файл теперь выглядит так, как показано в следующем примере:

    <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
      <PropertyGroup>
        <WebPublishMethod>MSDeploy</WebPublishMethod>
        <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
        <LastUsedPlatform>Any CPU</LastUsedPlatform>
        <SiteUrlToLaunchAfterPublish>http://contosou-staging.azurewebsites.net</SiteUrlToLaunchAfterPublish>
        <ExcludeApp_Data>True</ExcludeApp_Data>
        <MSDeployServiceURL>waws-prod-bay-001.publish.azurewebsites.windows.net:443</MSDeployServiceURL>
        <DeployIisAppPath>contosou-staging</DeployIisAppPath>
        <RemoteSitePhysicalPath />
        <SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
        <MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
        <UserName>[username]</UserName>
        <_SavePWD>True</_SavePWD>
        <PublishDatabaseSettings>
          <!-- database settings removed -->
        </PublishDatabaseSettings>
        <ExcludeFilesFromDeployment>
            robots.txt
        </ExcludeFilesFromDeployment>
      </PropertyGroup>
      <ItemGroup>
        <MSDeployParameterValue Include="$(DeployParameterPrefix)DefaultConnection-Web.config Connection String">
          <ParameterValue>Data Source=tcp:sk0264hvc9.database.windows.net,1433;Initial Catalog=ContosoUniversity-staging;User Id=CU-staging-admin@sk0264hvc9;Password=</ParameterValue>
        </MSDeployParameterValue>
        <MSDeployParameterValue Include="$(DeployParameterPrefix)SchoolContext-Web.config Connection String">
          <ParameterValue>Data Source=tcp:sk0264hvc9.database.windows.net,1433;Initial Catalog=ContosoUniversity-staging;User Id=CU-staging-admin@sk0264hvc9;Password=</ParameterValue>
        </MSDeployParameterValue>
      </ItemGroup>
    </Project>
    

    Дополнительные сведения об исключении файлов и папок см. в разделе Можно ли исключить определенные файлы или папки из развертывания? статьи Вопросы и ответы о веб-развертывании для Visual Studio и ASP.NET на сайте MSDN.

Развертывание в рабочую среду

  1. Откройте мастер публикации в Интернете , убедитесь, что выбран профиль публикации в рабочей среде, а затем нажмите кнопку Начать предварительный просмотр на вкладке Предварительный просмотр , чтобы убедиться, что файлrobots.txt не будет скопирован в рабочее приложение.

    Предварительный просмотр файлов для публикации в рабочей среде

    Просмотрите список файлов, которые будут скопированы. Вы увидите, что все CS-файлы , включая файлы .aspx.cs, .aspx.designer.cs, Master.cs и Master.designer.cs , опущены. Весь этот код был скомпилирован в файлы ContosoUniversity.dll и ContosoUniversity.pdb , которые можно найти в папке bin . Так как для запуска приложения требуется только .dll , а ранее вы указали, что должны быть развернуты только файлы, необходимые для запуска приложения, cs-файлы не были скопированы в целевую среду. Папка obj и файлы ContosoUniversity.csproj и .csproj.user опущены по той же причине.

    Щелкните Опубликовать , чтобы выполнить развертывание в рабочей среде.

  2. Выполните тестирование в рабочей среде, выполнив ту же процедуру, которая использовалась для промежуточного хранения.

    Все содержимое идентично промежуточному за исключением URL-адреса и отсутствия файлаrobots.txt .

Итоги

Теперь вы успешно развернули и протестировали веб-приложение, и оно стало общедоступным через Интернет.

Производство домашней страницы

В следующем руководстве вы обновите код приложения и развернете изменения в тестовой, промежуточной и рабочей средах.

Примечание

Пока приложение используется в рабочей среде, следует реализовать план восстановления. То есть следует периодически выполнять резервное копирование баз данных из рабочего приложения в безопасное место хранения и хранить несколько поколений таких резервных копий. При обновлении базы данных следует создать резервную копию непосредственно перед изменением. Если вы допустите ошибку и не обнаружите ее до развертывания в рабочей среде, вы по-прежнему сможете восстановить базу данных в том состоянии, в которое она находилась до ее повреждения. Дополнительные сведения см. в статье Резервное копирование и восстановление базы данных SQL Azure.

Примечание

В этом руководстве SQL Server выпуск, в который выполняется развертывание, — это Azure SQL Database. Хотя процесс развертывания аналогичен другим выпускам SQL Server, в некоторых сценариях для реального рабочего приложения может потребоваться специальный код для Azure SQL Database. Дополнительные сведения см. в разделах Работа с базой данных Azure SQL и Выбор между SQL Server и базой данных Azure SQL.