Меня эта возможность чрезвычайно заинтересовала, поэтому отсутствие документации на момент написания статьи меня не остановило. С тех пор как появились группы доступности, регулярно возникают вопросы о том, как автоматизировать присоединение (seeding) новых баз данных. Все предлагавшиеся решения сводились к довольно неуклюжим сценариям: создать резервную копию, восстановить её, присоединить базу к группе и так далее. Описываемая тут функциональность призвана избавить нас от всей этой возни.
Предположим, вы работаете с копией большой базы данных Stack Overflow и хотите получить сведения обо всех пользователях, например для экспорта данных. SQL Server не распараллеливает такой запрос — даже если использовать подсказку, которая требует построить параллельный план:
SELECT Id FROM dbo.Users;SELECT Id FROM dbo.Users OPTION (USE HINT('ENABLE_PARALLEL_PLAN_PREFERENCE'));
Здесь я выбираю только идентификаторы, поскольку в больших копиях базы данных Stack Overflow таблица Users занимает более 1 ГБ. SQL Server Management Studio требуется очень много времени, чтобы отобразить в сетке результатов данные такого объёма. А демонстрировать медленную работу SSMS — не моя цель. Если вы собираетесь повторять этот пример, убедитесь, что используете актуальную версию SQL Server Management Studio: я не хочу, чтобы во время экспериментов у вас закончилась оперативная память, как это могло происходить в старых версиях SSMS.
Почему же запрос не выполняется параллельно?

