Tuesday, 15 September 2015
Thursday, 30 April 2015
Querying SQL Server Online Database Information
/*Fetch SQL Server Online Database Details
Created By: Adarsh Agrawal
Created Date: 04/30/2015
*/
DECLARE @Name VARCHAR(MAX) = ''
DECLARE @Table TABLE(Name VARCHAR(500))
INSERT INTO @Table
Select Name as [Online Database] FROM
sys.databases (Nolock)
Where state_desc
= 'ONLINE'
Order by name asc;
Select @Name = @Name + [Name] + ', '
FROM @Table
SELECT @@SERVERNAME as
[Server Name],
CASE WHEN LEN(@Name) = 0 THEN ''
ELSE SUBSTRING(@Name,1,LEN(@Name)-1) END [Online Database]
Wednesday, 29 April 2015
Querying SQL Server Authentication Mode
/*Fetch SQL Server Authentication Mode
Created By: Adarsh Agrawal
Created Date: 04/29/2015
*/
DECLARE
@AuthenticationMode INT
EXEC master.dbo.xp_instance_regread N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode', @AuthenticationMode OUTPUT
SELECT CASE @AuthenticationMode
WHEN
1 THEN 'Windows
Authentication'
WHEN
2 THEN 'Windows and SQL
Server Authentication'
ELSE 'Unknown'
END as
[Authentication Mode]
Monday, 27 April 2015
Querying SQL Server Agent Job Information
/*Fetch SQL Server Agent Job Details
Created By: Adarsh Agrawal
Created Date: 04/06/2015
*/
CREATE TABLE #JobResults (Job_ID UNIQUEIDENTIFIER NOT NULL,
Last_Run_Date INT NOT NULL,
Last_Run_Time INT NOT NULL,
Next_Run_date INT NOT NULL,
Next_Run_Time INT NOT NULL,
Next_Run_Schedule_ID INT
NOT NULL,
Requested_to_Run INT
NOT NULL,
Request_Source INT NOT NULL,
Request_Source_id SYSNAME
COLLATE Database_Default NULL,
Running INT NOT NULL,
Current_Step INT NOT NULL,
Current_Retry_Attempt INT
NOT NULL,
Job_State INT NOT NULL )
INSERT #JobResults
EXECUTE master.dbo.xp_sqlagent_enum_jobs 1, '';
SELECT job.name AS [JobName],
(SELECT MAX(CAST( STUFF(STUFF(CAST(jh.run_date AS VARCHAR),7,0,'-'),5,0,'-') + ' ' +
STUFF(STUFF(REPLACE(STR(jh.run_time,6,0),' ','0'),5,0,':'),3,0,':') AS DATETIME))
FROM msdb.dbo.sysjobs AS j
INNER JOIN msdb.dbo.sysjobhistory AS jh
ON jh.job_id = j.job_id AND jh.step_id = 0 ) AS [LastCompletedDateTime],
(SELECT TOP 1
start_execution_date
FROM msdb.dbo.sysjobactivity
WHERE job_id = r.job_id
ORDER BY
start_execution_date DESC) AS
[JobStartDateTime],
CASE
WHEN r.running = 0
THEN
CASE
WHEN jobInfo.lASt_run_outcome
= 0 THEN 'Failed'
WHEN jobInfo.lASt_run_outcome
= 1 THEN 'Success'
WHEN jobInfo.lASt_run_outcome
= 3 THEN 'Canceled'
ELSE 'Unknown'
END
WHEN r.job_state
= 0 THEN 'Success'
WHEN r.job_state
= 4 THEN 'Success'
WHEN r.job_state
= 5 THEN 'Success'
WHEN r.job_state
= 1 THEN 'In Progress'
WHEN r.job_state
= 2 THEN 'In Progress'
WHEN r.job_state
= 3 THEN 'In Progress'
WHEN r.job_state
= 7 THEN 'In Progress'
ELSE 'Unknown'
END AS
[RunStatusDescription]
FROM #JobResults AS r
LEFT OUTER JOIN msdb.dbo.sysjobservers AS
jobInfo
ON r.job_id = jobInfo.job_id
INNER JOIN msdb.dbo.sysjobs AS job
ON r.job_id = job.job_id
WHERE job.[enabled] = 1
Order by JobName
Drop table
#JobResults
Subscribe to:
Posts (Atom)