Корпорация Майкрософт распространяет пакет обновления 2 (SP2) для Microsoft SQL Server 2008 R2 в виде одного загружаемого файла. Поскольку исправления являются кумулятивными, каждый новый выпуск содержит все исправления и все исправления для системы безопасности, которые были включены в предыдущий выпуск пакета обновления 2 (SP2) для SQL Server 2008 R2.
Проблемы
Рассмотрим следующий сценарий.
-
Имеется секционированная таблица, в которой в качестве столбца секционирования в Microsoft SQL Server 2008 R2 используется столбец типа DateTimeOffset .
-
С помощью мастера создания публикаций вы можете создать в SQL Server Management Studio (SSMS) публикацию с секционированной таблицей.
В этом случае появляется следующее сообщение об ошибке в одном из сценариев, используемых для создания публикации моментальных снимков. Сценарии будут автоматически сформированы с помощью мастера создания публикаций.
Сообщение 102, уровень 15, состояние 1, строка 3Incorrect синтаксис около "".
Примечание. Подробный пример сценария, в котором может возникнуть эта проблема, можно найти в разделе "Дополнительные сведения".
Решение
Сведения о накопительном пакете обновления
Накопительное обновление 5 для SQL Server 2008 R2 SP2
Исправление для этой проблемы впервые выпущено в накопительном обновлении 5. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2 SP 2, щелкните следующий номер статьи базы знаний Майкрософт:
2797460 Накопительный пакет обновления 5 для SQL Server 2008 R2 с пакетом обновления 2 (SP2)Примечание. Так как сборки являются кумулятивными, каждый новый набор исправлений содержит все исправления и все исправления системы безопасности, которые были включены в предыдущий выпуск исправлений для SQL Server 2008 R2 с пакетом обновления 2 (SP2). Рекомендуется установить последнюю версию исправления, которая включает это исправление. Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
2730301 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2 с пакетом обновления 2 (SP2)
Дополнительная информация
Предположим, что вы создали функцию секционирования в SQL Server 2008 R2 и тип данных input_parameter_type — DateTimeOffset. Затем вы используете функцию секционирования сценариев, как в среде SSMSE. В этом сценарии возникает проблема, описанная в разделе "проблема". Кроме того, значения диапазона Date-Literal, созданные в среде SSMSE, не заключены в одинарные кавычки. Например, чтобы создать функцию секционирования, выполните следующую инструкцию:
CREATE PARTITION FUNCTION PF_TEST (datetimeoffset(7)) as range right for values('20100101', '20100201', '20100301')
Затем щелкните правой кнопкой мыши функцию секционирования в обозревателе объектов, выберите команду сценарий для функции секционирования как, выберите команду создать, а затем — новое окно редактора запросов в среде SSMS. Вы увидите следующий созданный сценарий:
Создание функции СЕКЦИОНИРОВАНия [PF_TEST] (DateTimeOffset (7)) в качестве диапазона справа для значений (1/1/2010 12:00:00 AM + 00:00, 2/1/2010 12:00:00 AM + 00:00, 3/1/2010 12:00:00 AM + 00:00)Если вы попытаетесь запустить созданный сценарий, появляется следующее сообщение об ошибке:
Сообщение 102, уровень 15, состояние 1, строка 3Incorrect синтаксис около "12".
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".