Sök…


Hämta lokala och fjärrservrar

Så här hämtar du en lista över alla servrar som är registrerade på instansen:

EXEC sp_helpserver;

Få information om aktuella sessioner och avrättningar av frågan

sp_who2

Den här proceduren kan användas för att hitta information om aktuella SQL-serversessioner. Eftersom det är en procedur är det ofta bra att lagra resultaten i en tillfällig tabell eller tabellvariabel så att man kan beställa, filtrera och omvandla resultaten efter behov.

Nedanstående kan användas för en frågbar version av 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

Exempel:

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

Hämta version och version av instans

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

Hämta Instant Uptime i dagar

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

Information om SQL Server-version

För att upptäcka SQL Server-utgåvan, produktnivå och versionnummer samt värdmaskinens namn och servertyp:

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;

Allmän information om databaser, tabeller, lagrade procedurer och hur man söker i dem.

Fråga för att söka senast genomförda sp's i 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

Fråga för att söka genom lagrade procedurer

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

Fråga för att hitta kolumn från alla tabeller i databasen

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;

Fråga till för att kontrollera återställningsinformation

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

Fråga till för att hitta loggen

select top 100 * from databaselog
Order by Posttime desc

Fråga till för att kontrollera Sps-detaljerna

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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow