Sql server management studio 2018 руководство: MS SQL Server — Краткое руководство
Содержание
SQL Server сильно грузит процессор. Проблемы с CPU у процесса SQLServer. Оптимизация запросов SQL по CPU. Подробное руководство
Как понять что проблема именно в SQL Server — Заходим в Диспетчер задач, на вкладке Подробности находим sqlserver и смотрим колонку ЦП.
Если это значение постонно высокое, то значит где-то идет утечка CPU.
В этом руководстве мы собрали различные советы как решать подобную проблему
Поиск проблемных мест в SQL Server по CPU
1. Cмотрим счетчики perfmon
Определяем проблема в Kernel или User запросах.
В perfmon смотрим следующие параметры:
- Processor: % Privileged Time – Percentage of time processor spends on execution of Microsoft Windows kernel commands such as OS activity. (If more than 30% involve Windows Admins)
- Process (sqlservr): % Privileged Time – the sum of processor time on each processor for all threads of the process (SQL Kernel)
- Processor: % User Time – percentage of time the processor spends on executing user processes such as SQL Server. This includes I/O requests from SQL Server
Если это значение % Privileged Time / No of logical cpus больше 30%, то скорее всего дело в системных настройках, возможно антивирус.
Используя данную инструкцию вы можете найти проблемные spID, которые в данный момент загружают процессор — https://www.mssqltips.com/sqlservertip/2454/how-to-find-out-how-much-cpu-a-sql-server-process-is-really-using/
2. Ищем проблемные процессы
SELECT * FROM sys.sysprocesses WHERE cmd like 'LAZY WRITER' or cmd like '%Ghost%' or cmd like 'RESOURCE MONITOR'
альтернативный вариант:
SELECT top 20 spid, kpid, dbid, cpu, memusage FROM sysprocesses order by cpu desc
spID с 1 до 50 — это системные. Мы можем отключать (kill spID) или смотреть запрос только для пользовательских (spID>50).
Также пробуем использовать хранимки exec sp_who, sp_who1, sp_who2, sp_who3 — они позволяют посмотреть все процессы и их текущее состояние.
По spid можно найти этот запрос:
DECLARE @sqltext VARBINARY(128) SELECT @sqltext = sql_handle FROM sys. sysprocesses WHERE spid = 78 SELECT TEXT FROM sys.dm_exec_sql_text(@sqltext) GO
Альтернативно вы можете посмотреть последний запрос, выполняющийся в рамках этого spID:
DBCC INPUTBUFFER(60) GO SELECT @@SPID -- получить SPID текущего процесса GO
А также можно убить процесс через kill spID. Убили процесс — и посмотрели как это сказалось на загрузке.
3. Выявление проблем через спец запросы SQL
Также попробуйте выполнить следующие запросы для поиска проблемных мест по CPU
SELECT GETDATE() AS "RunTime", st.text AS batch, SUBSTRING(st.text,statement_start_offset / 2+1 ,((CASE WHEN a.statement_end_offset = -1 THEN (LEN(CONVERT(nvarchar(max),st.text)) * 2) ELSE a.statement_end_offset END) - a.statement_start_offset) / 2+1) AS current_statement , qp.query_plan, a.* FROM sys.dm_exec_requests a CROSS APPLY sys.dm_exec_sql_text(a.sql_handle) AS st CROSS APPLY sys.dm_exec_query_plan(a.plan_handle) AS qp ORDER BY CPU_time DESC
Еще один скрипт для поиска проблемных запросов по CPU:
/* Disclaimer: I am not sure for the origin of this script/query. This query is used in our team to identify and resolve high CPU issue */ --define the temptables that will hold intermediary results IF OBJECT_ID('tempdb..#dbcc') IS NOT NULL DROP TABLE #dbcc create table #dbcc(c1 varchar(15), c2 int, c3 varchar(255),spid int default 0) IF OBJECT_ID('tempdb..#cpugroups') IS NOT NULL DROP TABLE #cpugroups create table #cpugroups (sql_handle binary(20), sql_text nvarchar(50),total_cpu bigint,total_io bigint,total_sessions int, total_threads int) --take the SPID groups that are running same code (NOT statement) insert into #cpugroups select top 10 sql_handle,substring((select text from fn_get_sql(sql_handle)),1,50), SUM(CPU) TotalCPUForGroup, SUM(physical_io) TotalIOForGroup, COUNT(distinct spid) TotalNoOfSessions,COUNT(*) TotalNoOfThreads from master..sysprocesses (nolock) where spid>50 and status<>'sleeping' and sql_handle<>0x0 and spid<>@@spid group by sql_handle order by TotalCPUForGroup desc declare @sql nvarchar(max) declare @t table (spid int) INSERT INTO @t SELECT DISTINCT spid FROM master. .sysprocesses WHERE spid>50 and sql_handle in (select sql_handle from #cpugroups) declare @spid int WHILE EXISTS(select * from @t) BEGIN select top 1 @spid=spid from @t set @sql='dbcc inputbuffer('+LTRIM(STR(@spid))+')' --try to retrieve the original command for all SPIDs BEGIN TRY INSERT INTO #dbcc(c1, c2, c3) EXEC (@sql) update #dbcc set spid=@spid where spid=0 END TRY BEGIN CATCH END CATCH delete from @t where spid=@spid END select * from #cpugroups select c3 [sql_text], count(*) NoOfSessionsRunning from #dbcc group by c3 order by 2 desc select * from #dbcc
Для найденных элементов можно удалить план в кеше (подставив sql_handle):
DBCC FREEPROCCACHE (plan_handle_id_goes_here)
Еще 1 запрос на поиск проблем по CPU:
SELECT r.session_id ,st.TEXT AS batch_text ,SUBSTRING(st.TEXT, statement_start_offset / 2 + 1, ( ( CASE WHEN r.statement_end_offset = - 1 THEN (LEN(CONVERT(NVARCHAR(max), st.TEXT)) * 2) ELSE r. statement_end_offset END ) - r.statement_start_offset ) / 2 + 1) AS statement_text ,qp.query_plan AS 'XML Plan' ,r.* FROM sys.dm_exec_requests r CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) AS st CROSS APPLY sys.dm_exec_query_plan(r.plan_handle) AS qp ORDER BY cpu_time DESC
И еще один:
SELECT s.session_id, r.status, r.blocking_session_id 'Blk by', r.wait_type, wait_resource, r.wait_time / (1000 * 60) 'Wait M', r.cpu_time, r.logical_reads, r.reads, r.writes, r.total_elapsed_time / (1000 * 60) 'Elaps M', Substring(st.TEXT,(r.statement_start_offset / 2) + 1, ((CASE r.statement_end_offset WHEN -1 THEN Datalength(st.TEXT) ELSE r.statement_end_offset END - r.statement_start_offset) / 2) + 1) AS statement_text, Coalesce(Quotename(Db_name(st.dbid)) + N'.' + Quotename(Object_schema_name(st.objectid, st.dbid)) + N'.' + Quotename(Object_name(st.objectid, st.dbid)), '') AS command_text, r.command, s.login_name, s.host_name, s.program_name, s.last_request_end_time, s. login_time, r.open_transaction_count FROM sys.dm_exec_sessions AS s JOIN sys.dm_exec_requests AS r ON r.session_id = s.session_id CROSS APPLY sys.Dm_exec_sql_text(r.sql_handle) AS st WHERE r.session_id != @@SPID ORDER BY r.cpu_time desc
Также посмотрите правой кнопкой на Сервере > reports> Standard reports > Top CPU queries.
4. Анализ найденных проблемных запросов
В найденных запросах посмотрите execution plan и посмотрите где наибольший cost.
Дополнительные рекомендации:
- проверьте что стоят все необходимые индексы на таблицах, которые участвуют в проблемных запросах.
- постарайтесь как можно «быстрее» в where обрезать данные для уменьшения выборки для последующей обработки. Т.е. старайтесь не допускать сканирования по очень большой таблице без использования какой либо фильтрации (либо эта фильтрация содержит затратную логику проверки условий)
- проверьте, что у вас нет затратных конвертаций типов
- если используете множественно функции, проверьте что они используют минимум извлечений внутри.
- Вариант — поставить обновление https://support.microsoft.com/ru-ru/help/3195888/fix-high-cpu-usage-causes-performance-issues-in-sql-server-2016-and-20
select * from sys. dm_os_spinlock_stats -- провериить что нет больших чисел у SECURITY_CACHE и CMED_HASH_SET - если есть то установить обновления
- https://docs.microsoft.com/ru-ru/sql/relational-databases/system-dynamic-management-views/sys-dm-exec-query-plan-transact-sql?view=sql-server-ver15 находить тяжелые процессы и смотреть их планы запросов
- Как посмотреть запрос по sql handle или plan handle — https://docs.microsoft.com/ru-ru/sql/relational-databases/system-dynamic-management-views/sys-dm-exec-sql-text-transact-sql?view=sql-server-ver15
Источники и что почитать по теме утечек CPU
- http://dba-datascience.com/high-cpu-usage-sql-server/
- https://support.microsoft.com/ru-ru/help/2009160/high-cpu-use-occurs-in-your-queries-on-sql-server
- https://blog. sqlauthority.com/2018/03/23/sql-server-how-to-fix-high-cpu-consumption-on-sql-server-2017-and-2016/
- https://www.c-sharpcorner.com/blogs/difference-between-spwho-spwho2
- https://docs.microsoft.com/ru-ru/archive/blogs/docast/sql-high-cpu-troubleshooting-checklist очень подробная статья.
- https://www.mssqltips.com/sqlservertip/2454/how-to-find-out-how-much-cpu-a-sql-server-process-is-really-using/
- https://www.youtube.com/watch?v=98c8spD5k5s
Альтернативная документация по поиску CPU проблем SQL Server
Что проверить в первую очередь:
- Конфигурация железа сервера.
- Дисковая подсистема.
- Свободное место.
- Антивирус на сервере стоит?
- БД (операции) не выполняются / выполняются, как часто.
- Проверка целостности
- Индексы перестройка
- Обновление статистики
- Сжатие (шринк)
Общие рекомендации
http://sqlcom.ru/optimization_query/sql-server-performance-problems-after-moved-to-new-server/
Электропитания — использовать «Высокая производительность»
настройка кэширования записи на диск
антивирус, — добавить папку SQL Server и файлов БД в исключения
настройка настроены параметры параллелизма (cost threshold for parallelism, max degree of parallelism)
настройка Hyper-Threading.
Мониторинг SSMS — «Стандартные отчеты»
«Стандартные отчеты» в пользовательском интерфейсе Management Studio
SQL Server Management Studio предоставляет минимальный необходимый набор стандартных отчетов для получения информации в режиме пользовательского интерфейса.
Доступ к этим отчетам может быть выполнен через «Обозреватель объектов» (Object explorer) → Правый клик мыши по базе данных → «Отчеты» (Reports) → «Стандартный отчет» (Standard reports)
Перечень «Стандартные отчеты»:
Перечень «Стандартные отчеты»:
- Занято место на диске
- Использование дисковой памяти верхними таблицами
- Использование дисковой памяти таблицей
- Использование дисковой памяти секцией
- События резервного копирования и восстановления
- Все транзакции
- Все блокирующие транзакции
- Самые продолжительные транзакции
- Транзакции, блокирующие наибольшее кол-во транзакций при выполнении
- Транзакции с наибольшим кол-вом блокировок
- Статистика блокировки ресурсов по объектам
- Статистика выполнения объектов
- Журнал согласованности баз данных
- Статистика использования индекса
- Физическая статистика индекса
- Журнал изменений схемы
- Статистика пользователей
- Перечень «Пользовательские отчеты»
Мониторинг Activity Monitor — Монитор активности
Открыть монитор активности CTRL+ALT+A или SSMS стандарт. панель инструментов значок.
Монитор активности SQL Server 2008 объединяет данные о процессах, предоставляя наглядную информацию по выполняющимся и недавно выполнявшимся процессам.
Монитор активности предлагает администратору раздел обзора, внешне похожий на Диспетчер задач Windows, а также компоненты детального просмотра отдельных процессов, ожидания ресурсов, ввода-вывода в файлы данных и последних ресурсоемких запросов.
Мониторинг Reporting Services — Performance Dashboard Reports
Для наблюдения за SQL Server есть интересный пакет отчетов Reporting Services, называется он SQL Server Performance Dashboard Reports.
Можноскачать
The SQL Server 2012 Performance Dashboard Reports are Reporting Services report files designed to be used with the Custom Reports feature of SQL Server Management Studio.
Вопрос – используется ли Reporting Services?
Мониторинг (платный)
http://sqlcom. ru/monitor/microsoft-sql-server-monitoring-solution/
(платный) от разных компаний:
Idera — SQL Diagnostic Manager
Red-Gate — SQL Monitor
ApexSQL — ApexSQL Monitor
Quest — Spotlight on SQL Server Enterprise
SentryOne — SQL centry
Так же — вариант мониторинга SQL Server на Zabbix.
СКРИПТЫ — системные
sp_who и sp_who2
найти блокирующие и ожидающие запросы
1 — 100_1_sys.dm_exec_query_stats — most time cpu
— 100_1_sys.dm_exec_query_stats_Which Queries are taking the most time cpu to execute
sys.dm_exec_query_stats OUTER APPLY sys.dm_exec_query_pl
3 — 100_3_sys.dm_exec_query_stats cpu-utilization
100_3_sys.dm_exec_query_stats_sql-server-cpu-utilization-io-usage-and-memory-usage.sql
sys.dm_exec_query_stats CROSS APPLY sys.dm_exec_plan_attributes
Результат имеет вид.
row_num | DatabaseName | CPU_Time(Ms) | CPUPercent |
1 | master | 6355553 | 88. 11 |
2 | АutoParts_shop_v2 | 357018 | 4.95 |
3 | testDB_1 | 255776 | 3.55 |
4 | tempdb | 244863 | 3.39 |
5 | msdb | 142 | 0 |
4 — 100_4_sys.dm_exec_query_stats_Тяжелые запросы
— 100_4_sys.dm_exec_query_stats_Тяжелые запросы
— Скрипт основан на представлении sys.dm_exec_query_stats:
5 — 100_5_sys.dm_tran_locks_заблокированные запросы
Быстрый способ найти заблокированные запросы
— 100_5_sys.dm_tran_locks_заблокированные запросы
— мы должны убить blocking_session_id.
— Изучите столбец BlockingText
— Мы можем убить сессию с помощью KILL 52
6 — 100_6_Какой процессор чем загружен
— 100_6_Какой процессор чем загружен
7 — 100_7_Информация о пользователях и подключения. sql
— 100_7_Информация о пользователях и подключения.sql
— представлениям: sys.dm_exec_connections, master.sys.sysprocesses, sys.dm_exec_sessions
СКРИПТЫ — sp_WhoIsActive
Вызов:
200_2_sp_WhoIsActive_Параметры.sql
Источник:
http://whoisactive.com/
sp_whoisactive is a comprehensive activity monitoring stored procedure that works for all versions of SQL Server from 2005 through 2017.
«Who Is Active» показывает только текущую активность сервера ( кто и что вызывает нагрузку в данный момент времени.). Можно использовать для сбора и последующего анализа данных.
Внутри используется 15 DMV.
Много параметров.
@show_sleeping_spids = 2, -- Показать спящие сессии @show_system_spids = 1, -- Показать системные сессии @show_own_spid = 1 -- Показать вашу собственную сессию , @get_full_inner_text = 1 -- видеть всю активность, , @get_outer_command = 1 -- что вызвало этот [sql_text] , @get_task_info = 1 -- Вывести в столбец [wait_info] не только самое важное ожидание, но и все остальные: , @get_transaction_info = 1 --9. Можно так же убрать агрегацию транзакций одной сессии и вывести их по отдельности: , @get_additional_info = 1 --10. Вывести более детальную информацию. Будет добавлен столбец [additional_info] с информацией в формате XML -- , @find_block_leaders = 1 -- количество заблокированных процессов каждой сессией: , @sort_order = '[CPU] DESC' -- сортировку вывода
СКРИПТЫ — sp_Blitz
Нужно ставить внешнюю процедуру. Можно ставить в любую БД.
Источник:
https://www.brentozar.com/askbrent/
https://www.brentozar.com/first-aid/
Быстрая проверка вашего SQL Server (sp_Blitz)
Как работает:
- Вы устанавливаете процедуру
- Запускаете когда вам удобно
Обычно процедура выполняется от 5 до 15 секунд. Скрипт максимально проработан чтобы не препятствовать работе других пользователей, но вам всё равно лучше проверить его работу на тестовом сервере
--dbo. sp_Blitz -- общие параметры --sp_BlitzFirst - "Why is my SQL Server slow right now?" --sp_BlitzCache - "What are the most resource-intensive queries on this server?" --sp_BlitzIndex - "How could I tune indexes to make this database faster?" --sp_BlitzQueryStore - "How has this query performed over time?" --Sorry, sp_BlitzQueryStore doesn't work on versions of SQL prior to 2016, or Azure Database compatibility < 130. --sp_BlitzWho --Who’s running what queries right now?
SQL Profiler
SQL Profiler — используйте, где нужно быстро посмотреть, что там за запрос.
SQL Profiler — остается одним из самых используемых инструментов для диагностики работы SQL Server, несмотря на то, что считается устаревшим. Может быть удален в будущих версиях СУБД, является графической надстройкой для SQL Trace . Как и SQL Profiler, SQL Trace считается устаревшим инструментом и может быть удален в будущем. SQL Trace находится в режиме поддержки и не дополняется новым функционалом.
Кол-во счетчиков (событий) = 180.
Extended Events
В SSMS в разделе «Управление -> Расширенные события -> Сеансы» Вы можете найти список всех сеансов расширенных событий.
Руководство по SQL Server Management Studio
Конфигурация приложения играет важную роль в любом приложении, когда оно установлено. Однако некоторые приложения настраиваются во время установки (с настройками по умолчанию), в то время как в других случаях для достижения реальных преимуществ выполняется ручная настройка. В случае с SQL Server Management Studio (SSMS) он настроен по умолчанию со стандартными параметрами, и его можно дополнительно настроить, чтобы упростить работу.
В предыдущем руководстве я объяснил, как установить SQL Server Management Studio за несколько простых шагов. В этом руководстве я продемонстрирую настройку SQL Server Management Studio, чтобы извлечь из нее максимум пользы и упростить работу. Кроме того, я познакомлю вас с многочисленными настройками конфигурации SQL Server Management Studio, которые помогут вам создать благоприятную среду и предотвратить частые настройки. Вы также научитесь лучшему/самому эффективному способу находить нужную функцию в нужном месте в нужное время, потому что это одна из самых больших проблем для новичка.
Позвольте мне продемонстрировать, как настроить SQL Server Management Studio (SSMS) за семь простых шагов.
Шаг 1. Откройте Диспетчер конфигурации SQL Server:
Перейдите к Пуск >> Все программы >> Microsoft SQL Server 2012 >> Инструменты настройки >> Диспетчер конфигурации SQL Server . Диспетчер конфигурации SQL Server — это удобный инструмент для управления службами, связанными с SQL Server.
Шаг 2 — Запустите службу SQL Server:
Как только вы окажетесь в инструменте диспетчера конфигурации SQL Server, вы увидите множество служб в разных состояниях (запуск, пауза, работа). На этом шаге проверьте, запущена ли служба SQL Server. Если нет, запустите эту службу, выбрав службу, щелкните правой кнопкой мыши и запустите. Убедитесь, что статус службы изменился на Запустить режим .
Шаг 3. Запустите SQL Server Management Studio:
Откройте SQL Server Management Studio. Снова выберите Пуск >> Все программы >> Microsoft SQL Server 2012 >> SQL Server Management Studio 9.0008 .
Шаг 4. Укажите учетные данные:
Укажите учетные данные SQL Server, к которому вы собираетесь подключиться. Если вы хотите подключиться к локально установленному SQL-серверу, вы можете поместить с точкой вместо Имя сервера , и он подключится к этому серверу. Однако для лучшей практики вы должны ввести имя сервера, логин и пароль для проверки подлинности SQL Server. Но в случае аутентификации Windows вам НЕ нужны данные для входа и пароля, однако вам необходимо предоставить достаточные права доступа для входа в Windows для подключения к SQL Server. Просто нажмите на Подключить .
Шаг 5. Настройка среды:
После входа в SQL Server вы можете увидеть стандартную среду SQL Server Management Studio. Вы можете увидеть Object Explorer слева (слева) от SQL Server Management Studio и справа (справа) — пустую область, которую мы обычно используем для SQL-запросов. Это можно оставить как параметр по умолчанию, но я рекомендую вам просмотреть приведенные ниже параметры запуска и выбрать тот, который лучше всего подходит для вашей среды. Как я объяснил ранее, 1 st Опция используется по умолчанию. Однако я обычно настраиваю 3 rd optio n, чтобы каждый раз при подключении к SQL Server Management Studio не открывать новое окно запроса. Он автоматически открывает проводник объектов вместе с новым окном запроса.
- Открыть обозреватель объектов ( Это параметр по умолчанию )
- Открыть новое окно запроса
- Откройте обозреватель объектов и новый запрос ( Рекомендуется )
- Открыть обозреватель объектов и монитор активности
- Открыть пустую среду
Для этого вам нужно выбрать tools из меню и далее выбрать options …. . множество конфигураций SQL Server, которые могут упростить работу с SQL Server.
Выберем запуск с левой панели в окнах и выберите Откройте обозреватель объектов и запросите окно с правой стороны, как показано ниже, и нажмите OK.
В следующий раз, когда вы откроете SQL Server Management Studio, он не только откроет проводник объектов, но и откроет пустое окно запроса.
Шаг 6. Настройка положения окна:
На этом этапе давайте рассмотрим кнопку положения окна любого окна в SQL Server и ее параметры. Эта опция доступна почти во всех Microsoft IDE (Integrated Development Environment), например Visual Studio. В основном кнопка положения окна позволяет вам установить положение любых окон, предоставляя следующие параметры. Обратите внимание, что очень важно установить положение этих окон, особенно при работе с несколькими окнами запросов и нехватке места.
- Плавающая
- Док
- Док
- Автоматическое скрытие
- Скрыть
Примечание. Если вы настроили его неправильно и хотите восстановить его по умолчанию, вам не нужно прилагать особых усилий, просто выберите Window меню, нажмите Reset Window Layout .
Шаг 7. Настройка параметров клавиатуры:
На этом этапе давайте обсудим схему сочетаний клавиш и ярлык запроса в SQL Server Management Studio. Если вы часто пользуетесь Visual Studio 2010, я рекомендую установить для схемы ярлыков совместимость с Visual Studio 2010. После установки вы будете использовать схему ярлыков Visual Studio вместо стандартного ярлыка SQL Server Management Studio. Для этого вам нужно выбрать меню инструментов и параметры ….. Откроется окно параметров . Когда вы находитесь в окне параметров , выберите Environment >> Keyboard >> Keyboard на левой панели и выберите совместимость с Visual Studio 2010 в дополнительной схеме сопоставления клавиатуры с правой стороны.
В дополнение к этому вы также можете настроить ярлыки запросов в том же окне. Для этого вам просто нужно выбрать Environment >> Keyboard >> Query Shortcuts . В этом окне вы можете найти несколько встроенных ярлыков. Однако вы можете определить свои собственные ярлыки, чтобы ускорить работу с SQL. Обратите внимание, что если вы настроите его неправильно, вы можете восстановить настройки по умолчанию в любое время, нажав кнопку Восстановить настройки по умолчанию .
Заключение:
Я объяснил SQL Server Management Studio за несколько простых шагов и сосредоточился на основных конфигурациях. Однако есть много конфигураций, которые я не смог охватить в этом руководстве, но вы можете настроить эти параметры в соответствии с вашими требованиями и сделать свою работу намного эффективнее и проще.
- Автор
- Последние сообщения
Мухаммад Имран
Эксперт по SQL Server с более чем 13-летним успешным и богатым опытом проектирования баз данных, консультирования, разработки и интеграции.
Он не только увлечен, но и доказал свою способность расшифровывать тонкости и является автором более 350 статей. В свободное время занимается плаванием, футболом и серфингом в социальных сетях
Просмотреть все сообщения Мухаммада Имрана
Последние сообщения Мухаммеда Имрана (посмотреть все)
Как искать — Поиск SQL 3
Последнее обновление страницы 21 сентября 2022 г.
Опубликовано 10 октября 2017 г.
На этой странице объясняется, как искать объекты с помощью поиска SQL, как сузить область поиска и какой синтаксис поиска. поддерживается.
Открытие поиска SQL
SQL Server Management Studio
Чтобы открыть поиск SQL в Management Studio, щелкните Поиск SQL на панели инструментов Redgate:
Если вы не видите панель инструментов Redgate, включите ее, щелкнув правой кнопкой мыши в области панели инструментов и выбрав Redgate .
Visual Studio
В Visual Studio Поиск SQL можно найти в меню Инструменты .
Как искать
Для поиска введите в строку поиска:
Результаты поиска появятся, если вы введете два или более символов. Результаты обновляются по мере ввода.
Для каждой базы данных показаны первые 500 результатов. При наличии более 500 результатов в нижней части панели результатов поиска отображается баннер:
Чтобы просмотреть остальные результаты, нажмите Показать все .
Поиск точного слова или фразы
По умолчанию функция поиска SQL возвращает объекты, содержащие условия поиска, введенные вами в любом месте объекта. Чтобы найти точное слово или фразу, выберите Искать только целые слова .
При использовании совпадения только целых слов он не будет соответствовать частям слов или фраз. Например, при поиске «пользователь» не будет возвращено «имя пользователя», а при поиске «myTable» не будет возвращено «[myTable]».
Изменение области поиска
Вы можете искать определенные серверы, базы данных или типы объектов. Выберите их в раскрывающемся меню справа от строки поиска:
Подстановочные знаки
В поиске можно использовать следующие подстановочные знаки:
Звездочка (*) подстановочный знак
Вы можете использовать * в качестве подстановочного знака для соответствия 0 или более символов, аналогично SQL LI оговорка КЕ.
Например, введите «b*», чтобы найти все объекты, содержащие слова, начинающиеся с b.
Знак вопроса (?) подстановочный знак
Символ ? подстановочный знак соответствует только одному символу.
Например, поиск ‘б?’ найти все объекты, содержащие слова из двух символов, начинающихся с b.
Подстановочный знак списка ([])
Этот подстановочный знак [] соответствует одному символу из списка символов.
Например, выполните поиск ‘[xyz] ‘, чтобы найти все объекты, содержащие один символ x, y или z.
Этот подстановочный знак также допускает использование ряда символов. Например, найдите «[a-z]», чтобы найти любой одиночный символ от a до z. 90-9]’ для соответствия любому одиночному символу, кроме числового.
Экранирование подстановочных знаков
Если вы хотите найти подстановочный знак как буквенный символ, вы можете избежать подстановочного знака, заключив его в квадратные скобки.
Например, поиск ‘[*]’ приведет к поиску всего, что содержит звездочку.
Обратите внимание, что это не работает с квадратными скобками.
Ограничения поиска
Ограничения типов объектов
При поиске в «Других» типах объектов SQL Search не находит некоторые типы объектов, включая роли, сертификаты и полнотекстовые каталоги.
Это связано с тем, что он индексирует объекты только в следующих представлениях каталога объектов:
- sys.objects
- sys.sql_modules
- sys.check_constraints
- sys.default_constraints 900 68
- sys.computed_columns
Любые типы объектов, отсутствующие в этих представлениях, не будут найдены с помощью поиска SQL.