« Mosel Dash und "set of integer" | Main| Sharepoint Liste in einem DataGrid »

SQL Server Agent Job Monitor

0
Category
Es gibt ja auf dieser Welt Entwickler und Architekten die halten sich an keine Regeln

Bei der Entwicklung einer Middle-Ware kann es passieren, dass man den SQL Server als Real-Time-Datenabgleichstool missbraucht.
Da es dann hierbei zu Engpässen kommen kann, werden viele viele SQLAgent aufgesetzt, welche im Minuten-Takt die armen kleinen SQL-Server-Tabellen mit Updates, Deletes und Inserts konfrontieren.

Wer behält, da den Überblick?
Mit dem folgenden Statement, kann man die Job-Aktivitäten auslesen in eine Tabelle Job_Protocoll schreiben und dann auswerten.

Am Besten läßt man es natürlich über den SQL-Agent jede Minute ausführen

Gruß JJR

            declare @tmp_sp_help_jobhistory table
        (
                instance_id int null,
                job_id uniqueidentifier null,
                job_name sysname null,
                step_id int null,
                step_name sysname null,
                sql_message_id int null,
                sql_severity int null,
                message nvarchar(1024) null,
                run_status int null,
                run_date int null,
                run_time int null,
                run_duration int null,
                operator_emailed sysname null,
                operator_netsent sysname null,
                operator_paged sysname null,
                retries_attempted int null,
                server sysname null  
        )

        insert into @tmp_sp_help_jobhistory
        exec msdb.dbo.sp_help_jobhistory        
                @mode='FULL'

        insert into job_protocoll                
        SELECT
                tshj.instance_id AS [InstanceID],
                tshj.sql_message_id AS [SqlMessageID],
                tshj.message AS [Message],
                tshj.step_id AS [StepID],
                tshj.step_name AS [StepName],
                tshj.sql_severity AS [SqlSeverity],
                tshj.job_id AS [JobID],
                tshj.job_name AS [JobName],
                tshj.run_status AS [RunStatus],
                CASE tshj.run_date WHEN 0 THEN NULL ELSE
                convert(datetime,
                                stuff(stuff(cast(tshj.run_date as nchar(8)), 7, 0, '-'), 5, 0, '-') + N' ' +
                                stuff(stuff(substring(cast(1000000 + tshj.run_time as nchar(7)), 2, 6), 5, 0, ':'), 3, 0, ':'),
                                120) END AS [RunDate],
                tshj.run_duration AS [RunDuration],
                tshj.operator_emailed AS [OperatorEmailed],
                tshj.operator_netsent AS [OperatorNetsent],
                tshj.operator_paged AS [OperatorPaged],
                tshj.retries_attempted AS [RetriesAttempted],
                tshj.server AS [Server],
                getdate() as [CurrentDate]        
        FROM @tmp_sp_help_jobhistory as tshj
        where [Instance_ID] not in (select instanceid from fildo_job_protocoll)

Comments

Gravatar Image1 - "...kann es passieren, dass man den SQL Server als Real-Time-Datenabgleichstool missbraucht."
--> Stoppt den Notify-Spam!
Emoticon

Aber die StoredProc dbo.sp_help_jobhistory ist wirklich hilfreich, kannte ich noch nicht - ein guter Tipp. Emoticon

Grüße,
Sebastian

Gravatar Image2 - Klar eine "Objekt-Schnittstelle" wäre besser gewesen .... oder eine ASCII-Datenbank Emoticon

Spaß beiseite, jetzt muß ich nur noch an den CPU-Count dran kommen Emoticon

Gruß JJR

Post A Comment

:-D:-o:-p:-x:-(:-):-\:angry::cool::cry::emb::grin::huh::laugh::lips::rolleyes:;-)

Amazon


Impressum

Firmenname: Peanuts-Soft
Straße Nummer: Biinger Strasse 8
PLZ Ort: 55263 Wackernheim
Telefon: +491772134526
E-Mail: joerg.reck @ peanuts-soft.de
Disclaimer: Peanuts-Soft übernimmt keine Garantie dafür, dass die auf dieser Website bereitgestellten Informationen vollständig, richtig und stets aktuell sind. Dies gilt auch für alle Links, auf die verwiesen wird. Peanuts-Soft ist für die Inhalte, auf die per Link verwiesen wird, nicht verantwortlich. Peanuts-Soft haftet nicht für konkrete, mittelbare und unmittelbare Schäden oder Schäden, die durch fehlende Nutzungsmöglichkeiten, Datenverluste oder entgangene Gewinne – sei es aufgrund der Nichteinhaltung vertraglicher Verpflichtungen, durch Fahrlässigkeit oder eine andere unerlaubte Handlung – im Zusammenhang mit der Nutzung von Dokumenten oder Informationen bzw. der Erbringung von Dienstleistungen entstehen, die auf dieser Web Site zugänglich sind.
Datenschutz: Inhalt und Gestaltung der Internetseiten sind urheberrechtlich geschützt. Eine Vervielfältigung der Seiten oder deren Inhalte bedarf der vorherigen schriftlichen Zustimmung von Peanuts-Soft.


Locations of visitors to this page

Powered By

Domino BlogSphere
Version 3.0.2