Microsoft SQL Server
Rufen Sie Informationen zu Ihrer Instanz ab
Suche…
Lokale und Remote-Server abrufen
So rufen Sie eine Liste aller in der Instanz registrierten Server ab:
EXEC sp_helpserver;
Erhalten Sie Informationen zu aktuellen Sitzungen und zur Ausführung von Abfragen
sp_who2
Mit diesem Verfahren können Sie Informationen zu aktuellen SQL Server-Sitzungen finden. Da es sich um eine Prozedur handelt, ist es oft hilfreich, die Ergebnisse in einer temporären Tabelle oder Tabellenvariablen zu speichern, damit die Ergebnisse nach Bedarf sortiert, gefiltert und transformiert werden können.
Das Folgende kann für eine abfragbare Version von 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
Beispiele:
-- 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
Rufen Sie Edition und Version der Instanz ab
SELECT SERVERPROPERTY('ProductVersion') AS ProductVersion,
SERVERPROPERTY('ProductLevel') AS ProductLevel,
SERVERPROPERTY('Edition') AS Edition,
SERVERPROPERTY('EngineEdition') AS EngineEdition;
Instanzzeit in Tagen abrufen
SELECT DATEDIFF(DAY, login_time, getdate()) UpDays
FROM master..sysprocesses
WHERE spid = 1
Informationen zur SQL Server-Version
So ermitteln Sie die SQL Server-Edition, die Produktebene und die Versionsnummer sowie den Namen des Host-Computers und den 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;
Allgemeine Informationen zu Datenbanken, Tabellen, gespeicherten Prozeduren und deren Suche.
Abfrage zur Suche der zuletzt ausgeführten SPs in 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
Abfrage zum Durchsuchen von gespeicherten Prozeduren
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
Abfrage zum Suchen der Spalte aus allen Tabellen der Datenbank
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;
Abfrage an, um Wiederherstellungsdetails zu überprüfen
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
Abfrage, um das Protokoll zu finden
select top 100 * from databaselog
Order by Posttime desc
Abfrage, um die SPS-Details zu überprüfen
SELECT name, create_date, modify_date
FROM sys.objects
WHERE type = 'P'
Order by modify_date desc