Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Что произошло с 2016-м сервером?!  [new]
Skiffspb
Member

Откуда: Спб
Сообщений: 105
Имеется:
Microsoft SQL Server 2016 (SP1) 13.0.4001.0 (X64) Standard Edition (64-bit) on Windows Server 2012 R2 Standard 6.3 <X64>

И с тех пор как на него перешли, выяснились интересные "моменты".
Во-первых отвалился интеллисенс. После установки SP1 стало чуть лучше, отваливаться стал реже, но всё так же "тормозит". Особенно на больших хранимках, свыше 100 строк.

Во-вторых, имеется мерджовая репликация. Сгенерить снапшот теперь занимает 2 часа! Точно такая же база на старом-добром 2008-м генерится за 5 минут! Кол-во потоков увеличивали, с параметрами агента играли - эффекта никакого.

В-третьих, монитор репликации. У кого-то работает, у другого человека, с точно такой же системой, нет. Вообще не понятно от чего зависит. Окно открывается, а подключиться уже не выходит. Зависает на "получении данных от сервера". Приходится заходить на сам сервер по терминалке и выполнять действия оттуда.

Вопрос - это мы такие кривые-безрукие, или это у MS кризис? Если мы - то куда глядеть?
20 мар 17, 13:59    [20313903]     Ответить | Цитировать Сообщить модератору
 Re: Что произошло с 2016-м сервером?!  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Skiffspb,

какой-то портал из ада открылся на sql.ru.... При чём здесь сервер к тому что половина из описанного относится к SSMS
20 мар 17, 14:01    [20313914]     Ответить | Цитировать Сообщить модератору
 Re: Что произошло с 2016-м сервером?!  [new]
Skiffspb
Member

Откуда: Спб
Сообщений: 105
TaPaK,

Интеллисес - да. Монитор репликации... Но агент репликации то каким боком? С ним то что не так?
20 мар 17, 14:09    [20313962]     Ответить | Цитировать Сообщить модератору
 Re: Что произошло с 2016-м сервером?!  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Skiffspb
TaPaK,

Интеллисес - да. Монитор репликации... Но агент репликации то каким боком? С ним то что не так?


автор
на сам сервер по терминалке и выполнять действия оттуда.

и с ним всё впорядке
20 мар 17, 15:11    [20314219]     Ответить | Цитировать Сообщить модератору
 Re: Что произошло с 2016-м сервером?!  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3712
Skiffspb
Имеется:
Microsoft SQL Server 2016 (SP1) 13.0.4001.0 (X64) Standard Edition (64-bit) on Windows Server 2012 R2 Standard 6.3 <X64>

Вопрос - это мы такие кривые-безрукие, или это у MS кризис? Если мы - то куда глядеть?


1. да
2. что пишет сервер в логах?
20 мар 17, 16:06    [20314500]     Ответить | Цитировать Сообщить модератору
 Re: Что произошло с 2016-м сервером?!  [new]
Skiffspb
Member

Откуда: Спб
Сообщений: 105
Ролг Хупин,

Пишет что всё хорошо. Но очень медленно скриптует схемы таблиц. Таблиц в реплике несколько сотен и если на каждую уходит 3-5сек, то в сумме получается мягко говоря дофига. Причём сервер при этом может быть даже практически не нагружен.

По менеджмент студии тоже не понятно, куда тогда глядеть? Просто раньше не приходилось ничего дорабатывать напильником после установки.
21 мар 17, 10:54    [20316535]     Ответить | Цитировать Сообщить модератору
 Re: Что произошло с 2016-м сервером?!  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31364
Skiffspb
По менеджмент студии тоже не понятно, куда тогда глядеть?
У меня быстро работает интеллисенс в SSMS 2016 SP1
Разбираться будет сложно, да, в связи с тенденцией на "закрытость" и "интеллектуальность".
Может, в сети дело, посмотрите, что там идёт от студии к серверу, туда и обратно, через сколько времени получается ответ.
21 мар 17, 20:10    [20319030]     Ответить | Цитировать Сообщить модератору
 Re: Что произошло с 2016-м сервером?!  [new]
Кесарь
Member

Откуда:
Сообщений: 453
TaPaK
Skiffspb, какой-то портал из ада открылся на sql.ru.... При чём здесь сервер к тому что половина из описанного относится к SSMS


Да, в последнее время темы какие-то трэшовые просто валом.


"Мне надо преровнять переменные к полям в таблице
как мне выбрать нужное
помагите а лучше напишите запрос"
22 мар 17, 11:46    [20320557]     Ответить | Цитировать Сообщить модератору
 Re: Что произошло с 2016-м сервером?!  [new]
Skiffspb
Member

Откуда: Спб
Сообщений: 105
Кесарь
Да, в последнее время темы какие-то трэшовые просто валом.


Ай, не говорите. А что чуть посложнее спросишь и тишина...

Итак, генерация dri-ек, поковырялись, выяснилось следующее:

Тормозит запрос:
+
exec sp_executesql N'SELECT
clmns.name AS [Name],
clmns.column_id AS [ID],
clmns.is_nullable AS [Nullable],
clmns.is_computed AS [Computed],
CAST(ISNULL(cik.index_column_id, 0) AS bit) AS [InPrimaryKey],
clmns.is_ansi_padded AS [AnsiPaddingStatus],
CAST(clmns.is_rowguidcol AS bit) AS [RowGuidCol],
CAST(ISNULL(COLUMNPROPERTY(clmns.object_id, clmns.name, N''IsDeterministic''),0) AS bit) AS [IsDeterministic],
CAST(ISNULL(COLUMNPROPERTY(clmns.object_id, clmns.name, N''IsPrecise''),0) AS bit) AS [IsPrecise],
CAST(ISNULL(cc.is_persisted, 0) AS bit) AS [IsPersisted],
ISNULL(clmns.collation_name, N'''') AS [Collation],
CAST(ISNULL((select TOP 1 1 from sys.foreign_key_columns AS colfk where colfk.parent_column_id = clmns.column_id and colfk.parent_object_id = clmns.object_id), 0) AS bit) AS [IsForeignKey],
clmns.is_identity AS [Identity],
CAST(ISNULL(ic.seed_value,0) AS bigint) AS [IdentitySeed],
CAST(ISNULL(ic.increment_value,0) AS bigint) AS [IdentityIncrement],
(case when clmns.default_object_id = 0 then N'''' when d.parent_object_id > 0 then N'''' else d.name end) AS [Default],
(case when clmns.default_object_id = 0 then N'''' when d.parent_object_id > 0 then N'''' else schema_name(d.schema_id) end) AS [DefaultSchema],
(case when clmns.rule_object_id = 0 then N'''' else r.name end) AS [Rule],
(case when clmns.rule_object_id = 0 then N'''' else schema_name(r.schema_id) end) AS [RuleSchema],
ISNULL(ic.is_not_for_replication, 0) AS [NotForReplication],
CAST(COLUMNPROPERTY(clmns.object_id, clmns.name, N''IsFulltextIndexed'') AS bit) AS [IsFullTextIndexed],
CAST(COLUMNPROPERTY(clmns.object_id, clmns.name, N''StatisticalSemantics'') AS int) AS [StatisticalSemantics],
CAST(clmns.encryption_type AS int) AS [EncryptionType],
clmns.encryption_algorithm_name AS [EncryptionAlgorithm],
clmns.column_encryption_key_id AS [ColumnEncryptionKeyID],
ceks.name AS [ColumnEncryptionKeyName],
CAST(clmns.is_filestream AS bit) AS [IsFileStream],
CAST(clmns.is_sparse AS bit) AS [IsSparse],
CAST(clmns.is_column_set AS bit) AS [IsColumnSet],
usrt.name AS [DataType],
s1clmns.name AS [DataTypeSchema],
ISNULL(baset.name, N'''') AS [SystemType],
CAST(CASE WHEN baset.name IN (N''nchar'', N''nvarchar'') AND clmns.max_length <> -1 THEN clmns.max_length/2 ELSE clmns.max_length END AS int) AS [Length],
CAST(clmns.precision AS int) AS [NumericPrecision],
CAST(clmns.scale AS int) AS [NumericScale],
ISNULL(xscclmns.name, N'''') AS [XmlSchemaNamespace],
ISNULL(s2clmns.name, N'''') AS [XmlSchemaNamespaceSchema],
ISNULL( (case clmns.is_xml_document when 1 then 2 else 1 end), 0) AS [XmlDocumentConstraint],
CASE WHEN usrt.is_table_type = 1 THEN N''structured'' ELSE N'''' END AS [UserType],
clmns.generated_always_type AS [GeneratedAlwaysType],
CAST(clmns.is_hidden AS bit) AS [IsHidden],
CAST(clmns.is_masked AS bit) AS [IsMasked]
FROM
sys.tables AS tbl
LEFT OUTER JOIN sys.external_tables AS et ON et.object_id = tbl.object_id
LEFT OUTER JOIN sys.periods as periods ON periods.object_id = tbl.object_id
LEFT OUTER JOIN sys.tables as historyTable ON historyTable.object_id = tbl.history_table_id
INNER JOIN sys.all_columns AS clmns ON clmns.object_id=tbl.object_id
LEFT OUTER JOIN sys.indexes AS ik ON ik.object_id = clmns.object_id and 1=ik.is_primary_key
LEFT OUTER JOIN sys.index_columns AS cik ON cik.index_id = ik.index_id and cik.column_id = clmns.column_id and cik.object_id = clmns.object_id and 0 = cik.is_included_column
LEFT OUTER JOIN sys.computed_columns AS cc ON cc.object_id = clmns.object_id and cc.column_id = clmns.column_id
LEFT OUTER JOIN sys.identity_columns AS ic ON ic.object_id = clmns.object_id and ic.column_id = clmns.column_id
LEFT OUTER JOIN sys.objects AS d ON d.object_id = clmns.default_object_id
LEFT OUTER JOIN sys.objects AS r ON r.object_id = clmns.rule_object_id
LEFT OUTER JOIN sys.column_encryption_keys AS ceks ON (ceks.column_encryption_key_id = clmns.column_encryption_key_id)
LEFT OUTER JOIN sys.types AS usrt ON usrt.user_type_id = clmns.user_type_id
LEFT OUTER JOIN sys.schemas AS s1clmns ON s1clmns.schema_id = usrt.schema_id
LEFT OUTER JOIN sys.types AS baset ON (baset.user_type_id = clmns.system_type_id and baset.user_type_id = baset.system_type_id) or ((baset.system_type_id = clmns.system_type_id) and (baset.user_type_id = clmns.user_type_id) and (baset.is_user_defined = 0) and (baset.is_assembly_type = 1)) 
LEFT OUTER JOIN sys.xml_schema_collections AS xscclmns ON xscclmns.xml_collection_id = clmns.xml_collection_id
LEFT OUTER JOIN sys.schemas AS s2clmns ON s2clmns.schema_id = xscclmns.schema_id
WHERE
(clmns.name=@_msparam_0)and((tbl.name=@_msparam_1 and SCHEMA_NAME(tbl.schema_id)=@_msparam_2))',N'@_msparam_0 nvarchar(4000),@_msparam_1 nvarchar(4000),@_msparam_2 nvarchar(4000)',@_msparam_0=N'MyColun',@_msparam_1=N't_MyTable',@_msparam_2=N'dbo'


Где по плану главный тормоз sys.syscolpars. Индекс есть, но несчастная тысяча строк ставит его в ступор по предикату [Base].[sys].[syscolpars].[number] as [c].[number]=(0) AND [Base].[sys].[syscolpars].[name] as [c].[name]=[@_msparam_0]
Что выполняется он аж по 1.5 секунды. И так по каждой таблице, и в каждой таблице по каждому полю.

Обновил таблице syscolpars статистику, у остальных её нет. Ускорилось, но незначительно.

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

Сообщение было отредактировано: 30 мар 17, 14:05
30 мар 17, 14:04    [20350888]     Ответить | Цитировать Сообщить модератору
 Re: Что произошло с 2016-м сервером?!  [new]
Нектотам
Guest
Skiffspb,

А если индексированное представление создать?
30 мар 17, 14:32    [20351036]     Ответить | Цитировать Сообщить модератору
 Re: Что произошло с 2016-м сервером?!  [new]
Skiffspb
Member

Откуда: Спб
Сообщений: 105
Нектотам,
А как я буду её использовать? Опять-таки надо неким образом менять скрипты агента репликации. Тогда уж сразу слинковать сервера и написать своего агента слияния.

Кстати, провели эксперимент. На один и тот-же сервер поставили 2 версии, 14-ю и 16-ю, чистую с сайта MS триалку. (подумали что может нам продали битую версию). Поставили всё по дефолту. И накатили одну и ту же базу, создали одну и ту же публикацию. И запустили генерацию снапшота тоже одновременно. Результат: 14-й сервер 3 минуты, 16-й опять 2 с лишним часа.
30 мар 17, 15:17    [20351278]     Ответить | Цитировать Сообщить модератору
 Re: Что произошло с 2016-м сервером?!  [new]
Skiffspb
Member

Откуда: Спб
Сообщений: 105
alexeyvg,

А оно кеширует. Если посмотреть профайлером, то на момент выбора обновления интеллисенса - кешируется данные и потом всё работает локально. Так что от сети оно не зависит.
31 мар 17, 10:29    [20353496]     Ответить | Цитировать Сообщить модератору
 Re: Что произошло с 2016-м сервером?!  [new]
buven
Member

Откуда:
Сообщений: 792
Извиняюсь за офтоп
Skiffspb
(подумали что может нам продали битую версию).


Как то мне рассказывали, что автолюбители в советские времена вычисляли, в какой день был собран новый таз отечественного производства. И если это было в промежутке в 2 дня от дня зарплаты - машину лучше было не покупать:)
31 мар 17, 10:50    [20353603]     Ответить | Цитировать Сообщить модератору
 Re: Что произошло с 2016-м сервером?!  [new]
ГуЗы
Guest
buven
Извиняюсь за офтоп
Skiffspb
(подумали что может нам продали битую версию).


Как то мне рассказывали, что автолюбители в советские времена вычисляли, в какой день был собран новый таз отечественного производства. И если это было в промежутке в 2 дня от дня зарплаты - машину лучше было не покупать:)

Вранье!
В те времена мели все авто без разбора.
А это очень опосредованная цитата из Хейли Колесо или Колеса - давно читал, точно не помню.
Да простит меня модератор за off!
31 мар 17, 14:39    [20354823]     Ответить | Цитировать Сообщить модератору
 Re: Что произошло с 2016-м сервером?!  [new]
buven
Member

Откуда:
Сообщений: 792
ГуЗы
buven
Извиняюсь за офтоп
пропущено...


Как то мне рассказывали, что автолюбители в советские времена вычисляли, в какой день был собран новый таз отечественного производства. И если это было в промежутке в 2 дня от дня зарплаты - машину лучше было не покупать:)

Вранье!
В те времена мели все авто без разбора.
А это очень опосредованная цитата из Хейли Колесо или Колеса - давно читал, точно не помню.
Да простит меня модератор за off!


Как говориться - мопед не мой!:) Спасибо за замечание!
31 мар 17, 15:11    [20354951]     Ответить | Цитировать Сообщить модератору
 Re: Что произошло с 2016-м сервером?!  [new]
Skiffspb
Member

Откуда: Спб
Сообщений: 105
Ну, товарищи... Светлое будущее впереди! Осталось не много, в 17-м поправили! Осталось дождаться релиза.

К сообщению приложен файл. Размер - 28Kb
4 май 17, 13:21    [20456756]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить