Script automatisch jeden Monat auführen lassen

fump2000

Neuer Benutzer
Beiträge
2
Hallo zusammen,

eigentlich ist es nur eine simple Frage die mich gerade vor einer Herausforderung stellt.
Aller Anfang ist schwer daher hoffe ich, dass Ihr mir kurz helft.

Es geht darum, dass ich 4 Befehle ausführen lassen will und das einmal im Monat immer am 1. um 5 Uhr früh.

Die Befehle sind:
Code:
ALTER DATABASE DATENBANK SET RECOVERY SIMPLE
SELECT Name FROM SYSFILES WHERE fileid = 2
DBCC SHRINKFILE('Name_Log')
ALTER DATABASE Centron SET RECOVERY FULL

Zeile Zwei spuckt den Namen der Logdatei aus.
Kann man diesen in eine Variable schreiben lassen und bei Zeile 3 anstatt 'Name_Log' nutzen?

Letztendlich müsste ich auch wissen wie ich dies als Script speichere und automatisiert ausführen lasse.

Ich hoffe ihr könnt mir da Aufschluss geben.

Danke

MfG
fump
 
Werbung:
Der SQL Server kennt Wartungspläne. Damit kannst du das umsetzen.
Alternativ via SQL Script, Windows Scheduled Tasks und einer CLI Schnittstelle (osql.exe oder so).
Wartungspläne sind aber besser.

Wieso soll die DB geshrinkt werden? Dies ist eigentlich nicht optimal.
 
Kannst du mir erklären oder eine Anleitung zeigen die erklärt wie man einen Wartungsplan anlegt der dann diese 4 Befehle ausführt?

Das Shrinken ist leider notwendig weil es nach mehr als 3 Monaten passiert, dass die DB ohne Shrink nicht mehr nutzbar ist.
 
Werbung:
Berücksichtigen Sie die folgenden Informationen, wenn Sie eine Datenbank verkleinern möchten:Consider the following information when you plan to shrink a database:

  • Ein Verkleinerungsvorgang ist am effektivsten nach einem Vorgang, durch den umfangreicher nicht verwendeter Speicherplatz bereitgestellt wird, z. B. das Abschneiden oder Löschen einer Tabelle.A shrink operation is most effective after an operation that creates lots of unused space, such as a truncate table or a drop table operation.

  • Die meisten Datenbanken erfordern verfügbaren freien Speicherplatz für die normalen alltäglichen Vorgänge.Most databases require some free space to be available for regular day-to-day operations. Wenn Sie eine Datenbank wiederholt verkleinern und feststellen, dass die Datenbankgröße wieder zunimmt, deutet dies darauf hin, dass der verkleinerte Speicherplatz für regelmäßige Vorgänge benötigt wird.If you shrink a database repeatedly and notice that the database size grows again, this indicates that the space that was shrunk is required for regular operations. In diesem Fall ist das Verkleinern der Datenbank vergeblich.In these cases, repeatedly shrinking the database is a wasted operation.

  • Bei einem Verkleinerungsvorgang bleibt der Fragmentierungszustand der Indizes in der Datenbank nicht erhalten. Im Allgemeinen wird die Fragmentierung zu einem gewissen Grad verstärkt.A shrink operation does not preserve the fragmentation state of indexes in the database, and generally increases fragmentation to a degree. Dies ist ein weiterer Grund, die Datenbank nicht wiederholt zu verkleinern.This is another reason not to repeatedly shrink the database.

  • Legen Sie die Datenbankoption AUTO_SHRINK nicht auf ON fest, es sei denn, besondere Anforderungen machen dies erforderlich.Unless you have a specific requirement, do not set the AUTO_SHRINK database option to ON.
 
Zurück
Oben