Archive - Dez 10, 2007

Datum
  • All
  • Jan
  • Feb
  • Mar
  • Apr
  • May
  • Jun
  • Jul
  • Aug
  • Sep
  • Oct
  • Nov
  • Dec
  • All
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

HDD Monitor

 

Man ist doch immer wieder überrascht wie schnell eine Festplatte seinen Dienst quittieren kann. Meist ist die letzte Datensicherung zu lange her und es stellen sich einem die Nackenhaare hoch.

Hätte man es doch nur vorher gemerkt ... 

Meistens gibt es jemanden, der es einem hätte sagen können. Nur leider wurde er nicht gefragt und von alleine sagt er nichts. Gemeint ist das Betriebssystem (was eigentlich eine Frechheit ist).

HDDmonitor.au3

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=Journey Into Imagination.ico
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_Res_Fileversion=1.0.0.35
#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
#AutoIt3Wrapper_Res_LegalCopyright=Wolfgang Führer
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
;----------------------------------------------
; HDDmonitor.au3
; durchsucht Eventlog und meldet Disk Errors
; Wolfgang Führer
; 10.05.2007  -  08:21:35,93
;----------------------------------------------

SetupHDDmonitor.au3

;----------------------------------------------
; SetupHDDmonitor.au3
; install script
; Wolfgang Führer
; 14.05.2007  -  11:15:14,50
;----------------------------------------------
 
If Not IsAdmin() Then
    MsgBox(16, "", "Für die Installation werden Administratorrechte benötigt!   ", 5)
    Exit (1)
EndIf
 
DirCreate(@ProgramFilesDir & "\HDDmonitor")
FileInstall("H:\AutoIt_Files\Work\HDDmonitor\HDDmonitor.exe",@ProgramFilesDir & "\HDDmonitor\",1)
 
$errorval = RegWrite("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run", _

DB_Audit_job2005.sql

/*
** ------------------------------
** database audit script SQL 2005
** job 
** mar 2005 - Wolfgang Führer
** ------------------------------
*/
 
USE [msdb]
GO
 
BEGIN TRANSACTION
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
 
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'[Uncategorized (Local)]' AND category_class=1)
BEGIN
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @TYPE=N'LOCAL', @name=N'[Uncategorized (Local)]'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
 
END
 
DECLARE @jobId BINARY(16)

DB_Audit_job2000.sql

/*
** ------------------------------
** database audit script SQL 2000
** job 
** mar 2005 - Wolfgang Führer
** ------------------------------
*/
 
 
--------------------------------
-- create daily job for audit --
--------------------------------
 
BEGIN TRANSACTION            
  DECLARE @JobID BINARY(16)  
  DECLARE @ReturnCode INT    
  SELECT @ReturnCode = 0     
IF (SELECT COUNT(*) FROM msdb.dbo.syscategories WHERE name = N'Database Maintenance') < 1 
  EXECUTE msdb.dbo.sp_add_category @name = N'Database Maintenance'

DB_Audit.sql

/*
** ----------------------------
** database audit script
** mar 2005 - Wolfgang Führer
** ----------------------------
*/
 
-------------------------------------
-- make Audit folder for later use --
-------------------------------------
USE master
exec xp_cmdshell 'c: & md "c:\program files\microsoft sql server\Audit"', no_output
 
--------------------------------------------
-- drop audit database if exist --
--------------------------------------------
IF DB_ID('DB_Audit') IS NOT NULL
BEGIN
    DROP database DB_Audit
END
go
 
--------------------------

SQL Datenbank - Wachstum kontrollieren

In großen Umbebungen ist es manchmal schwierig das Wachstum von Datenbanken im Auge zu behalten. Das kann aber sehr wichtig werden, wenn für eine Erweiterung nicht nur Plattenplatz erweitert, sondern sogar neue Hardware bestellt werden muss.

Um nicht jeden Monat Werte per Hand in eine Tabelle schreiben zu müssen, habe ich eine SQL-Prozedur geschrieben, die das erledigt, und lasse die Prozedur jeden Tag um Mitternacht laufen.

Die Auswertung erfolgt über Webabfragen mittels PHP-Scripte in Tabellenform oder Grafisch.