サーチ…


ローカルサーバーとリモートサーバーの取得

インスタンスに登録されているすべてのサーバーのリストを取得するには、次のようにします。

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を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