Применяется к
SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2012 Developer SQL Server 2012 Enterprise Core SQL Server 2012 Enterprise

Проблемы

Рассмотрим следующий сценарий.

  • Вы создаете симметричный ключ из поставщика расширенного управления ключами в Microsoft SQL Server 2008, Microsoft SQL Server 2012 или Microsoft SQL Server 2008 R2.

  • Шифрование некоторых данных в базе данных с помощью этого симметричного ключа.

  • Вы перенесете данные в другую базу данных.

  • Вы пытаетесь создать симметричный ключ в новой базе данных с помощью того же поставщика РАСШИРЕНных ключей. Однако зашифрованные данные в новой базе данных нельзя расшифровать, так как в созданном симметричном ключе есть номер GUID, а этот номер GUID отличается от исходного симметричного ключа, который зашифровал данные в исходной базе данных.

  • Для повторного создания симметричного ключа с помощью того же идентификатора GUID, что и у исходного симметричного ключа, вы можете использовать параметр IDENTITY_VALUE, чтобы указать фразу идентификации, которая использовалась для исходного симметричного ключа.

В этом случае появляется сообщение об ошибке, подобное следующему:

MSG 102, уровень 15, состояние 1, строка 3 с неверным синтаксисом рядом с "IDENTITY_VALUE"

Решение

Сведения о накопительном пакете обновления

Накопительное обновление 6 для SQL Server 2012

Исправление для этой проблемы впервые выпущено в накопительном обновлении 6. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2012, щелкните следующий номер статьи базы знаний Майкрософт:

2728897 Накопительный пакет обновления 6 для SQL Server 2012Примечание. Так как сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2012. Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:

2692828 Сборки SQL Server 2012, выпущенные после выпуска SQL Server 2012

Накопительное обновление 11 для SQL Server 2008 R2 с пакетом обновления 1 (SP1)

Исправление для этой проблемы впервые выпущено в накопительном обновлении 11. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2 с пакетом обновления 1 (SP1), щелкните следующий номер статьи базы знаний Майкрософт:

2812683 Накопительный пакет обновления 11 для SQL Server 2008 R2 с пакетом обновления 1 (SP1)Примечание. Поскольку сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления системы безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2008 R2 с пакетом обновления 1 (SP1). Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:

2567616 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2 с пакетом обновления 1 (SP1)

Накопительное обновление 9 для SQL Server 2008 с пакетом обновления 3 (SP3)

Исправление для этой проблемы впервые выпущено в накопительном обновлении 9. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2008 с пакетом обновления 3 (SP3), щелкните следующий номер статьи базы знаний Майкрософт:

2799883 Накопительный пакет обновления 9 для SQL Server 2008 с пакетом обновления 3 (SP3)Примечание. Так как сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2008 с пакетом обновления 3 (SP3). Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:

2629969 Сборки SQL Server 2008, выпущенные после выпуска пакета обновления 3 (SP3) для SQL Server 2008

Накопительное обновление 4 для SQL Server 2008 R2 с пакетом обновления 2 (SP2)

Исправление для этой проблемы впервые выпущено в накопительном обновлении 4. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2 с пакетом обновления 2 (SP2), щелкните следующий номер статьи базы знаний Майкрософт:

2777358 Накопительный пакет обновления 4 для SQL Server 2008 R2 с пакетом обновления 2 (SP2)Примечание. Так как сборки являются кумулятивными, каждый новый выпуск исправлений содержит все исправления и все исправления безопасности, которые были включены в предыдущий выпуск пакета обновления 2 (SP2) для SQL Server 2008 R2. Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:

2730301 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2 с пакетом обновления 2 (SP2)

Обходное решение

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

Статус

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

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.