powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не пойму почему тормозит сервер
11 сообщений из 11, страница 1 из 1
Не пойму почему тормозит сервер
    #39585808
наутилус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть сервер
Код: sql
1.
Microsoft SQL Server 2017 (RTM) - 14.0.1000.169 (X64)   Aug 22 2017 17:04:49   Copyright (C) 2017 Microsoft Corporation  Enterprise Edition (64-bit) on Windows 10 Pro 10.0 <X64> (Build 16299: ) 



при попытке изменить любую хп через SSMS v17.4 постоянные тормоза при открытии хп. так же тормоза при попытке "раскрыть" таблицу - посмотреть её Columns.

запустил профайлер, увидел где тормозит:


текст запроса:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
exec sp_executesql N'SELECT
sp.name AS [Name],
sp.object_id AS [ID],
sp.create_date AS [CreateDate],
sp.modify_date AS [DateLastModified],
ISNULL(ssp.name, N'''') AS [Owner],
CAST(case when sp.principal_id is null then 1 else 0 end AS bit) AS [IsSchemaOwned],
SCHEMA_NAME(sp.schema_id) AS [Schema],
CAST(
 case 
    when sp.is_ms_shipped = 1 then 1
    when (
        select 
            major_id 
        from 
            sys.extended_properties 
        where 
            major_id = sp.object_id and 
            minor_id = 0 and 
            class = 1 and 
            name = N''microsoft_database_tools_support'') 
        is not null then 1
    else 0
end          
             AS bit) AS [IsSystemObject],
CAST(ISNULL(OBJECTPROPERTYEX(sp.object_id,N''ExecIsAnsiNullsOn''),0) AS bit) AS [AnsiNullsStatus],
CAST(ISNULL(OBJECTPROPERTYEX(sp.object_id,N''ExecIsQuotedIdentOn''),0) AS bit) AS [QuotedIdentifierStatus],
CAST(ISNULL(OBJECTPROPERTYEX(sp.object_id, N''IsSchemaBound''),0) AS bit) AS [IsSchemaBound],
CAST(CASE WHEN ISNULL(smsp.definition, ssmsp.definition) IS NULL THEN 1 ELSE 0 END AS bit) AS [IsEncrypted],
CAST(ISNULL(smsp.is_recompiled, ssmsp.is_recompiled) AS bit) AS [Recompile],
case when amsp.object_id is null then N'''' else asmblsp.name end AS [AssemblyName],
case when amsp.object_id is null then N'''' else amsp.assembly_class end AS [ClassName],
case when amsp.object_id is null then N'''' else amsp.assembly_method end AS [MethodName],
case when amsp.object_id is null then case isnull(smsp.execute_as_principal_id, -1) when -1 then 1 when -2 then 2 else 3 end else case isnull(amsp.execute_as_principal_id, -1) when -1 then 1 when -2 then 2 else 3 end end AS [ExecutionContext],
case when amsp.object_id is null then ISNULL(user_name(smsp.execute_as_principal_id),N'''') else user_name(amsp.execute_as_principal_id) end AS [ExecutionContextPrincipal],
CAST(ISNULL(spp.is_auto_executed,0) AS bit) AS [Startup],
CASE WHEN sp.type = N''P'' THEN 1 WHEN sp.type = N''PC'' THEN 2 ELSE 1 END AS [ImplementationType],
CAST(CASE sp.type WHEN N''RF'' THEN 1 ELSE 0 END AS bit) AS [ForReplication],
ISNULL(sm.uses_native_compilation,0) AS [IsNativelyCompiled]
FROM
sys.all_objects AS sp
LEFT OUTER JOIN sys.database_principals AS ssp ON ssp.principal_id = ISNULL(sp.principal_id, (OBJECTPROPERTY(sp.object_id, ''OwnerId'')))
LEFT OUTER JOIN sys.sql_modules AS smsp ON smsp.object_id = sp.object_id
LEFT OUTER JOIN sys.system_sql_modules AS ssmsp ON ssmsp.object_id = sp.object_id
LEFT OUTER JOIN sys.assembly_modules AS amsp ON amsp.object_id = sp.object_id
LEFT OUTER JOIN sys.assemblies AS asmblsp ON asmblsp.assembly_id = amsp.assembly_id
LEFT OUTER JOIN sys.procedures AS spp ON spp.object_id = sp.object_id
LEFT OUTER JOIN sys.all_sql_modules AS sm ON sm.object_id = sp.object_id
WHERE
(sp.type = @_msparam_0 OR sp.type = @_msparam_1 OR sp.type=@_msparam_2)and(sp.name=@_msparam_3 and SCHEMA_NAME(sp.schema_id)=@_msparam_4)',N'@_msparam_0 nvarchar(4000),@_msparam_1 nvarchar(4000),@_msparam_2 nvarchar(4000),@_msparam_3 nvarchar(4000),@_msparam_4 nvarchar(4000)',@_msparam_0=N'P',@_msparam_1=N'RF',@_msparam_2=N'PC',@_msparam_3=N'usp_customer_list',@_msparam_4=N'dbo'



в ссмс выполняется 1 минуту 20 сек.

почему так долго? из-за чего такие тормоза?

-
Чудеса случаются. Это Вам любой программист скажет.
...
Рейтинг: 0 / 0
Не пойму почему тормозит сервер
    #39585853
AlanDenton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Увы эти запросы кочуют от версии к версии. И их менять вряд ли кто будет. Изначально писали индусы, потому как код SSMS 2005 планомерно расширяется в новых версиях. Также в запросе OPTION(RECOMPILE) не хватает - что спасло бы.

Если короче - то нужно смириться либо юзать альтернативные решение которые тоже далеки от идеала
...
Рейтинг: 0 / 0
Не пойму почему тормозит сервер
    #39590444
наутилус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
случайно нашел в чем причина.

предыстория.
был сервер MS SQL 2008R2, база (1) жила на нем с фиг знает каких времён.
поставили MS SQL 2017, базу подняли из бекапа, подняли compat.level до SQL server 2017 (140)
и вроде бы все хорошо работает.

но вот где-то с того времени появились непонятные тормоза при открытии хп для изменения или просто раскрытия списка хп или таблиц. студия уходила "в себя" и по минуте, полторы думала. тогда повозился, ответа не нашел, списал на фоновые процессы на ноуте, может ресурсов не хватало.

сегодня из-за невозможности так работать снес предыдущий сервер, поставил девелоп версию. поднял базу не (1) и всё отлично летало, работал. а потом понадобилось посмотреть код в (1), поднял её и тут же начались тормоза при открытии объектов (хранимок).

подумал, что может что-то некорректно обновилось при повылении левела базы с 2008 на 2017. решил создать новую бд и в неё перетянуть данные из (1). при попытке штатным мастером это сделать, получил ошибку выполнения:


т.е. в имени одной из таблиц был пробел в конце.
убрал пробел и всё залетало.

вот такое. может кому пригодится.
...
Рейтинг: 0 / 0
Не пойму почему тормозит сервер
    #39590465
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наутилус,

сказки
...
Рейтинг: 0 / 0
Не пойму почему тормозит сервер
    #39590472
наутилус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Критик,

убрал пробел в имени и проблема решилась. а так да. чудеса случаются.
...
Рейтинг: 0 / 0
Не пойму почему тормозит сервер
    #39590623
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Критикнаутилус,

сказки

Применительно к "летанию" конкретного приложения - вполне возможно.
Мож оно эту таблу ежемоментно терзает.

Но для сервера "в целом" - несомненные сказки.
...
Рейтинг: 0 / 0
Не пойму почему тормозит сервер
    #39590687
наутилус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks222,

тормозила smss в момент открытия хп на изменения.
...
Рейтинг: 0 / 0
Не пойму почему тормозит сервер
    #39590717
iiyama
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наутилус,
к сожалению, не удалось воспроизвести. Может это совокупность факторов
Microsoft SQL Server Management Studio 14.0.17199.0
Сервер
1. Microsoft SQL Server 2017 (RTM-CU1) (KB4038634) - 14.0.3006.16 (X64) Oct 19 2017 02:42:29 Copyright (C) 2017 Microsoft Corporation Developer Edition (64-bit) on Windows 10 Pro 10.0 <X64> (Build 15063: )
2. Microsoft SQL Server 2014 (SP2) (KB3171021) - 12.0.5000.0 (X64) Jun 17 2016 19:14:09 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.3 <X64> (Build 9600: ) (Hypervisor)

Код: sql
1.
2.
3.
4.
5.
6.
CREATE procedure [dbo].[testprobelinname ]
as
begin
set nocount on;
print 'procedure dbo.[testprobelinname ]'
end
...
Рейтинг: 0 / 0
Не пойму почему тормозит сервер
    #39590731
наутилус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iiyamaнаутилус,
к сожалению, не удалось воспроизвести. Может это совокупность факторов

скорее всего, что какая-то магия. я сам был удивлён.
спросил напарника - говорит не трогал эту таблицу очень давно. а вылезло когда переехали на 2017 сервер и smss.
при чем тормоза наблюдались при работе с другой бд (на этом же сервере). при попытке в м.студии открыть хранимку - просто подвисает оболочка (в шапке появляется надпись "(Не отвечает)".

ну хорошо хоть скрин сделал на ошибке, где указано что проблема в имени таблицы, а то сегодня сам бы себе не поверил, что в этом была проблема )))) подумал бы что "сказки", приснилось ))
...
Рейтинг: 0 / 0
Не пойму почему тормозит сервер
    #39590816
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наутилуспри попытке изменить любую хп через SSMS v17.4 постоянные тормоза при открытии хп. так же тормоза при попытке "раскрыть" таблицу - посмотреть её Columns.


наутилуспри попытке изменить любую хп через SSMS v17.4 постоянные тормоза при открытии хп. так же тормоза при попытке "раскрыть" таблицу - посмотреть её Columns.

iiyamaнаутилус,
к сожалению, не удалось воспроизвести. Может это совокупность факторов
Microsoft SQL Server Management Studio 14.0.17199.0

Студия 17.3, а у коллеги 17.4. Как выяснили в соседней ветке - шрифты починили, а что-то еще наоборот сломали.
Редмонд во всей красе...
...
Рейтинг: 0 / 0
Не пойму почему тормозит сервер
    #39591892
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может CLR сборки для GAC перекомпилоровал или ещё что.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не пойму почему тормозит сервер
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]