Vue d`ensemble d`un serveur SQL

Transcription

Vue d`ensemble d`un serveur SQL
fjconseil
Vue d'ensemble d'un serveur SQL
29-11-2010
Dernière mise à jour : 19-08-2011
_____ Mesure l'activité du serveur______________________________________________________sp_monitor
Nom de colonne
Description
last_run
Heure à laquelle la procédure sp_monitor a été exécutée pour la dernière fois.
current_run
Heure à laquelle s'exécute la procédure sp_monitor.
seconds
Nombre de secondes écoulées depuis la dernière exécution de la procédure sp_monitor.
cpu_busy
Nombre de secondes que l'UC de l'ordinateur serveur a consacrées à des tâches SQL Server.
io_busy
Nombre de secondes que SQL Server a consacrées aux opérations d'entrée et de sortie.
idle
Nombre de secondes pendant lesquelles SQL Server a été inactif.
packets_received
Nombre de paquets entrants lus par SQL Server.
packets_sent
Nombre de paquets sortants écrits par SQL Server.
packet_errors
Nombre d'erreurs détectées par SQL Server lors de la lecture ou de l'écriture des paquets.
total_read
Nombre de lectures effectuées par SQL Server.
total_write
Nombre d'écritures effectuées par SQL Server.
total_errors
Nombre d'erreurs détectées par SQL Server lors des opérations de lecture et d'écriture.
connections
Nombre de connexions ou de tentatives de connexion à SQL Server. _____ Vue d'ensemble des
bases______________________________________________________
/*DatabaseProperties*/
SET NOCOUNT ON
http://www.fjconseil.fr/joomla
Propulsé par Joomla!
Généré: 21 February, 2017, 13:28
fjconseil
DECLARE @Counter INT
DECLARE @DatabaseName varchar(150)
DECLARE @Servername varchar(150)
IF EXISTS (SELECT * FROM tempdb..sysobjects WHERE id = OBJECT_ID(N'[tempdb]..[#temp]')) DROP TABLE #temp
CREATE TABLE #Temp (ID INT IDENTITY (1,1), DatabaseName VARCHAR (250))
IF EXISTS (SELECT * FROM tempdb..sysobjects WHERE id = OBJECT_ID(N'[tempdb]..[#database]')) DROP TABLE
#database
CREATE TABLE #database (Server VARCHAR (50)
,DBName VARCHAR (150)
,Owner VARCHAR (150)
,crdate VARCHAR (150)
,LicenseType VARCHAR (150)
,cmptlevel VARCHAR (150)
,Collation VARCHAR (150)
,UserAccess VARCHAR (150)
,Status VARCHAR (150)
,Recovery VARCHAR (150)
,Instance VARCHAR (150)
,CurrentDateTime VARCHAR (150)
,UserName VARCHAR (150)
,NumberOfConnections VARCHAR (150)
,Language VARCHAR (150)
,LanguageId VARCHAR (150)
,LockTimeout VARCHAR (150)
,MaximumOfConnections VARCHAR (150)
,CPUBusy VARCHAR (150)
,CPUIdle VARCHAR (150)
,IOBusy VARCHAR (150)
,PacketsReceived VARCHAR (150)
,PacketsSent VARCHAR (150)
,PacketsErrors VARCHAR (150)
,TimeTicks VARCHAR (150)
,IOErrors VARCHAR (150)
,TotalRead VARCHAR (150)
,TotalWrite VARCHAR (150)
)
IF SUBSTRING(@@version,23,4)='2000' BEGIN
SET @Counter = 0
INSERT INTO #Temp
SELECT [name] AS DatabaseName
FROM master.dbo.sysdatabases
WHERE [name] NOT IN ('AdventureWorks', 'Pubs', 'Northwind')
WHILE @Counter <= (SELECT COUNT(*) FROM #Temp)
BEGIN
SET @DatabaseName = (SELECT DatabaseName
FROM #Temp
WHERE ID = @Counter)
INSERT INTO #database
SELECT @Servername AS 'Server'
,d.name AS 'DBName'
, SUSER_SNAME(d.sid) AS [Owner]
,d.crdate
,CONVERT(VARCHAR(150),SERVERPROPERTY('LicenseType')) AS LicenseType
,d.cmptlevel
,s.DEFAULT_CHARACTER_SET_NAME AS [Collation]
,(SELECT CONVERT(sysname,DATABASEPROPERTYEX(@DatabaseName,'UserAccess'))) AS [UserAccess]
,(SELECT CONVERT(sysname,DATABASEPROPERTYEX(@DatabaseName,'Status'))) AS [Status]
,(SELECT CONVERT(sysname,DATABASEPROPERTYEX(@DatabaseName,'Recovery'))) AS Recovery
,CONVERT(VARCHAR(30),@@SERVICENAME) AS 'Instance'
http://www.fjconseil.fr/joomla
Propulsé par Joomla!
Généré: 21 February, 2017, 13:28
fjconseil
,CONVERT(VARCHAR(30),GETDATE(),103) AS 'CurrentDateTime'
,USER_NAME() AS 'UserName'
,CONVERT(VARCHAR(30),@@connections) AS 'NumberOfConnections'
,CONVERT(VARCHAR(30),@@language) AS 'Language'
,CONVERT(VARCHAR(30),@@langid) AS 'LanguageId'
,CONVERT(VARCHAR(30),@@LOCK_TIMEOUT) AS 'LockTimeout'
,CONVERT(VARCHAR(30),@@MAX_CONNECTIONS) AS 'MaximumOfConnections'
,CONVERT(VARCHAR(30),@@CPU_BUSY/1000) AS 'CPUBusy'
,CONVERT(VARCHAR(30),@@IDLE/1000) AS 'CPUIdle'
,CONVERT(VARCHAR(30),@@IO_BUSY/1000) AS 'IOBusy'
,CONVERT(VARCHAR(30),@@PACK_RECEIVED) AS 'PacketsReceived'
,CONVERT(VARCHAR(30),@@PACK_SENT) AS 'PacketsSent'
,CONVERT(VARCHAR(30),@@PACKET_ERRORS) AS 'PacketsErrors'
,CONVERT(VARCHAR(30),@@TIMETICKS) AS 'TimeTicks'
,CONVERT(VARCHAR(30),@@TOTAL_ERRORS) AS 'IOErrors'
,CONVERT(VARCHAR(30),@@TOTAL_READ) AS 'TotalRead'
,CONVERT(VARCHAR(30),@@TOTAL_WRITE) AS 'TotalWrite'
FROM master.dbo.sysdatabases d
INNER JOIN INFORMATION_SCHEMA.SCHEMATA s
ON d.name =s.CATALOG_NAME
WHERE d.name =@DatabaseName
COLLATE DATABASE_DEFAULT
SET @Counter = @Counter + 1
END
END
ELSE
BEGIN
INSERT INTO #Temp
SELECT [name] AS DatabaseName
FROM master.sys.sysdatabases
WHERE [name] NOT IN ('AdventureWorks', 'Pubs', 'Northwind')
SET @Counter = 0
WHILE @Counter <= (SELECT COUNT(*) FROM #Temp)
BEGIN
SET @DatabaseName = (SELECT DatabaseName
FROM #Temp
WHERE ID = @Counter)
INSERT INTO #database
SELECT @@Servername AS 'Server'
,[name] AS DBName
, SUSER_SNAME(d.owner_sid) AS [Owner]
,d.create_date AS [crdate]
,CONVERT(VARCHAR(150),SERVERPROPERTY('LicenseType')) AS LicenseType
,d.compatibility_level AS [cmptlevel]
,d.collation_name AS [Collation]
,d.user_access_desc AS [UserAccess]
,d.state_desc AS [Status]
,d.recovery_model_desc AS [Recovery]
,CONVERT(VARCHAR(50),@@SERVICENAME) AS 'Instance'
,CONVERT(VARCHAR(30),GETDATE(),103) AS 'CurrentDateTime'
,USER_NAME() AS 'UserName'
,CONVERT(VARCHAR(30),@@connections) AS 'NumberOfConnections'
,CONVERT(VARCHAR(30),@@language) AS 'Language'
,CONVERT(VARCHAR(30),@@langid) AS 'LanguageId'
,CONVERT(VARCHAR(30),@@LOCK_TIMEOUT) AS 'LockTimeout'
,CONVERT(VARCHAR(30),@@MAX_CONNECTIONS) AS 'MaximumOfConnections'
,CONVERT(VARCHAR(30),@@CPU_BUSY/1000) AS 'CPUBusy'
,CONVERT(VARCHAR(30),@@IDLE/1000) AS 'CPUIdle'
,CONVERT(VARCHAR(30),@@IO_BUSY/1000) AS 'IOBusy'
,CONVERT(VARCHAR(30),@@PACK_RECEIVED) AS 'PacketsReceived'
,CONVERT(VARCHAR(30),@@PACK_SENT) AS 'PacketsSent'
http://www.fjconseil.fr/joomla
Propulsé par Joomla!
Généré: 21 February, 2017, 13:28
fjconseil
,CONVERT(VARCHAR(30),@@PACKET_ERRORS) AS 'PacketsErrors'
,CONVERT(VARCHAR(30),@@TIMETICKS) AS 'TimeTicks'
,CONVERT(VARCHAR(30),@@TOTAL_ERRORS) AS 'IOErrors'
,CONVERT(VARCHAR(30),@@TOTAL_READ) AS 'TotalRead'
,CONVERT(VARCHAR(30),@@TOTAL_WRITE) AS 'TotalWrite'
FROM sys.databases d
WHERE name =@DatabaseName COLLATE DATABASE_DEFAULT
SET @Counter = @Counter + 1
END
END
IF EXISTS (SELECT * FROM tempdb..sysobjects WHERE id = OBJECT_ID(N'[tempdb]..[#Results]')) DROP TABLE
#Results
CREATE TABLE #Results (SERVER VARCHAR(200), DatabaseName VARCHAR(200), NAME VARCHAR(200),
filename VARCHAR(300))
EXEC sp_MSForEachDB 'INSERT INTO #Results(Server, DatabaseName, Name, filename)
SELECT CONVERT(char(100), SERVERPROPERTY(''Servername'')) AS Server,
''?'' as DatabaseName,
[?]..sysfiles.name,
[?]..sysfiles.filename
From [?]..sysfiles'
SELECT d.Server ,d.DBName ,d.Owner ,d.crdate ,d.LicenseType ,d.cmptlevel ,d.Collation ,d.UserAccess ,d.Status
,d.Recovery ,d.Instance ,d.CurrentDateTime ,d.UserName ,d.NumberOfConnections ,d.Language ,d.LanguageId
,d.LockTimeout ,d.MaximumOfConnections ,d.CPUBusy ,d.CPUIdle ,d.IOBusy ,d.PacketsReceived ,d.PacketsSent
,d.PacketsErrors ,d.TimeTicks ,d.IOErrors ,d.TotalRead ,d.TotalWrite ,r.Name AS FileName ,r.FileName AS FullPath
FROM #database d INNER JOIN #Results r ON d.Server = r.Server AND d.DBName = r.DatabaseName
http://www.fjconseil.fr/joomla
Propulsé par Joomla!
Généré: 21 February, 2017, 13:28

Documents pareils