/ / Системний DMV відсутній у SQL Server 2017 master.dacpac у SSDT 2015 - sql-server, ssdt

Система DMV відсутня в SQL Server 2017 master.dacpac в SSDT 2015 - sql-сервер, ssdt

Я маю відмінне обслуговування Оли ХаленнгренСценарії рішень, включені в проект бази даних інструментів DBA. Це підтримується за допомогою SSDT 2015 з цільовою платформою SQL Server 2012. Проект включає посилання на вбудовані системні бази даних master & msdb. Проект будується успішно.

Ола нещодавно оновлено його сценарії, і тепер вони містять посилання на нові DMV "SQL Server 2017", тому включення оновлених сценаріїв у мій проект бази даних породило невирішені помилки посилань для нових DMV.

SQL71502: Procedure: [dbo].[DatabaseBackup] has an unresolved reference to object [sys].[dm_os_host_info]
SQL71502: Procedure: [dbo].[DatabaseBackup] has an unresolved reference to object [sys].[dm_db_log_stats]

Хоча у мене не встановлено SQL Server 2017в будь-якому місці я спробував оновити цільову платформу до SQL Server 2017, а потім видалити та відтворити посилання на основну базу даних (тобто оновити master.dacpac до версії SQL Server 2017), але це не видалило помилок збірки.

Шлях до файлу для посилання dacpac:

C:Program Files (x86)Microsoft Visual Studio 14.0Common7IDEExtensionsMicrosoftSQLDBExtensionsSqlServer140SqlSchemasmaster.dacpac

Коли я перевіряю dacpac, нові DMV "s [sys]. [Dm_os_host_info] та [sys]. [Dm_db_log_stats] там немає".

Вчора я зв’язався з Slack, і Пітер Шотт звернувся до мене до чудового допису в блозі, який він написав щодо оновлення master.dacpac (посилання). Теорія полягає в тому, щоб захопити відсутні DMV і додати їх до master.dacpac самостійно. Для цього мені довелося б закрутити тестову машину та встановити SQL Server 2017, але це можливо як обхідний шлях.

Однак мені здається, це щось, що мені не потрібно було робити. Врешті-решт, це системні DMV, відсутні в master.dacpac, а не додавати мій власний код до бази даних master.

Отже, мої запитання такі:

  1. Це проблема з моєю локальною установкою SSDT або загальна проблема із системним DMV, який відсутній у dacpac, який встановлюється SSDT?
  2. Як отримати оновлений (і підписаний) master.dacpac, не зламуючи його сам?

Відповіді:

0 для відповіді № 1

Хоча я не маю дозволу на вихідну проблему (системний DMV відсутній у master.dacpac), я маю відповіді на два запитання, які я спочатку поставив.

Так, це загальне питання з майстром.dacpac, що постачається з SSDT. І ні, схоже, немає жодного способу отримати оновлений master.dacpac, не зламавши його самостійно, використовуючи попередньо описаний обхідний спосіб.

Зараз я підняв предмет на UserVoice, запитуючи метод оновлення системних баз даних DACPAC в SSDT. Будь ласка, подумайте про голосування за це, якщо у вас є шанс. Дякую.