4. • Минимальные требования: Windows 7 SP1 или Windows Server
2008 R2.
• SysPrep поддерживается для любых видов установки, в том числе
failover cluster.
• Обновление с SQL Server 2005 поддерживается (базы данных
должны иметь уровень совместимости 100), но установка side-by-
side не поддерживается.
• Stardard Edition теперь поддерживает 128 GB оперативной памяти
(было 64 GB).
Установка SQL Server 2014
5. • Buffer pool – область памяти, используемая SQL Server для
кэширования страниц данных, индексов, служебных страниц
• Если нужные данные не найдены в Buffer pool, они должны
быть помещены туда после чтения с диска
• Чем больше памяти доступно, тем больше вероятность
повторного обращения к странице в пяти без ожидания IO
Что такое Buffer Pool
6. • «Актуальные» страницы располагать в быстром
кэше автоматически
• Не переделывать схему БД
• Должно работать прозрачно на уровне сервера
Хорошо бы…
7. • Поддерживается в Enterprise, Business Intelligence
и Standard редакциях.
• Позволяет решить проблему нехватки
оперативной памяти для кэширования часто
используемых данных (в основном случайное
чтение) за счет использования SSD.
Buffer Pool Extension
https://www.techdays.ru/videos/8907.html
9. ALTER SERVER CONFIGURATION
SET <optionspec>
[;]
<buffer_pool_extension>::=
BUFFER POOL EXTENSION
{ ON ( FILENAME = 'os_file_path_and_name' , SIZE = <size_spec> )
| OFF }
<size_spec> ::=
{ size [ KB | MB | GB ] }
Buffer Pool Extension
10. • Один файл расширения
• Объем активных данных меньше чем объем BPE
• Ускоряется чтение, на запись не влияет
• Ограничение по объему расширения – 32х,
рекомендовано 4х-8х от объема RAM
• Снижение производительности при отключении BPE до
перезагрузки сервера
Недостатки и ограничения
11. • Основные моменты:
• Операция COMMIT не ждет записи в журнал транзакций.
• Одновременно выполняемые транзакции с меньшей долей
вероятности буду соперничать за IO операции при записи в
журнал транзакций (запись идет позже большими блоками).
• Доступен во всех редакциях SQL Server 2014.
• У вас по прежнему могут быть проблемы при записи в
журнал транзакций, если вы пишите быстрее, чем
успевает записывать дисковый массив.
Delayed Durability (Lazy Commit)
http://channel9.msdn.com/Events/Data-Platform-Day-2014/Data-Platform-Day-2014/Delayed-Durability
Отложенная устойчивая транзакция
12. • Вы готовы потерять часть данных в случае сбоя!!!
• У вас наблюдается узкое место при записи в журнал
транзакций (отложенная запись большими блоками
может быть эффективнее, чем много маленьких)
• Наблюдается высокий уровень конкуренции.
Блокировки удерживаются до конца транзакции. DD
уменьшает время выполнения операции COMMIT.
Использование Delayed Durability
13. ALTER DATABASE … SET DELAYED_DURABILITY = {
DISABLED | ALLOWED | FORCED }
• DISABLED – отключена, все транзакции логируются
перед завершением
• ALLOWED – контроль над durability осуществляется на
уровне транзакции
• FORCED – все транзакции используют DD
Настройка на уровне БД
14. COMMIT [ { TRAN | TRANSACTION } ] [
transaction_name | @tran_name_variable ] ] [ WITH (
DELAYED_DURABILITY = { OFF | ON } ) ]
Transact-SQL
15. CREATE PROCEDURE <procedureName> …
WITH NATIVE_COMPILATION, SCHEMABINDING, EXECUTE AS OWNER
AS BEGIN ATOMIC WITH
(
DELAYED_DURABILITY = ON,
TRANSACTION ISOLATION LEVEL = SNAPSHOT,
LANGUAGE = N'English'
…
)
END
Natively Compiled Stored Procedures
16. Параметр фиксации/параметр базы
данных
DELAYED_DURABILITY = DISABLED DELAYED_DURABILITY = ALLOWED DELAYED_DURABILITY = FORCED
DELAYED_DURABILITY = OFF
In-Memory OLTP только транзакции.
Транзакция является полностью
устойчивой.
Транзакция является полностью
устойчивой.
Транзакция является отложенной
устойчивой.
DELAYED_DURABILITY = ON
In-Memory OLTP только транзакции.
Транзакция является полностью
устойчивой.
Транзакция является отложенной
устойчивой.
Транзакция является отложенной
устойчивой.
DELAYED_DURABILITY = OFF
Межбазовые или распределенные
транзакции.
Транзакция является полностью
устойчивой.
Транзакция является полностью
устойчивой.
Транзакция является полностью
устойчивой.
DELAYED_DURABILITY = ON
Межбазовые или распределенные
транзакции.
Транзакция является полностью
устойчивой.
Транзакция является полностью
устойчивой.
Транзакция является полностью
устойчивой.
https://msdn.microsoft.com/ru-ru/library/dn449490.aspx
17. • Когда буфер заполняется и идет запись его в
журнал транзакций.
• Вызов sp_flush_log.
• Если выполняется транзакция с полным
логированием, то все транзакции до нее, которые
были выполнены как DD – тоже записываются в
журнал.
Запись транзакций в журнал
18. • Resource Governor был изначально представлен в
SQL Server 2008 и позволял управлять
потреблением ресурсов между различными
пользователями.
• В SQL Server 2014 добавлена поддержка
управления IO ресурсами.
IO Resource Governance
23. • Одно из ключевых изменений
• Появляются абсолютно новые структуры для хранения
данных в памяти
• Добавляется возможность создавать хранимые
процедуры, которые будут компилироваться
• Прирост производительности может составлять до 30
раз
In-Memory OLTP
https://www.techdays.ru/videos/8906.html
24. • Играет ключевую роль при выборе плана
выполнения для запроса.
• Требует уровня совместимости БД 120.
• Если БД находится в уровне совместимости 110, можно использовать trace
flag 2312.
• Trace flag 9481 можно использовать для принудительного использования
версии 70.
Cardinality Estimation
25. Приносит некоторые улучшения в предыдущую
версию, например:
• Для только что добавленных строк по возрастающему
значению использует значение среднего количества строк.
• Предполагает, что предикаты на одной таблице
коррелированы.
SELECT year, purchase_price FROM dbo.Cars WHERE Make=‘Honda’ AND Model=‘Civic’
• Если в запросе участвуют 2 и более таблиц, то предикаты на
них считаются независимыми.
Cardinality Estimation
26. • Возможность размещать файлы данных в
Windows Azure
• Создание резервных копий в Windows Azure
• Мастер переноса баз данных в Windows Azure (в
SQL Server Management Studio 2014)
CloudOS
28. • Максимальное количество реплик увеличено с 4
до 8
• Добавлена поддержка реплик в Windows Azure
(доступен мастер для настройки)
• Вторичная реплика при отключении от
первичной или при потере кластером кворума
остается доступной на чтение
AlwaysOn
29. • Предоставляет дополнительную защиту для ваших резервных
копий, в том числе тех, которые создаются в Windows Azure.
• Поддерживаются следующие алгоритмы: AES 128, AES 192, AES
256, and Triple DES. Шифрование происходит с помощью
сертификата или ассиметричного ключа.
• Можно интегрировать ключи шифрования с провайдерами
Extended Key Management (EKM).
Backup Encryption
30. BACKUP DATABASE [MYTestDB]
TO DISK = N'C:Program FilesMicrosoft SQL ServerMSSQL12.MSSQLSERVERMSSQLBackupMyTestDB.bak'
WITH
COMPRESSION,
ENCRYPTION
(
ALGORITHM = AES_256,
SERVER CERTIFICATE = BackupEncryptCert
),
STATS = 10
GO
Backup Encryption
33. • sys.dm_exec_query_profiles – мониторинг в реальном
времени текущего состояния выполнения запросов.
• SELECT … INTO – может выполняться параллельно
• Columnstore Indexes – теперь обновляемые
• Статистика может создаваться для отдельных секций
Еще немного вкусностей