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