-- Wechseln Sie in die Datenbank, in der die gespeicherte Prozedur
-- erstellt werden soll
use db_production
go
-- Erstellen Sie diese - für die Ausführung des Backup-Befehls
-- ist das sysadmin-, db_owner- oder db_backupoperator-Recht notwendig
Create Procedure up_backup_Database
As
Backup Database db_production
To Disk = 'E:\MSSQL\Backup\db_production.bak'
go
-- Wechsel in die msdb
use msdb
go
-- Erzeugen des Jobs
Execute sp_add_job @job_name = 'job_backup_db_production',
@notify_level_eventlog = 3
Execute sp_add_jobstep @job_name = 'job_backup_db_production',
@step_name = 'jobstep_backup_db_production',
@step_id = 1,
@subsystem = 'TSQL',
@command = 'Execute db_production.dbo.up_backup_Database',
@database_name = 'master',
@cmdexec_success_code = 0,
@on_success_action = 1,
@output_file_name =
'E:\MSSQL\own_logs\job_backup_db_production.txt',
-- Dies schreibt Ausgaben in die angegebene Datei
@flags = 2
-- Anhängen anstatt überschreiben
Execute sp_add_jobserver @job_name = 'job_backup_db_production'
go
-- Erstellen der eigenen Message
Execute master.dbo.sp_addmessage @msgnum = 100101,
-- Dies ist Ihr eigener Nummernkreis
@severity = 1,
@msgtext = 'Backup Database db_production',
@lang = 'us_english',
@with_log = 'true',
-- with_log ist entscheidend: Jeder Aufruf wird
-- ins EventLog eingetragen
@replace = 'replace'
-- Erstellen der lokalisierten Version
Execute master.dbo.sp_addmessage @msgnum = 100101,
@severity = 1,
@msgtext = 'Datenbank db_production sichern',
@lang = 'german',
@with_log = 'true',
@replace = 'replace'
-- Erstellen der Warnung
Execute sp_add_alert @name = 'alert_backup_db_production',
@message_id = 100101,
@include_event_description_in = 7,
-- Dies kann nützlich sein, falls Sie RaisError weitere
-- Informationen mitgeben möchten
@database_name = 'db_production',
-- In dieser Datenbank muß RaisError ausgelöst werden,
-- um diesen Alert zu aktivieren
@job_name = 'job_backup_db_production'
go
-- Erstellen der eigentlichen Prozedur
-- und Erteilen der Execute-Berechtigung
use db_production
go
Create Procedure up_start_backup
As
RaisError(100101, 1, 1)
go
Grant Execute On up_start_backup To [INTERNETSERVER\AspNet]
-- Setzen Sie hier den zu dieser Aktion legitimierten Nutzer ein
go