Корпорация Майкрософт распространяет Microsoft S'L Server 2012 Service Pack 1 в качестве одного загружаемого файла. Поскольку исправления являются кумулятивными, каждый новый релиз содержит все горячие исправления и все исправления безопасности, которые были включены в предыдущий выпуск service Pack 2012.
Проблемы
Предположим, что вы запустите запрос, который использует функцию TRY_CONVERT вместе с параметром стиля в Microsoft S'L Server 2012. В этой ситуации параметр стиля может быть проигнорирован, и запрос может вернуть неправильный результат.
Решение
Сведения о накопительном пакете обновления
Совокупное обновление 2 для Сервера S'L 2012 SP1
Исправление этой проблемы было впервые выпущено в Cumulative Update 2. Для получения более подробной информации о том, как получить этот кумулятивный пакет обновлений для S'L Server 2012 SP1, щелкните следующий номер статьи, чтобы просмотреть статью в базе знаний Microsoft:
2790947 Совокупный пакет обновлений 2 для S'L Server 2012 Сервисный пакет 1Заметка Поскольку сборки являются кумулятивными, каждый новый выпуск исправлений содержит все горячие исправления и все исправления безопасности, которые были включены в предыдущий выпуск исправлений s'L Server 2012 SP1. Мы рекомендуем вам рассмотреть вопрос о применении последнего выпуска исправлений, который содержит этот hotfix. Для получения дополнительной информации, нажмите на следующий номер статьи, чтобы просмотреть статью в базе знаний Microsoft:
2772858 Сборки сервера S'L 2012, которые были выпущены после выпуска пакета услуг S'L Server 2012
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".
Дополнительная информация
Чтобы воспроизвести эту проблему, выполните следующие действия:
-
Создайте таблицу в S'L Server 2012 SP1 под названием "Test" и вставьте запись в таблицу:CREATE TABLE TEST (I DATE);INSERT INTO TEST VALUES (GETDATE());
-
Выполнить следующие запросы, чтобы вернуть правильный результат:SELECT TOP 1 TRY_CONVERT(VARCHAR, TRY_CONVERT(DATE, '20121023'), 112) FROM TEST;SELECT CONVERT(VARCHAR, TRY_CONVERT(DATE, '20121023'), 112) FROM TEST;SELECT CONVERT(VARCHAR, CONVERT(DATE, '20121023'), 112) FROM TEST;SELECT TRY_CONVERT(VARCHAR, '20121023', 112) FROM TEST;--The returned result is "20121023".
-
Затем запустите следующие запросы, чтобы вернуть неправильный результат:SELECT TRY_CONVERT(VARCHAR, TRY_CONVERT(DATE, '20121023'), 112) FROM TEST;SELECT TRY_CONVERT(VARCHAR, CONVERT(DATE, '20121023'), 112) FROM TEST;--The returned result is "2012-10-23".
Ссылки
Для получения дополнительной информации о функции TRY_CONVERT (Transact-S'L) перейдите на последующий веб-сайт MSDN:
Общая информация о функции TRY_CONVERT (Трансакт-СЗЛ)Для получения дополнительной информации о модели инкрементного обслуживания для сервера S'L нажмите на следующий номер статьи, чтобы просмотреть статью в базе знаний Майкрософт:
935897 Модель инкрементного обслуживания доступна в команде S'L Server для доставки горячих фиксов для сообщаемых проблемДля получения более подробной информации о схеме именования для обновлений сервера S'L, щелкните следующий номер статьи, чтобы просмотреть статью в базе знаний Майкрософт:
822499 Схема именования для пакетов обновления программного обеспечения Microsoft S'L ServerДля получения дополнительной информации о терминологии обновления программного обеспечения, нажмите следующий номер статьи, чтобы просмотреть статью в базе знаний Microsoft:
824684 Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт