Поиск…


Получение локальных и удаленных серверов

Чтобы получить список всех серверов, зарегистрированных в экземпляре:

EXEC sp_helpserver;

Получить информацию о текущих сеансах и выполнении запросов

sp_who2

Эта процедура может использоваться для поиска информации о текущих сеансах SQL-сервера. Поскольку это процедура, часто полезно сохранять результаты во временную таблицу или переменную таблицы, чтобы можно было заказывать, фильтровать и преобразовывать результаты по мере необходимости.

Нижеследующее может использоваться для запрашиваемой версии sp_who2 :

-- Create a variable table to hold the results of sp_who2 for querying purposes

DECLARE @who2 TABLE (
      SPID INT NULL,
      Status VARCHAR(1000) NULL,
      Login SYSNAME NULL,
      HostName SYSNAME NULL,
      BlkBy SYSNAME NULL,
      DBName SYSNAME NULL,
      Command VARCHAR(8000) NULL,
      CPUTime INT NULL,
      DiskIO INT NULL,
      LastBatch VARCHAR(250) NULL,
      ProgramName VARCHAR(250) NULL,
      SPID2 INT NULL, -- a second SPID for some reason...?
      REQUESTID INT NULL
)

INSERT INTO @who2
EXEC sp_who2

SELECT    *
FROM    @who2 w
WHERE    1=1

Примеры:

-- Find specific user sessions:
SELECT  *
FROM    @who2 w
WHERE   1=1
    and  login = 'userName'

-- Find longest CPUTime queries:
SELECT  top 5 *
FROM    @who2 w
WHERE   1=1
order   by CPUTime desc

Восстановить выпуск и версию экземпляра

SELECT    SERVERPROPERTY('ProductVersion') AS ProductVersion,  
          SERVERPROPERTY('ProductLevel') AS ProductLevel,  
          SERVERPROPERTY('Edition') AS Edition,  
          SERVERPROPERTY('EngineEdition') AS EngineEdition;  

Получить время ожидания экземпляра в днях

SELECT  DATEDIFF(DAY, login_time, getdate()) UpDays
FROM    master..sysprocesses 
WHERE   spid = 1

Информация о версии SQL Server

Чтобы узнать выпуск SQL Server, уровень продукта и номер версии, а также имя хост-компьютера и тип сервера:

SELECT    SERVERPROPERTY('MachineName') AS Host,
          SERVERPROPERTY('InstanceName') AS Instance,
          DB_NAME() AS DatabaseContext,
          SERVERPROPERTY('Edition') AS Edition, 
          SERVERPROPERTY('ProductLevel') AS ProductLevel, 
          CASE SERVERPROPERTY('IsClustered') 
            WHEN 1 THEN 'CLUSTERED' 
            ELSE 'STANDALONE' END AS ServerType,
          @@VERSION AS VersionNumber;

Общая информация о базах данных, таблицах, хранимых процедурах и порядке их поиска.

Запрос на поиск последних выполненных sp's в db

SELECT execquery.last_execution_time AS [Date Time], execsql.text AS [Script]
FROM sys.dm_exec_query_stats AS execquery
CROSS APPLY sys.dm_exec_sql_text(execquery.sql_handle) AS execsql
ORDER BY execquery.last_execution_time DESC

Запрос на поиск по хранимым процедурам

SELECT o.type_desc AS ROUTINE_TYPE,o.[name] AS ROUTINE_NAME,
m.definition AS ROUTINE_DEFINITION
FROM sys.sql_modules AS m INNER JOIN sys.objects AS o
ON m.object_id = o.object_id WHERE m.definition LIKE '%Keyword%'
order by ROUTINE_NAME

Запрос на поиск столбца из всех таблиц базы данных

SELECT t.name AS table_name,
SCHEMA_NAME(schema_id) AS schema_name,
c.name AS column_name
FROM sys.tables AS t
INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID
where c.name like 'Keyword%'
ORDER BY schema_name, table_name;

Запрос на восстановление данных восстановления

WITH LastRestores AS
(
SELECT
    DatabaseName = [d].[name] ,
    [d].[create_date] ,
    [d].[compatibility_level] ,
    [d].[collation_name] ,
    r.*,
    RowNum = ROW_NUMBER() OVER (PARTITION BY d.Name ORDER BY r.[restore_date] DESC)
FROM master.sys.databases d
LEFT OUTER JOIN msdb.dbo.[restorehistory] r ON r.[destination_database_name] = d.Name
)
SELECT *
FROM [LastRestores]
WHERE [RowNum] = 1

Запрос на поиск журнала

select top 100 * from databaselog
Order by Posttime desc

Запросить информацию о Sps

SELECT name, create_date, modify_date
FROM sys.objects
WHERE type = 'P'
Order by modify_date desc


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow