Microsoft SQL Server
Informatie over uw exemplaar ophalen
Zoeken…
Lokale en externe servers ophalen
Een lijst ophalen van alle servers die op het exemplaar zijn geregistreerd:
EXEC sp_helpserver;
Ontvang informatie over huidige sessies en query-uitvoeringen
sp_who2
Deze procedure kan worden gebruikt om informatie te vinden over huidige SQL-serversessies. Omdat het een procedure is, is het vaak handig om de resultaten op te slaan in een tijdelijke tabel of tabelvariabele, zodat u de resultaten naar wens kunt ordenen, filteren en transformeren.
Het onderstaande kan worden gebruikt voor een opvraagbare versie van 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
Voorbeelden:
-- 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
Versie en versie van exemplaar ophalen
SELECT SERVERPROPERTY('ProductVersion') AS ProductVersion,
SERVERPROPERTY('ProductLevel') AS ProductLevel,
SERVERPROPERTY('Edition') AS Edition,
SERVERPROPERTY('EngineEdition') AS EngineEdition;
Uptime van exemplaren ophalen in dagen
SELECT DATEDIFF(DAY, login_time, getdate()) UpDays
FROM master..sysprocesses
WHERE spid = 1
Informatie over SQL Server-versie
Om de editie, het productniveau en het versienummer van SQL Server, de naam van de hostmachine en het servertype te ontdekken:
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;
Algemene informatie over databases, tabellen, opgeslagen procedures en hoe u deze kunt doorzoeken.
Zoekopdracht om laatst uitgevoerde sp's in db te zoeken
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
Zoekopdracht om opgeslagen procedures te doorzoeken
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
Zoekopdracht om kolom te vinden uit alle tabellen van de database
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;
Vraag om herstelgegevens te controleren
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
Vraag om het logboek te vinden
select top 100 * from databaselog
Order by Posttime desc
Vraag om de Sps-details te controleren
SELECT name, create_date, modify_date
FROM sys.objects
WHERE type = 'P'
Order by modify_date desc