Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
 Re: SQL Server 2019  [new]
SomewhereSomehow
Member

Откуда: Moscow
Сообщений: 2480
Блог
Вышел новый CTP 2.1 SQL Server 2019.
Одна из самых интересных новых возможностей - Inline Scalar UDFs (наконец-то, дождались) - стала доступна публично.

Теперь сервер умеет встраивать тело функции в основной запрос и оптимизировать запрос целиком, это позволяет:
- избавиться он накладных расходов по вызову функции при переключении контекста
- больше не "черный ящик" для оптимизатора
- запросы могут быть параллельными (ранее скалярные функции исключали параллелизм в запросе)

Функционал становится доступным при переключении БД в режим 150 (2019) по-умолчанию

Если вдруг стало работать медленнее, то отключить, не меняя уровень совместимости, можно:

1) На уровне БД, при помощи настройки
ALTER DATABASE SCOPED CONFIGURATION SET TSQL_SCALAR_UDF_INLINING = OFF;

2) На уровне запроса, хинтом
OPTION (USE HINT('DISABLE_TSQL_SCALAR_UDF_INLINING'))

3) Для конкретной функции:
CREATE OR ALTER FUNCTION ...
RETURNS ...
WITH INLINE = OFF


Инлайнятся не только какие-то простые функции, которые не делают обращений к данным, но, например, и такое:
+
alter database AdventureWorks2016CTP3 set compatibility_level = 150;
go
use AdventureWorks2016CTP3;
go
create or alter function dbo.f(@BusinessEntityID int, @PersonType nchar(2))
returns datetime
as 
begin
	declare @r datetime;
	
	if @PersonType = 'EM' 
		set @r = (select ModifiedDate from HumanResources.Employee where BusinessEntityID = @BusinessEntityID);
	else if @PersonType = 'SP' 
		set @r = (select ModifiedDate from Sales.SalesPerson where BusinessEntityID = @BusinessEntityID);
	else
		set @r = null;

	return @r;
end;
go
set statistics xml on;

select dbo.f(BusinessEntityID, PersonType) from Person.Person  where LastName = 'Adams'  
option (use hint('DISABLE_TSQL_SCALAR_UDF_INLINING'));

select dbo.f(BusinessEntityID, PersonType) from Person.Person  where LastName = 'Adams';

set statistics xml off;

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


Подробнее можно почитать в документации.

Скачать новую версию тут: SQL Server 2019 CTP 2.1
7 ноя 18, 14:37    [21726862]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6684
Писатели скалярок вылезают из под стола :)
7 ноя 18, 14:54    [21726908]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 29575
SomewhereSomehow
Одна из самых интересных новых возможностей - Inline Scalar UDFs (наконец-то, дождались) - стала доступна публично.
Ну наконец то :-)
7 ноя 18, 16:19    [21727068]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 29575
SomewhereSomehow
Вышел новый CTP 2.1 SQL Server 2019.
...
Скачать новую версию тут: SQL Server 2019 CTP 2.1
Странно, а почему в загрузках для подписчиков Visual Studio нет?
Там последняя - SQL Server vNext CTP2.0
Версии CTP 2.1 нет, да и название старое, "vNext", а не "2019"...
7 ноя 18, 17:20    [21727168]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
SomewhereSomehow
Member

Откуда: Moscow
Сообщений: 2480
Блог
Этого не знаю, я по публичной ссылке качал.
Единственное, он перенаправил меня сначала на русскоязычный сайт, там не нашел, а на англоязычном все есть. Скачиваешь установщик, он выкачивает образ ISO.

print @@version

	Microsoft SQL Server 2019 (CTP2.1) - 15.0.1100.94 (X64) 
	Nov  1 2018 14:35:49 
	Copyright (C) 2018 Microsoft Corporation
	Developer Edition (64-bit) on Windows 10 Pro 10.0 <X64> (Build 17134: )
7 ноя 18, 17:41    [21727185]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 29575
SomewhereSomehow
Единственное, он перенаправил меня сначала на русскоязычный сайт, там не нашел, а на англоязычном все есть. Скачиваешь установщик, он выкачивает образ ISO.
Понятно...
Что то он у меня написал "Getting things ready...", и больше ничего не делает, к инету не обращается, к файлам тоже... Подожду...
7 ноя 18, 17:48    [21727193]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 29575
alexeyvg
SomewhereSomehow
Единственное, он перенаправил меня сначала на русскоязычный сайт, там не нашел, а на англоязычном все есть. Скачиваешь установщик, он выкачивает образ ISO.
Понятно...
Что то он у меня написал "Getting things ready...", и больше ничего не делает, к инету не обращается, к файлам тоже... Подожду...
Да, не работает инсталлятор, зависает через 2 секунды, судя по логу :-(
То есть не инсталлятор, а загрузчик инсталлятора.
Буду ждать релиза, или на торрентах поищу.

Что за мода, вместо ссылки на FTP карябать мышкой на коленке очередной "чудо-скачиватель файла", который нужно потом год доводить, что бы он работал у всех, или хотя бы писал про ошибку...
7 ноя 18, 18:23    [21727221]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
ЕвгенийGEM
Member

Откуда:
Сообщений: 94
обычно после выпуска следующей версии, в прод может пойти предыдущая. Т е после выхода 2017 версии скуля, готовят переход на 2017 версию. И то-это самый оптимистичный план. А по факту только через 5 лет после выпуска версии скуля его в прод понесут. Так было до 2017 года, а с 2017 года-через 3 года (тем внедрения ускорился почти в двое). Т е сейчас много у кого стоит 2014 скуль, да попадается 2016, но значительно реже (в основном еще думают или делают переход на 2016 скуль), единицы кто на 2017 перешел или планирует перейти. Однако, также много кто сидит на 2012 или если требуется поддержка 2012 скуля в синтаксисе и в возможностях. Так что сложно сказать когда новая фича попадет на прод. В среднем сейчас через 3 года. Однако, эти 3 года могут легко превратиться и в 5 лет. А вот больше 5 лет чревато стать замшелым продуктом. До 2017 года чтобы продукт стал замшелым надо было более 10 лет не обновлять СУБД, а сейчас достаточно и 5 лет. Что будет дальше-скорее всего СУБД станет как сервис рано или поздно и просто будут патчи выпускаться как онлайн, так и в виде автономных установочных пакетов для сред изолированных от интернета.
4 мар 19, 22:10    [21824864]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4006
Ролг Хупин
Посетитель
пропущено...


это не мешает некоторый системам жить, в том числе, на 2000 сервере


Согласен, я бы не удивился, встретив системы на 7

Я начинал работать с SQL 7 :)
5 мар 19, 09:24    [21825054]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
vikkiv
Member

Откуда: London
Сообщений: 2499
полторы недели назад вышел SQL Server 2019 CTP 2.3
11 мар 19, 22:49    [21829830]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
SomewhereSomehow
Member

Откуда: Moscow
Сообщений: 2480
Блог
Вчера вышел очередной превью, CTP 2.4: https://www.microsoft.com/en-us/evalcenter/evaluate-sql-server-2019-ctp

Если у вас когда-либо было так, что процедура/запрос выполнялся дольше, чем обычно или чем ожидалось, а сбор планов запроса вы не включали (а чаще всего так и бывает), то появилась интересная возможность - получить последний действительный (actual) план из функции sys.dm_exec_query_plan_stats.

Для того чтобы включить эту функциональность требуется глобально включить документированный флаг трассировки 2451. После этого, если у вас включен LIGHTWEIGHT_QUERY_PROFILING, а в 2019 он включен по умолчанию, то при помощи этой функции можно получить действительный план.

use AdventureWorks2016CTP3;
go
select 
	count(*)
from
	Sales.SalesOrderDetail sod
	join Sales.SalesOrderHeader soh on soh.SalesOrderID = sod.SalesOrderID
group by
	soh.Status;
go
select 
	ps.query_plan
from
	sys.dm_exec_cached_plans cp
	cross apply sys.dm_exec_query_plan_stats(cp.plan_handle) ps
	cross apply sys.dm_exec_sql_text(cp.plan_handle) st
where
	st.text like '%SalesOrderDetail%' and
	st.text not like '%dm[_]exec[_]cached[_]plans%'
go


К сообщению приложен файл. Размер - 29Kb
28 мар 19, 15:08    [21846185]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
vikkiv
Member

Откуда: London
Сообщений: 2499
2019-05-22 : Microsoft SQL Server 2019 CTP 3.0
http://docs.microsoft.com/en-us/sql/sql-server/sql-server-ver15-release-notes
24 май 19, 21:02    [21893481]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
vikkiv
Member

Откуда: London
Сообщений: 2499
Ой, не тот линк: Что нового в CTP:3.0
http://docs.microsoft.com/en-us/sql/sql-server/what-s-new-in-sql-server-ver15
24 май 19, 21:05    [21893482]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
SomewhereSomehow
Member

Откуда: Moscow
Сообщений: 2480
Блог
Из интересных фич:
- Темпбд в структурах in-memory - это круто.
- Более тонкая настройка Query Store, раньше было зашито, например, 3 выполнения, сейчас - можно выбирать самому.
- Гибридный буфферпул

Вот мне интересно, запрос:
select * from sys.dm_exec_valid_use_hints

Выдает:
...
DISABLE_LOOP_JOIN_AVOIDANCE

Что за хинт? Вроде публичный, а документации по нему нет (может, пока). Задал вопрос МС.

Есть тут специалисты по оптимизатору (в конце концов) кто может объяснить???
26 май 19, 21:45    [21894269]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
Slava_Nik
Member

Откуда: из России
Сообщений: 875
SomewhereSomehow,

Объяснить Дмитрию по оптимизатору , что он не знает ... проблематично )
27 май 19, 11:21    [21894524]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
vikkiv
Member

Откуда: London
Сообщений: 2499
если кто переживал за диаграммы в SSMS - пару дней назад вернули в версии 18.1

https://feedback.azure.com/forums/908035-sql-server/suggestions/35746747-database-diagram
12 июн 19, 16:53    [21907359]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
Relic Hunter
Member

Откуда: AB
Сообщений: 7088
vikkiv
если кто переживал за диаграммы в SSMS - пару дней назад вернули в версии 18.1

https://feedback.azure.com/forums/908035-sql-server/suggestions/35746747-database-diagram
и обозвали это новой фичей
12 июн 19, 20:32    [21907437]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
sanitar
Member

Откуда:
Сообщений: 66
А будет ли версия Express?
1 июл 19, 14:22    [21918169]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
vikkiv
Member

Откуда: London
Сообщений: 2499
sanitar,

есть, как обычно: путём выбора Express редакции во время установки
в разделе установщика "Specify a free edition" есть : Evaluation, Developer и Express
a Enterprise и пр. можно выбрать вводом ключа.
1 июл 19, 15:29    [21918268]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
vikkiv
Member

Откуда: London
Сообщений: 2499
CTP 3.2 (от 24-Авг-2019) переименовали в RC 1
21 авг 19, 18:12    [21954729]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
vikkiv
Member

Откуда: London
Сообщений: 2499
... (от 24-Июль-2019)...
21 авг 19, 18:13    [21954730]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
vikkiv
Member

Откуда: London
Сообщений: 2499
о, уже оформили сегодняшним днём как полноценный релиз RC , а не переименование.
описания новых фишек (по ср. с CTP 3.2) пока нет.
22 авг 19, 00:14    [21954939]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3155
Не нахожу списка для 2019
Deprecated and not supported Features

Кто-то видел?
12 сен 19, 12:04    [21969290]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3155
SQL2008
Ролг Хупин
пропущено...


Согласен, я бы не удивился, встретив системы на 7

Я начинал работать с SQL 7 :)


Винтаж: 6.5 и даже 4.3
12 сен 19, 12:05    [21969293]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server 2019  [new]
Shakill
Member

Откуда: мск
Сообщений: 1838
Ролг Хупин
Не нахожу списка для 2019
Deprecated and not supported Features
Кто-то видел?


SELECT * FROM sys.dm_os_performance_counters   
WHERE object_name = 'SQLServer:Deprecated Features';  

можно сравнить наборы у 2017 и 2019
12 сен 19, 12:11    [21969301]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить