Ms sql studio 2018 management: MS SQL Server и T-SQL

белый круг в Microsoft SQL Server Management Studio 2012

спросил

Изменено
3 года, 9 месяцев назад

Просмотрено
43к раз

Я новичок в студии управления SQL Server 2012

теперь я использую данные с сервера, и в моей базе данных есть белый кружок

4 человека в моей команде используют этот сервер, и все это видят…

мы используем один и тот же идентификатор для входа на этот сервер…

что это значит

пожалуйста, помогите мне…

  • sql
  • sql-server

Белый кружок обычно содержит зеленую стрелку, синий символ паузы или красный квадрат, указывающие на то, что служба SQL Server запущена, приостановлена ​​или остановлена ​​соответственно.

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

См. здесь: http://www.sqlservercentral.com/Forums/Topic825246-146-1.aspx

2

Это не имеет ничего общего ни с брандмауэром, ни со службами обозревателя SQL Server. По умолчанию SQL Server будет прослушивать порт 1433, если вы его не измените. Если бы порт был заблокирован, вы не смогли бы получить доступ к экземпляру.

Браузер SQL Server прослушивает входящие запросы, опять же, если он отключен, вы не сможете удаленно подключиться к серверу.

Пузырь состояния вызван проблемой с разрешениями. Простой способ устранения неполадок: закройте Management Studio, щелкните ее правой кнопкой мыши и запустите от имени администратора. Если статус отображается, у вас есть проблема с разрешениями.

У меня была такая же проблема. Я решил эту проблему, зарегистрировав сервер: щелкните правой кнопкой мыши свой экземпляр, щелкните «Регистрация…» и введите соответствующую информацию. Повторное подключение.

SQL Server Management Studio использует WMI для запроса информации о состоянии служб.

Если это локальный компьютер, убедитесь, что вы используете опцию «Запуск от имени администратора». и убедитесь, что «Управление Windows
Служба Instrumentation» работает под services.msc на сервере.

проверьте, не блокирует ли брандмауэр связь WMI.
Теперь запустите запрос WMI, чтобы убедиться, что мы можем запрашивать службы. Ниже приведены шаги.

 1. Пуск > Выполнить > WBEMTest
2. Нажмите «Подключиться» и укажите ниже (измените имя удаленного компьютера и ComputerManagement в зависимости от версии SQL. 
\\{имя_сервера}\root\Microsoft\SQLServer\ComputerManagement13
3> Нажмите «Подключиться».
4> Нажмите на запрос
5> Введите Select * из SQLService и примените. Вы должны увидеть результаты.
 

Если у вас возникла проблема с указанным выше, это подтвержденная проблема с WMI.

Убедитесь, что вы можете открыть Диспетчер конфигурации SQL Server, использующий WMI.

У меня была эта проблема в SQL Server 2014, и я выполнил следующие шаги, чтобы решить ее

 1. Доступ к диспетчеру конфигурации SQL Server
2. В разделе «Службы SQL Server» запустите агент SQL Server (убедитесь, что режим запуска установлен автоматически).
 

После запуска красное предупреждение на агенте сервера sql исчезло, а на сервере БД появился зеленый значок воспроизведения.

Мне нужно было только перезапустить SQL Server Management Studio (SSMS), чтобы статус снова появился.

Это для новых пользователей. если вы столкнулись с той же проблемой, то лучше запустить службы Sql Browser вручную, проверить права доступа пользователя, проверить, включены ли необходимые порты или нет. любое решение может помочь…

Вы должны включить все необходимые порты в брандмауэре 😉

1

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя адрес электронной почты и пароль

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Как просмотреть историю запросов в SQL Server Management Studio

Историю запросов можно просмотреть с помощью системных представлений:

  1. sys. dm_exec_query_stats
  2. sys.dm_exec_sql_text
  3. sys.dm_exec_query_plan

Например, используя следующий запрос:

 select top(100)
        создание_время,
        последнее_время_выполнения,
        количество_выполнений,
        total_worker_time/1000 в качестве процессора,
        конвертировать (деньги, (общее_время_работника))/(выполнение_счетчика*1000) как [AvgCPUTime],
        qs.total_elapsed_time/1000 как TotDuration,
        конвертировать(деньги, (qs.total_elapsed_time))/(выполнение_счетчик*1000) как [AvgDur],
        total_logical_reads как [Чтения],
        total_logical_writes как [Запись],
        total_logical_reads+total_logical_writes как [AggIO],
        конвертировать (деньги, (total_logical_reads + total_logical_writes)/(execution_count + 0.0)) как [AvgIO],
        [sql_handle],
        план_дескриптор,
        statement_start_offset,
        statement_end_offset,
        план_генерация_номер,
        общее_физическое_чтение,
        convert(money, total_physical_reads/(execution_count + 0. 0)) as [AvgIOPhysicalReads],
        конвертировать (деньги, total_logical_reads/(execution_count + 0.0)) как [AvgIOLogicalReads],
        конвертировать (деньги, total_logical_writes/(execution_count + 0.0)) как [AvgIOLogicalWrites],
        запрос_хэш,
        query_plan_hash,
        всего_рядов,
        конвертировать (деньги, total_rows/(execution_count + 0.0)) как [AvgRows],
        тотал_доп,
        конвертировать(деньги, total_dop/(выполнение_счетчик + 0.0)) как [AvgDop],
        total_grant_kb,
        конвертировать (деньги, total_grant_kb/(execution_count + 0.0)) как [AvgGrantKb],
        total_used_grant_kb,
        конвертировать (деньги, total_used_grant_kb/(execution_count + 0.0)) как [AvgUsedGrantKb],
        total_ideal_grant_kb,
        конвертировать (деньги, total_ideal_grant_kb/(execution_count + 0.0)) как [AvgIdealGrantKb],
        всего_зарезервированных_потоков,
        конвертировать (деньги, total_reserved_threads/(execution_count + 0.0)) как [AvgReservedThreads],
        общее количество_использованных_потоков,
        конвертировать (деньги, total_used_threads/(execution_count + 0. 0)) как [AvgUsedThreads],
        случай
            когда sql_handle IS NULL, тогда ' '
            иначе (подстрока (st.text, (qs.statement_start_offset + 2)/2, (
                случай
                    когда qs.statement_end_offset =-1, тогда len(convert(nvarchar(MAX),st.text))*2
                    иначе qs.statement_end_offset
                конец - qs.statement_start_offset)/2 ))
        заканчиваться как query_text,
        db_name(st.dbid) как имя_базы_данных,
        object_schema_name(st.objectid, st.dbid)+'.'+object_name(st.objectid, st.dbid) как [object_name],
        sp.[план_запроса]
из sys.dm_exec_query_stats как qs с (readuncommitted)
перекрестное применение sys.dm_exec_sql_text(qs.[sql_handle]) как st
перекрестное применение sys.dm_exec_query_plan(qs.[plan_handle]) как sp
ГДЕ ст.[текст] НРАВИТСЯ '%query%'
 

Текущие запущенные запросы можно увидеть с помощью следующего скрипта:

 выберите ES.[session_id]
,ER.[blocking_session_id]
,ER.[request_id]
,ER. [start_time]
,DateDiff(секунда, ER.[start_time], GetDate()) как [date_diffSec]
, СЛИЯТЬСЯ(
CAST(NULLIF(ER.[total_elapsed_time] / 1000, 0) как BIGINT)
,CASE WHEN (ES.[status] <> 'работает' и isnull(ER.[status], '') <> 'работает')
THEN DATEDIFF(ss,0,getdate() - nullif(ES.[last_request_end_time], '1900-01-01T00:00:00.000'))
КОНЕЦ
) как [общее_время, сек]
, CAST(NULLIF((CAST(ER.[total_elapsed_time] as BIGINT) - CAST(ER.[wait_time] AS BIGINT)) / 1000, 0 ) as bigint) as [work_time, sec]
, CASE WHEN (ER.[статус] <> 'работает' AND ISNULL(ER.[статус],'') <> 'работает')
THEN DATEDIFF(ss,0,getdate() - nullif(ES.[last_request_end_time], '1900-01-01T00:00:00.000'))
END as [время сна, сек] --Время сна в сек
, NULLIF( CAST((ER.[логические_чтения] + ER.[записи]) * 8/1024 как числовое (38,2)), 0) как [IO, МБ]
, CASE ER.transaction_isolation_level
КОГДА 0 ТОГДА 'Не указано'
WHEN 1 THEN 'ReadUncommited'
КОГДА 2, ТОГДА 'ReadCommited'
КОГДА 3 ТОГДА 'Повторяющийся'
КОГДА 4 ТОГДА "Сериализуемый"
КОГДА 5 ТОГДА 'Снимок'
ЗАВЕРШИТЬ как [transaction_isolation_level_desc]
,ER. [статус]
,ES.[status] как [status_session]
,ER.[команда]
,ER.[percent_complete]
,DB_Name(объединить(ER.[database_id], ES.[database_id])) как [DBName]
, ПОДСТРОКА(
(выберите верхнюю часть (1) [текст] из sys.dm_exec_sql_text (ER. [sql_handle]))
, ER.[statement_start_offset]/2+1
, (
CASE WHEN ((ER.[statement_start_offset]<0) ИЛИ (ER.[statement_end_offset]<0)) THEN DATALENGTH ((выберите top(1) [text] из sys.dm_exec_sql_text(ER.[sql_handle]))) ИНАЧЕ ER.[statement_end_offset] КОНЕЦ - ER.[statement_start_offset] )/2 +1 ) как [CURRENT_REQUEST] ,(выберите top(1) [текст] из sys.dm_exec_sql_text(ER.[sql_handle])) как [TSQL] ,(выберите top(1) [objectid] из sys.dm_exec_sql_text(ER.[sql_handle])) как [objectid] ,(выберите top(1) [query_plan] из sys. dm_exec_query_plan(ER.[plan_handle])) как [QueryPlan]
, NULL as [event_info] -- (выберите top(1) [event_info] из sys.dm_exec_input_buffer(ES.[session_id], ER.[request_id])) as [event_info]
,ER.[wait_type]
,ES.[время_входа]
,ES.[host_name]
,ES.[имя_программы]
,cast(ER.[wait_time]/1000 как десятичное число(18,3)) как [wait_timeSec]
,ER.[время_ожидания]
,ER.[last_wait_type]
,ER.[wait_resource]
,ER.[open_transaction_count]
,ER.[open_resultset_count]
,ER.[идентификатор_транзакции]
,ER.[context_info]
,ER.[расчетное_время_завершения]
,ER.[cpu_time]
,ER.[total_elapsed_time]
,ER.[идентификатор_планировщика]
,ER.[task_address]
,ER.[читает]
,ER.[пишет]
,ER.[логические_чтения]
,ER.[text_size]
,ER.[язык]
,ER.[формат_даты]
,ER.[date_first]
,ER.[quoted_identifier]
,ER.[arithabort]
,ER.[ansi_null_dflt_on]
,ER.[ansi_defaults]
,ER. [ansi_warnings]
,ER.[ansi_padding]
,ER.[ansi_nulls]
,ER.[concat_null_yields_null]
,ER.[transaction_isolation_level]
,ER.[lock_timeout]
,ER.[deadlock_priority]
,ER.[row_count]
,ER.[prev_error]
,ER.[nest_level]
,ER.[предоставленная_запрос_память]
,ER.[executing_managed_code]
,ER.[group_id]
,ER.[query_hash]
,ER.[query_plan_hash]
,EC.[самый_последний_сеанс_id]
,EC.[connect_time]
,EC.[net_transport]
,EC.[тип_протокола]
,EC.[версия_протокола]
,EC.[endpoint_id]
,EC.[опция_шифрования]
,EC.[auth_scheme]
,EC.[node_affinity]
,EC.[num_reads]
,EC.[num_writes]
,EC.[last_read]
,EC.[last_write]
,EC.[net_packet_size]
,EC.[client_net_address]
,EC.[client_tcp_port]
,EC.[local_net_address]
,EC.[local_tcp_port]
,EC.[parent_connection_id]
,EC.[самая_последняя_sql_handle]
,ES.[host_process_id]
,ES. [client_version]
,ES.[client_interface_name]
,ES.[security_id]
,ES.[логин_имя]
,ES.[nt_domain]
,ES.[nt_user_name]
,ES.[memory_usage]
,ES.[total_scheduled_time]
,ES.[last_request_start_time]
,ES.[last_request_end_time]
,ES.[is_user_process]
,ES.[original_security_id]
,ES.[original_login_name]
,ES.[последний_успешный_вход]
,ES.[последний_неудачный_вход]
,ES.[неудачные_входы]
,ES.[идентификатор_базы_данных_аутентификации]
,ER.[sql_handle]
,ER.[statement_start_offset]
,ER.[statement_end_offset]
,ER.[plan_handle]
,NULL as [dop]--ER.[dop]
,объединить(ER.[идентификатор_базы_данных], ES.[идентификатор_базы_данных]) как [идентификатор_базы_данных]
,ER.[user_id]
,ER.[connection_id]
из sys.dm_exec_requests ER с (readuncommitted)
право присоединиться к sys.dm_exec_sessions ES с (readuncommitted)
на ES.session_id = ER.session_id
левое соединение sys.dm_exec_connections EC с (readuncommitted)
на EC.