Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Transaktionsprotokoll verkleinern (Probleme) (https://www.delphipraxis.net/105425-transaktionsprotokoll-verkleinern-probleme.html)

PaulJr 21. Dez 2007 12:43

Datenbank: MsSQL • Zugriff über: BDE

Transaktionsprotokoll verkleinern (Probleme)
 
Hallo Programmierer,

Ich möchte das Transaktionsprotokoll für MsSQL Datenbank automatisch verkleinern.

Dies sollte bei Kunden geschehen. An dieser Stelle ist nur bekannt wie diese Datenbank heißt.

Angenommen diese Datenbank heißt: DBTEST

Für eine SQL-Anweisung wie diese hier:

SQL-Code:
dbcc shrinkfile(DBTEST _Log)
muss ich herausfinden wie die (Datenbank-) Log Datei heißt.

Wie kann ich den Log-Datei-Name herausfinden?

Paul Jr.

marabu 21. Dez 2007 12:55

Re: Transaktionsprotokoll verkleinern (Probleme)
 
Hallo Paul,

die Stored Procedure "sp_helpfile" liefert dir in der Spalte "filename" den Namen der Datei zur Komponente "name".

Frohe Weihnachten

Catbytes 21. Dez 2007 13:11

Re: Transaktionsprotokoll verkleinern (Probleme)
 
Hi,

ich mach das meist so:

SQL-Code:
BACKUP LOG <DATENBANKNAME> WITH TRUNCATE_ONLY
dbcc shrinkfile (2,2)

PaulJr 21. Dez 2007 13:21

Re: Transaktionsprotokoll verkleinern (Probleme)
 
Hallo Achim (Marabu)

Hervorragend, DANKE für Deine professionelle Antwort!!!
:lol:

Und schon habe ich mein zweites Problem.

Welchen Namen sollte ich in dieser Anweisung

dbcc shrinkfile(???)

Benutzen, da einmal liefert sp_helpfile eine Spalte NAME und einmal FILENAME

Vielleicht hat sich schon jemand mit diesem Problem befasst und hätte für mich eine fertige Lösung,

also eine Reihe von SQL-Anweisungen die dieses Problem beseitigen (Transaktionsprotokoll zu groß),

da bei diesem Problem bin sich, sagen wir, sehr vorsichtig.

-----------------------------

Hallo Catbytes :lol:

könntest Du mir bitte Deine vorgehensweise etws erläutern... (wie ich das Einsetzen könnte?)


Gruß

Paul Jr.

hoika 21. Dez 2007 13:43

Re: Transaktionsprotokoll verkleinern (Probleme)
 
Hallo,

wenn du mssql2005 benutzt,
kannt du dir den Befehl selber zusammenbasteln lassen,

Gehe im Managent-Studio vor, also ob du wirklich ein
"Task-Verkleinern-Dateien" machen willst.

Stelle alles so ein, wie du es brauchst,
und klicke dann im Form oen auf Scripts.

Das Script kopierst du ein eine Datei (Cut.SQL ?)
und rufst es per sqlcmd auf.


Heiko

PaulJr 21. Dez 2007 14:11

Re: Transaktionsprotokoll verkleinern (Probleme)
 
Hallo Hoika,

Danke, clevere Idee…
, weiß ich aber noch nicht ob sie mir weiter hilft, da ich nur das

Transaktionsprotokoll verkleinern möchte und bis jetzt agiere ich ähnlich wie ein Affe der im

Internet alles mögliche zu diesem Thema sucht… und weiß trotzdem nicht weiter…

Nun mein Problem ist, dass ich mir nicht sicher bin in meiner Vorgehensweise, da ich mich eigentlich

bis vor Kurzem nie mit diesem Problem befasst habe und vor allem weiß ich nicht welche Gefahren

auf mich lauern… Sollte ich eine Datenbank z.B. zerschießen… werde ich anschließend auch

exekutiert…

Gruß

Paul Jr.

HeikoAdams 21. Dez 2007 14:21

Re: Transaktionsprotokoll verkleinern (Probleme)
 
Zitat:

Zitat von PaulJr
Welchen Namen sollte ich in dieser Anweisung
dbcc shrinkfile(???)
Benutzen, da einmal liefert sp_helpfile eine Spalte NAME und einmal FILENAME

Du übergibst den Inhalt der Spalte NAME. Das ganz sieht dann in etwa so aus:
SQL-Code:
dbcc shrinkfile [Name]
Wobei [NAME] der Inhalt der gleichnamigen Spalte von sp_helpfile ist :wink:

PaulJr 21. Dez 2007 14:34

Re: Transaktionsprotokoll verkleinern (Probleme)
 
:lol: Hallo Heiko (Hoika),

Hervorragend
, das von Dir habe ich jetzt ausprobiert und JA, sehr clever und scheint zu funktionieren…

In Verbindung mit den Tipps von Marabu, Catbytes und HeikoAdams kann

ich jetzt quasi keinen Fehler mehr machen und die Sache (meine Anweisungen) ist sehr einfach geworden.

Dafür bedanke ich mich…

Will natürlich jemand noch etwas dazu schreiben werde ich das sehr aufmerksam lesen… :wall:

Viele Grüße

Paul Jr.

hoika 21. Dez 2007 14:36

Re: Transaktionsprotokoll verkleinern (Probleme)
 
Hallo,

ich würde vor dem Shrink zuerst eh nen Backup machen,
wieder per Script.


Heiko

RavenIV 21. Dez 2007 14:44

Re: Transaktionsprotokoll verkleinern (Probleme)
 
Zitat:

Zitat von hoika
ich würde vor dem Shrink zuerst eh nen Backup machen,
wieder per Script.

Es ist eh empfehlenswert vor irgendeiner Änderung an der DB ein backup zu machen.
Vielleicht auch von der ganzen Partition mit einem Backup- oder Image-Programm.

Somit kannst Du im schlimmsten Fall die Daten wieder zurückholen und wirst nicht gleich erschossen.
Bestenfalls wird Dir der Kopf abgerissen, aber sowas wächst ja wieder nach ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz