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

Том Дайкстра

Скачивание начального проекта

В этом руководстве показано, как развернуть (опубликовать) веб-приложение 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. В последней версии пакета SDK Azure вы также можете сделать это, не выходя из 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 Server".

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

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

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

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

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

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

    Шаг

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

    Страница веб-сайтов в портале управления, веб-сайт создан

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

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

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

Замечание

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

Скачайте файл .publishsettings

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

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

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

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

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

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

    сохранение файла .publishsettings

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

    Безопасность. Файл publishsettings содержит учетные данные (незакодированные), которые используются для администрирования подписок и служб Azure. Рекомендуется сохранить его временно за пределами исходных каталогов (например, в папке "Библиотеки\Документы"), а затем удалить его после завершения импорта. Злоумышленник, который получает доступ к файлу 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 в разделе "Базы данных" выберите "Выполнить первую миграцию кода" (выполняется при запуске приложения).

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

    Теперь вкладка "Параметры" выглядит следующим образом:

    Вкладка

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

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

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

      Переименование профиля в Staging

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

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

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

Замечание

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

  1. В Solution Explorer разверните Свойства, а затем разверните 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)" после заголовка H1 "Университет Contoso".

  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. Убедитесь, что выбран профиль Staging.

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

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

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

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

Стадия подготовка домашней страницы

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

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

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

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

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

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

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

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

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

  1. Создайте продуктовое веб-приложение и базу данных в Azure, выполнив ту же процедуру, которую вы использовали для стадии тестирования.

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

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

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

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

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

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

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

Файлы профиля публикации называются <> и находятся в папке 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 см. в статье «Практическое руководство: Изменение параметров развертывания в файлах профиля публикации (.pubxml) и файле .wpp.targets в веб-проектах Visual Studio».

  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. Откройте мастер Публикации Web, убедитесь, что выбран профиль публикации Производственный, а затем нажмите Пуск предварительного просмотра на вкладке Предварительный просмотр, чтобы убедиться, что файл 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, реальное рабочее приложение может потребовать специального кода для базы данных SQL Azure в некоторых сценариях. Дополнительные сведения см. в статье "Работа с базой данных SQL Azure" и выбор между SQL Server и Базой данных SQL Azure.