Заметки о выпуске SQL Server 2014

В этих примечаниях о версии содержится описание известных проблем, которое необходимо прочитать перед установкой или диагностикой SQL Server 2014.

Содержание

1.0. Перед началом установки

2.0. Документация по продукту

3.0. Database Engine (ядро СУБД)

4.0. Службы Reporting Services

5.0. SQL Server 2014 на виртуальных машинах Windows Azure

6.0. Службы Analysis Services

7.0. Службы Data Quality Services

8.0. Помощник по обновлению

1.0. Перед началом установки

1.1. Ограничения в SQL Server 2014 RTM

1.1.1. Общие ограничения

  1. Обновление с версии SQL Server 2014 CTP 1 до SQL Server 2014 RTM НЕ поддерживается.

  2. Параллельная установка версии SQL Server 2014 CTP 1 с SQL Server 2014 RTM НЕ поддерживается.

  3. Присоединение или восстановление базы данных версии SQL Server 2014 CTP 1 в SQL Server 2014 RTM НЕ поддерживаются.

Решение. Нет.

1.2.1. Обновление с версии SQL Server 2014 CTP 2 до версии SQL Server RTM полностью поддерживается

В частности, можно:

  1. присоединить базу данных версии SQL Server 2014 CTP 2 к экземпляру SQL Server 2014 RTM;

  2. восстановить резервную копию базы данных, созданную в версии SQL Server 2014 CTP 2, в экземпляре SQL Server 2014 RTM;

  3. обновить до версии SQL Server 2014 RTM на месте;

  4. последовательно обновить до версии SQL Server 2014 RTM; перед началом последовательного обновления переключиться в режим перехода на другой ресурс вручную. Подробные сведения см. в статье Модернизация или обновление серверов группы доступности при минимальных значениях времени простоя и потери данных.

  5. Данные, собранные наборами элементов сбора данных о производительности транзакций, которые установлены в выпуске SQL Server 2014 CTP 2, нельзя просмотреть с помощью среды SQL Server Management Studio из SQL Server 2014 RTM, и наоборот. Для просмотра данных, собранных набором элементов сбора, который установлен в версии SQL Server 2014 CTP2, используйте среду SQL Server Management Studio из выпуска SQL Server 2014 CTP2, а для просмотра данных, собранных набором элементов сбора, который установлен в SQL Server 2014 RTM, используйте среду SQL Server Management Studio из версии SQL Server 2014 RTM.

1.2.2. Переход с версии SQL Server 2014 RTM на более раннюю версию SQL Server 2014 CTP 2

Такой режим работы не поддерживается.

Решение. Решение для перехода на более раннюю версию отсутствует. Перед обновлением до версии SQL Server 2014 RTM рекомендуется создать резервную копию базы данных.

Значок стрелки, используемый со ссылкой «В начало» В начало

2.0. Документация по продукту

2.1. Содержимое построителя отчетов недоступно на некоторых языках

Проблема: содержимое построителя отчетов недоступно на следующих языках:

  • греческий (el-GR);

  • норвежский (букмол) (nb-NO);

  • финский (fi-FI);

  • датский (da-DK).

В SQL Server 2012 это содержимое находилось в CHM-файле, поставляемом вместе с продуктом, и данные языки поддерживались. CHM-файлы больше не поставляются вместе с продуктом, и содержимое построителя отчетов доступно только в MSDN. MSDN не поддерживает данные языки. Построитель отчетов также удален из TechNet и больше не доступен на этих поддерживаемых языках.

Решение. Нет.

2.2. Содержимое PowerPivot недоступно на некоторых языках

Проблема. Содержимое Power Pivot недоступно на следующих языках:

  • греческий (el-GR);

  • норвежский (букмол) (nb-NO);

  • финский (fi-FI);

  • датский (da-DK).

  • Чешский (cs-CZ)

  • Венгерский (hu-HU)

  • Нидерландский (nl-NL)

  • Польский (pl-PL)

  • Шведский (sv-SE)

  • Турецкий (tr-TR)

  • Португальский (Португалия) (pt-PT)

В SQL Server 2012 это содержимое находилось в TechNet и данные языки поддерживались. Это содержимое удалено из TechNet и больше не доступно на этих поддерживаемых языках.

Решение. Нет.

Значок стрелки, используемый со ссылкой «В начало» В начало

3.0. Ядро СУБД

3.1. Изменения, внесенные в выпуск Standard в версии SQL Server 2014 RTM

В версии SQL Server 2014 Standard реализованы следующие изменения:

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

  • Максимальный объем памяти увеличен с 64 до 128 ГБ.

3.2. Проблемы In-Memory OLTP

3.2.1. Помощник по оптимизации памяти помечает ограничения по умолчанию как несовместимые

Проблема. Помощник, оптимизированный для памяти, из среды SQL Server Management Studio помечает все ограничения по умолчанию как несовместимые. Не все ограничения по умолчанию поддерживаются в оптимизированных для памяти таблицах. Помощник не различает поддерживаемые типы ограничений по умолчанию и те из них, которые не поддерживаются. Среди ограничений по умолчанию поддерживаются все ограничения, выражения и встроенные функции, которые поддерживаются в скомпилированных в собственном коде хранимых процедурах. Чтобы просмотреть список функций, поддерживаемых в скомпилированных в собственном коде хранимых процедурах см. раздел Поддерживаемые конструкции для хранимых процедур, скомпилированных в собственном коде.

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

  1. Удалите ограничения по умолчанию из определения таблицы.

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

  3. Добавьте обратно в скрипт переноса ограничения по умолчанию.

  4. Выполните скрипт переноса.

3.2.2. Информационное сообщение «В доступе к файлу отказано» неверно определяется в журнале ошибок SQL Server 2014 как ошибка

Проблема. При перезапуске сервера, на котором есть базы данных, содержащие оптимизированные для памяти таблицы, в журнале ошибок SQL Server 2014 может появиться сообщение об ошибке следующего типа:

[ERROR]Unable to delete file C:\Program Files\Microsoft SQL 
Server\....old.dll. This error may be due to a previous failure to unload 
memory-optimized table DLLs.

Это, по сути, информационное сообщение, никаких действий пользователя при его появлении не требуется.

Решение. Нет. Это информационное сообщение.

3.2.3. Сведения об отсутствующих индексах неправильно указывают включенные столбцы для оптимизированной для памяти таблицы

Проблема. Если SQL Server 2014 обнаруживает отсутствующий индекс для запроса к оптимизированной для памяти таблицы, то программа сообщит об отсутствующем индексе в SHOWPLAN_XML, так же как в динамических административных представлениях отсутствующих индексов, например sys.dm_db_missing_index_details. В некоторых случаях сведения об отсутствующих индексах будут содержать включенные столбцы. Поскольку все столбцы неявно включены во все индексы оптимизированных для памяти таблиц, явно указывать включенные столбцы с оптимизированными для памяти индексами нельзя.

Решение. Нельзя указывайте предложения INCLUDE с индексами в оптимизированных для памяти таблицах.

3.2.4. Сведения об отсутствующих индексах пропускают отсутствующие индексы, если хэш-индекс имеется, но не подходит для запроса

Проблема. Если в запросе есть ссылка на индекс HASH столбцов оптимизированной для памяти таблицы, но индекс нельзя использовать для запроса, SQL Server 2014 не всегда сообщает об отсутствующем индексе в SHOWPLAN_XML и в динамическом административном представлении sys.dm_db_missing_index_details.

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

Решение. В случае если используется хэш индексов, проверьте запросы и планы запросов, чтобы определить, получат ли запросы преимущество от использования операций Index Seek на подмножестве ключа индекса или операций Index Seek на предикатах неравенства. Если необходимо осуществлять поиск в подмножестве ключа индекса, то используйте либо индекс NONCLUSTERED, либо индекс HASH именно в тех столбцах, в которых требуется выполнять поиск. Если необходимо осуществлять поиск в предикате неравенства, то вместо индекса HASH используйте индекс NONCLUSTERED.

3.2.5. Ошибки при использовании оптимизированной для памяти таблицы и переменной оптимизированной для памяти таблицы в одном запросе, если параметру базы данных READ_COMMITTED_SNAPSHOT задано значение ON

Проблема. Если параметру базы данных READ_COMMITTED_SNAPSHOT задано значение ON и доступ к оптимизированной для памяти таблицы и переменной оптимизированной для памяти таблицы осуществляется в рамках одной инструкции вне контекста пользовательской транзакции, может появиться следующее сообщение об ошибке:

Msg 41359
A query that accesses memory optimized tables using the READ COMMITTED
isolation level, cannot access disk based tables when the database option
READ_COMMITTED_SNAPSHOT is set to ON. Provide a supported isolation level
for the memory optimized table using a table hint, such as WITH (SNAPSHOT).

Решение. Используйте табличное указание WITH (SNAPSHOT) с табличной переменной или установите параметру базы данных MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT значение ON с помощью следующей инструкции:

ALTER DATABASE CURRENT 
SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT=ON

3.2.6. Статистика выполнения процедур и запросов для скомпилированных в собственном коде хранимых процедур формирует запись времени рабочего потока, кратное 1000

Проблема. После включения сбора статистики выполнения процедур или запросов для скомпилированных в собственном коде хранимых процедур с помощью sp_xtp_control_proc_exec_stats или sp_xtp_control_query_exec_stats в динамических административных представлениях sys.dm_exec_procedure_stats и sys.dm_exec_query_stats появится значение *_worker_time, кратное 1000. Выполнения запросов, время рабочей роли которых меньше 500 микросекунд будет отображаться как значение worker_time, равное 0.

Решение. Нет. Не следует считать верным значение worker_time, указанное в динамических административных представлениях статистики выполнения для краткосрочных запросов из скомпилированных в собственном коде хранимых процедур.

3.2.7. Ошибка с SHOWPLAN_XML для скомпилированных в собственном коде хранимых процедур, которые содержат длинные выражения

Проблема. Если скомпилированная в собственном коде хранимая процедура содержит длинное выражение, получающее SHOWPLAN_XML для процедуры либо с помощью параметра T-SQL SHOWPLAN_XML ON, либо с помощью параметра «Показать предполагаемый план выполнения» в Management Studio, то это может привести к возникновению ошибки:

Msg 41322. MAT/PIT export/import encountered a failure for memory
optimized table or natively compiled stored procedure with object ID
278292051 in database ID 6. The error code was
0xc00cee81.

Решение. Предлагается два решения:

  1. Заключить выражение в скобки, как в приведенном далее примере:

    Вместо:

    SELECT @v0 + @v1 + @v2 + ... + @v199
    

    Записать:

    SELECT((@v0 + ... + @v49) + (@v50 + ... + @v99)) + ((@v100 + ... + @v149) + (@v150 + ... + @v199))
    
  2. Создайте вторую процедуру с немного упрощенным выражением для showplan — в общих чертах план должен быть таким же. Например, вместо:

    SELECT @v0 +@v1 +@v2 +...+@v199
    

    Записать:

    SELECT @v0 +@v1
    

3.2.8. Использование строкового параметра или переменной с DATEPART и связанными функциями в скомпилированной в собственном коде хранимой процедуре приводит к ошибке

Проблема. При использовании параметра или переменной, которая имеет строковый тип данных, например (var)char или n(var)char со встроенными функциями DATEPART, DAY, MONTH и YEAR, внутри скомпилированной в собственном коде хранимой процедуры отображается сообщение об ошибке, указывающее, что тип данных datetimeoffset не поддерживается скомпилированными в собственном коде хранимыми процедурами.

Решение. Присвойте строковый параметр или переменную новой переменной типа datetime2 и передайте эту переменную в функцию DATEPART, DAY, MONTH или YEAR. Пример:

DECLARE @d datetime2 = @string
DATEPART(weekday, @d)

3.2.9. Помощник по собственной компиляции неправильно помечает предложения DELETE FROM

Проблема. Помощник по собственной компиляции неправильно помечает предложения FROM DELETE внутри хранимой процедуры как несовместимые.

Решение. нет.

3.3. При регистрации через среду SSMS добавляются метаданные приложения уровня данных с несовпадающими идентификаторами экземпляра

Проблема. При регистрации или удалении пакета приложения уровня данных (DACPAC) с помощью среды SQL Server Management Studio таблицы SYSDAC* не обновляются правильно, чтобы позволить пользователю запрашивать журнал DACPAC базы данных. Instance_id для sysdac_history_internal и sysdac_instances_internal не совпадают, из-за чего объединение невозможно.

Решение. Эта проблема исправлена в распространяемом пакете дополнительных компонентов Платформа приложения уровня данных. После применения обновления все новые записи журнала будут использовать значение, приведенное для instance_id в таблице sysdac_instances_internal.

Если у вас уже возникла проблема с несовпадающими значениями instance_id, единственным способом устранить несовпадающие значения является подключение к серверу от имени пользователя с правами на запись в базу данных MSDB и изменение значения instance_id на совпадающее. При наличии нескольких событий регистрации и отмены регистрации одной базы данных, возможно, необходимо будет определять соответствие записей текущим значениям instance_id по дате и времени.

  1. Подключитесь к серверу в среде SQL Server Management Studio с помощью имени входа, которое имеет разрешения на обновление в MSDB.

  2. Открытие нового запроса в базе данных MSDB.

  3. Выполните этот запрос для просмотра всех активных экземпляров приложения уровня данных. Найдите экземпляр, который необходимо исправить и запишите значение instance_id:

    select * from sysdac_instances_internal

  4. Выполните этот запрос, чтобы отобразить все записи журнала.

    select * from sysdac_history_internal

  5. Определите строки, которые должны соответствовать исправляемому экземпляру

  6. Обновите значение sysdac_history_internal.instance_id, задав значение, которое вы записали на шаге 3 (из таблицы sysdac_instances_internal):

    update sysdac_history_internal set instance_id = '<value from step 3>' where <выражение, соответствующее срокам, которые требуется обновить>

Значок стрелки, используемый со ссылкой «В начало» В начало

4.0. Службы Reporting Services

4.1. Сервер отчетов служб SQL Server 2012 Reporting Services в собственном режиме не может работать параллельно с компонентами SharePoint служб SQL Server 2014 Reporting Services

Проблема. Службы Windows Службы Reporting Services в собственном режиме «SQL Server Reporting Services» (ReportingServicesService.exe) не запускается, если на компьютере установлены компоненты SharePoint служб SQL Server 2014 Службы Reporting Services.

Решение. Удалите компоненты SharePoint служб SQL Server 2014 Службы Reporting Services и перезапустите службу Windows Microsoft SQL Server 2012 Reporting Services.

Дополнительные сведения.

Службы SQL Server 2012 Службы Reporting Services в собственном режиме не могут работать параллельно со следующими компонентами:

  • Надстройка служб SQL Server 2014 Службы Reporting Services для продуктов SharePoint

  • Общая служба SharePoint служб SQL Server 2014 Службы Reporting Services

При параллельной установке служба Windows для служб SQL Server 2012 Службы Reporting Services, работающих в собственном режиме, не запускается. В журнал событий Windows будут помещены примерно следующие сообщения:

Log Name:   Application
Source:          Report Server (<SQL instance ID>)
Event ID:        117
Task Category:   Startup/Shutdown
Level:           Error
Keywords:        Classic
Description:     The report server database is an invalid version.

Log Name:      Application
Source:        Report Server (<SQL instance ID>)
Event ID:      107
Task Category: Management
Level:         Error
Keywords:      Classic
Description:   Report Server (DENALI) cannot connect to the report server database.

Дополнительные сведения см. в разделе Рекомендации, советы и сведения по устранению неполадок со службами SQL Server 2014 Reporting Services.

4.2. Требуемый порядок обновления для фермы SharePoint с несколькими узлами до служб SQL Server 2014 Reporting Services

Проблема. Подготовка отчета к просмотру в ферме с несколькими узлами завершается ошибкой, если экземпляры общей службы SharePoint служб Службы Reporting Services обновляются перед всеми экземплярами надстройки служб Службы Reporting Services для продуктов SharePoint.

Решение. В ферме SharePoint с несколькими узлами:

  1. Сначала обновите все экземпляры надстройки служб Службы Reporting Services для продуктов SharePoint.

  2. Затем обновите все экземпляры общей службы SharePoint служб Службы Reporting Services.

Дополнительные сведения см. в разделе Рекомендации, советы и сведения по устранению неполадок со службами SQL Server 2014 Reporting Services.

Значок стрелки, используемый со ссылкой «В начало» В начало

5.0. SQL Server 2014 RTM на виртуальных машинах Windows Azure

5.1. Мастер добавления реплики Azure возвращает ошибку при настройке прослушивателя группы доступности в Windows Azure

Проблема. Если в группе доступности имеется прослушиватель, мастер добавления реплики Azure возвращает ошибку при попытке настроить прослушиватель в Windows Azure.

Это происходит потому, что прослушиватели групп доступности требуют назначения одного IP-адреса для каждой подсети, в которой размещены реплики группы доступности, включая подсеть Azure.

Решение.

  1. На странице прослушивателя назначьте свободный статический IP-адрес из подсети Azure, в которой будет размещаться реплика группы доступности, прослушивателю группы доступности.

    Это позволит мастеру завершить добавление реплики в Windows Azure.

  2. Когда мастер завершит работу, необходимо будет закончить настройку прослушивателя в Windows Azure, как описано в разделе Настройка прослушивателя для групп доступности AlwaysOn в Windows Azure

Значок стрелки, используемый со ссылкой «В начало» В начало

6.0. Службы Analysis Services

6.1. MSOLAP.5 необходимо загрузить, установить и зарегистрировать для новой фермы SharePoint 2010, настроенной с SQL Server 2014

Проблема.

  • В ферме SharePoint 2010, настроенной с развертыванием SQL Server 2014 RTM, книги PowerPivot не могут подключаться к моделям данных, так как не установлен поставщик, указанный в строке подключения.

Решение.

  1. Загрузите поставщик MSOLAP.5 из пакета дополнительных компонентов SQL Server 2012 SP1. Установите поставщик на серверах приложений, на которых запущены службы Excel. Дополнительные сведения см. в подразделе «Microsoft Analysis Services OLE DB Provider для Microsoft SQL Server 2012 с пакетом обновления 1 (SP1)»Пакет дополнительных компонентов Microsoft SQL Server 2012 с пакетом обновления 1 (SP1).

  2. Зарегистрируйте MSOLAP.5 в качестве надежного поставщика в службах Excel SharePoint. Дополнительные сведения см. в разделе Добавление MSOLAP.5 в качестве надежного поставщика данных в службы Excel.

Дополнительные сведения.

  • SQL Server 2014 содержит MSOLAP.6. SQL Server 2012 и книги SQL Server 2014 PowerPivot используют MSOLAP.5. Если MSOLAP.5 не установлен на компьютере, где работают службы Excel, то службы Excel не могут загружать модели данных.

6.2. MSOLAP.5 необходимо загрузить, установить и зарегистрировать для новой фермы SharePoint 2013, настроенной с SQL Server 2014

Проблема.

  • В ферме SharePoint 2013, настроенной с развертыванием SQL Server 2014, книги Excel, обращающиеся к поставщику MSOLAP.5, не могут подключаться к моделям данных, так как не установлен поставщик, указанный в строке подключения.

Решение.

  1. Загрузите поставщик MSOLAP.5 из пакета дополнительных компонентов SQL Server 2012 SP1. Установите поставщик на серверах приложений, на которых запущены службы Excel. Дополнительные сведения см. в подразделе «Microsoft Analysis Services OLE DB Provider для Microsoft SQL Server 2012 с пакетом обновления 1 (SP1)»Пакет дополнительных компонентов Microsoft SQL Server 2012 с пакетом обновления 1 (SP1).

  2. Зарегистрируйте MSOLAP.5 в качестве надежного поставщика в службах Excel SharePoint. Дополнительные сведения см. в разделе Добавление MSOLAP.5 в качестве надежного поставщика данных в службы Excel.

Дополнительные сведения.

  • SQL Server 2014 содержит MSOLAP.6. но книги PowerPivot SQL Server 2014 используют MSOLAP.5. Если MSOLAP.5 не установлен на компьютере, где работают службы Excel, то службы Excel не могут загружать модели данных.

6.3. Повреждение расписаний обновления данных

Проблема.

  • Изменяется расписание обновления, и расписание становится поврежденным и недоступным.

Решение.

  1. В Microsoft Excel очистите пользовательские дополнительные свойства. Дополнительные сведения см. в разделе «Решение» следующей статьи базы знаний KB 2927748 КБ.

Дополнительные сведения.

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

Значок стрелки, используемый со ссылкой «В начало» В начало

7.0. Службы Data Quality Services

7.1. Отсутствие перекрестной поддержки версий для служб Data Quality Services в службах Master Data Services

Проблема. Не поддерживаются следующие сценарии:

  • Службы Master Data Services 2014, размещенные в базе данных компонента SQL Server Database Engine в SQL Server 2012 с установленными службами Data Quality Services 2012.

  • Службы Master Data Services 2012, размещенные в базе данных компонента SQL Server Database Engine в SQL Server 2014 с установленными службами Data Quality Services 2014.

Решение. Используйте такую же версию служб Master Data Services, как у базы данных компонента Database Engine и служб Data Quality Services.

Значок стрелки, используемый со ссылкой «В начало» В начало

8.0. Проблемы с советником по переходу

8.1. Помощник по обновлению SQL Server 2014 сообщает о несуществующих проблемах с обновлением для служб SQL Server Reporting Services

Проблема. Помощник по обновлению SQL Server (SSUA), поставляемый на носителе SQL Server 2014, неверно сообщает о разных ошибках при анализе сервера служб SQL Server Reporting Services.  

Решение. Эта проблема исправлена в советнике по переходу SQL Server из пакета дополнительных компонентов SQL Server 2014 для SSUA.

8.2. Помощник по обновлению SQL Server 2014 сообщает об ошибке при анализе сервера служб SQL Server Integration Services

Проблема. Помощник по обновлению SQL Server (SSUA), поставляемый на носителе SQL Server 2014, сообщает об ошибке при анализе сервера служб SQL Server Integration Services. Сообщение, отображаемое пользователю:

The installed version of Integration Services does not support Upgrade Advisor. 
The assembly information is "Microsoft.SqlServer.ManagedDTS, Version=11.0.0.0, 
Culture=neutral, PublicKeyToken=89845dcd8080cc91

Решение. Эта проблема исправлена в советнике по переходу SQL Server из пакета дополнительных компонентов SQL Server 2014 для SSUA.

Значок стрелки, используемый со ссылкой «В начало» В начало