Обновление приложения для использования новой версии клиентской библиотеки эластичной базы данных

Применимо к:База данных SQL Azure

Новые версии клиентской библиотеки эластичной базы данных доступны на сайте NuGet и через интерфейс диспетчера пакетов NuGet в Visual Studio. В обновленных версиях исправлены ошибки и добавлена поддержка новых возможностей клиентской библиотеки.

Новая версия : Microsoft.Azure.SqlDatabase.ElasticScale.Client.

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

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

Действия по обновлению

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

  • В Visual Studio выберите Инструменты -->Диспетчер пакетов NuGet -->Управление пакетами NuGet для решения.
  • (Visual Studio 2013.) В левой области выберите Обновления и нажмите кнопку Обновить возле отобразившегося в окне пакета Azure SQL Database Elastic Scale Client Library (База данных SQL Azure — клиентская библиотека эластичного масштабирования).
  • (Visual Studio 2015.) В поле фильтра выберите значение Доступно обновление. Выберите пакет для обновления и нажмите кнопку "Обновить ".
  • (Visual Studio 2017) В верхней части диалогового окна выберите Обновления. Выберите пакет для обновления и нажмите кнопку "Обновить ".
  • Выполните сборку и развертывание.

2. Обновите свои сценарии. Если вы используете скрипты PowerShell для управления сегментами, скачайте новую версию библиотеки и скопируйте ее в каталог, из которого выполняются скрипты.

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

4. Обновите базы данных диспетчера карты сегментов. Обновите метаданные, обслуживающие функцию сопоставления сегментов в базе данных SQL Azure. Это можно сделать двумя способами — с помощью PowerShell или C#. Ниже описаны оба этих способа.

Вариант 1. Обновление метаданных с помощью PowerShell

  1. Скачайте последнюю версию служебной программы командной строки для NuGet здесь и сохраните ее в папке.
  2. Откройте командную строку, перейдите к указанной папке и выполните следующую команду: nuget install Microsoft.Azure.SqlDatabase.ElasticScale.Client
  3. Перейдите к вложенной папке, содержащей скачаемую версию библиотеки DLL клиента, например: cd .\Microsoft.Azure.SqlDatabase.ElasticScale.Client.1.0.0\lib\net45
  4. Скачайте сценарий обновления клиента эластичного масштабирования из Центра сценариев и сохраните его в папке, содержащей библиотеку DLL.
  5. В этой папке запустите PowerShell .\upgrade.ps1 из командной строки и следуйте инструкциям.

Вариант 2. Обновление метаданных с помощью C#

Создайте приложение Visual Studio, которое открывает диспетчер сопоставления сегментов. Это приложение выполняет итерацию сегментов и обновляет метаданные с помощью методов UpgradeLocalStore и UpgradeGlobalStore, как в следующем примере.

    ShardMapManager smm =
       ShardMapManagerFactory.GetSqlShardMapManager
       (connStr, ShardMapManagerLoadPolicy.Lazy);
    smm.UpgradeGlobalStore();

    foreach (ShardLocation loc in
     smm.GetDistinctShardLocations())
    {
       smm.UpgradeLocalStore(loc);
    }

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

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

Журнал версий клиента эластичной базы данных

Журнал версий можно просмотреть здесь: Microsoft.Azure.SqlDatabase.ElasticScale.Client

Дополнительные ресурсы

Еще не используете средства эластичных баз данных? Ознакомьтесь с нашим руководством по началу работы. Возникшие вопросы вы можете задать нам на странице вопросов Microsoft Q&A по Базе данных SQL. Что касается запросов новых функций, вы можете поделиться новыми идеями или проголосовать за существующие на форуме отзывов по Базе данных SQL.