Hallo,
ich suche seid mehreren Tagen eine lösung für mein problem.
Und zwar hab ich hier einen PC der pro produziertes teil einen eintrag in eine sql datenbank macht.
mitllerweile ist aber die datenbank zu gross (über2gb) und nun sollen alte daten gelöscht werden.
Ich hab aber davon überhaupt keine ahnung, weil ich vorher mit sql garnix zu tun hatte.
Soweit ich weiss wird die datenbank mit einer .bat datei erstellt?
in der datei wurde folgendes reingeschrieben:
REM Datum ermitteln
For /f "tokens=1-4 delims=. " %%a in ('date /t') do (set date=%%c%%b%%a)
For /f "tokens=1-4 delims=. " %%a in ('date /t') do (set datum=%%c-%%b-%%a)
For /f "tokens=1-4 delims=. " %%a in ('date /t') do (set jahr=%%c)
For /f "tokens=1-4 delims=. " %%a in ('date /t') do (set monat=%%b)
REM Datum auf den 1. des Jahrs setzen!
set datum=%jahr%-01-01
REM Überprüfen, ob Archivdatei bereits vorhanden ist
if exist %D:\Datenbank\Archiv\ARCHIV_%datum%.bak goto ENDE
:BACKUP_DATA
REM Ausführen der Backuproutine
osql -Umur -Pmur -Q "BACKUP DATABASE [NGE] TO DISK='D:\Datenbank\Archiv\ARCHIV_%datum%.bak'"
REM Überprüfen, ob Archivdatei vorhanden ist
if exist %D:\Datenbank\Archiv\ARCHIV_%datum%.bak goto DEL_OLD_DATA
echo Archiv-Datei wurde nicht erstellt! Abbruch! >> D:\Datenbank\Archiv\Log\Archivierung_%date%.txt
goto ENDE
: DEL_OLD_DATA
echo Die Archiv-Datei wurde erstellt! Alte Daten löschen... >> D:\Datenbank\Archiv\Log\Archivierung_%date%.txt
REM Alte Daten aus der Datenbank löschen
osql -Umur -Pmur -Q "delete GES WHERE ZEIT<'%datum% 00:00:00'" >> D:\Datenbank\Archiv\Log\Archivierung_%date%.txt
:ENDE das scheint aber nicht zu funktionieren, weil die datei nicht kleiner wird wenn ich datei ausführe.
Wäre echt super wenn mir jemand dabei helfen könnte.
MfG Julian
ich suche seid mehreren Tagen eine lösung für mein problem.
Und zwar hab ich hier einen PC der pro produziertes teil einen eintrag in eine sql datenbank macht.
mitllerweile ist aber die datenbank zu gross (über2gb) und nun sollen alte daten gelöscht werden.
Ich hab aber davon überhaupt keine ahnung, weil ich vorher mit sql garnix zu tun hatte.
Soweit ich weiss wird die datenbank mit einer .bat datei erstellt?
in der datei wurde folgendes reingeschrieben:
REM Datum ermitteln
For /f "tokens=1-4 delims=. " %%a in ('date /t') do (set date=%%c%%b%%a)
For /f "tokens=1-4 delims=. " %%a in ('date /t') do (set datum=%%c-%%b-%%a)
For /f "tokens=1-4 delims=. " %%a in ('date /t') do (set jahr=%%c)
For /f "tokens=1-4 delims=. " %%a in ('date /t') do (set monat=%%b)
REM Datum auf den 1. des Jahrs setzen!
set datum=%jahr%-01-01
REM Überprüfen, ob Archivdatei bereits vorhanden ist
if exist %D:\Datenbank\Archiv\ARCHIV_%datum%.bak goto ENDE
:BACKUP_DATA
REM Ausführen der Backuproutine
osql -Umur -Pmur -Q "BACKUP DATABASE [NGE] TO DISK='D:\Datenbank\Archiv\ARCHIV_%datum%.bak'"
REM Überprüfen, ob Archivdatei vorhanden ist
if exist %D:\Datenbank\Archiv\ARCHIV_%datum%.bak goto DEL_OLD_DATA
echo Archiv-Datei wurde nicht erstellt! Abbruch! >> D:\Datenbank\Archiv\Log\Archivierung_%date%.txt
goto ENDE
: DEL_OLD_DATA
echo Die Archiv-Datei wurde erstellt! Alte Daten löschen... >> D:\Datenbank\Archiv\Log\Archivierung_%date%.txt
REM Alte Daten aus der Datenbank löschen
osql -Umur -Pmur -Q "delete GES WHERE ZEIT<'%datum% 00:00:00'" >> D:\Datenbank\Archiv\Log\Archivierung_%date%.txt
:ENDE das scheint aber nicht zu funktionieren, weil die datei nicht kleiner wird wenn ich datei ausführe.
Wäre echt super wenn mir jemand dabei helfen könnte.
MfG Julian
Comment