You are currently reviewing an older revision of this page.
Es erscheint eine Meldung in den SELECTserver Logdateien, dass die SQL Datenbank voll ist.
Im Laufe der Zeit kann der Speicherplatzbedarf für die SELECTserver-Datenbank stark schwanken. Dies ist auf SQL-Server-Funktionen zurückzuführen und erfordert eine Datenbankpflege. Sie können festlegen, dass der SQL Server automatisch seine Datenbank erweitert, wenn mehr Speicherplatz benötigt wird.Ebenso können Sie auch ein "Schrumpfen" festlegen, um zugewiesenen jedoch ungenutzten Speicherplatz zurückzuerhalten.Manchmal ist es sinnvoll, "Autogrow" und "Autoshrink" Ereignisse zu aktivieren, manchmal nicht.(Siehe auch KB #315512 von Microsoft für weitere Informationen zu diesen Optionen)
ShrinkingData Files (*.MDF / *.NDF)
Wenn Sie die automatische "Shrink"-Einstellung nicht aktiviert haben kann es vorkommen, dass Ihre Datenbank von erheblichen Datenmengen gelöscht wurde, und Sie möchten den Speicherplatz auf der Festplatte wiederherstellen, die die teilweise leere MDF-Datei aufnimmt. Dazu können Sie den Befehl DBCC SHRINKDATABASE verwenden. Siehe diesen MSDN-Eintrag für die technische Dokumentation zu den Befehlen DBCC SHRINKDATABASE oder DBCC SHRINKFILE
Um die SQL-Transaktionsprotokolle zu verkleinern, müssen Sie zuerst den Datenbank-Wiederherstellungsmodus konfigurieren. Um herauszufinden, ob Sie den Datenbank-Wiederherstellungsmodus auf "vollständig" setzen, nehmen Sie Bulk-Logging vor oder machen Sie einen Rechtsklick auf die Datenbank, Eigenschaften, klicken Sie auf Optionen, der zweite Dropdown ist der Modus. Hier ist noch mehr Informationen über DB-Wiederherstellungsmodi:http://msdn.microsoft.com/en-us/library/aa173531%28v=SQL.80%29.aspx
Wenn Ihr Datenbank-Wiederherstellungsmodus auf FULL oder "Bulk-Logging" gesetzt ist, verwenden Sie die untere SQL-Anweisung.
Das Beispielskript sieht so aus:
USE [master]
GO
ALTERDATABASE [TestDb] SET RECOVERY SIMPLE WITH NO_WAIT
DBCCSHRINKFILE(TestDbLog, 1)
ALTERDATABASE [TestDb] SET RECOVERY FULL WITH NO_WAIT
Wenn Sie die oberen Anweisung verwenden, müssen einige Werte geändert werden, damit sie an Ihre Datenbank für ein Test db angepasst sind.Dies ist eine Beschreibung für den Datenbanknamen hdr_oma_2-15-11
USE[SELECTserver]
ALTERDATABASE [SELECTserver] SET RECOVERY SIMPLE WITH NO_WAIT
DBCCSHRINKFILE(SELECTserver _Log, 1)
ALTERDATABASE [SELECTserver] SET RECOVERY FULL WITH NO_WAIT
In diesem Fall ist SELECTserver der Datenbankname, wie im sql Management Studio beschrieben.SELECTserver_Log ist der logische Name des Transactions-Logs. Sie erhalten diesen mit einem Rechtsklick auf die Datenbank über Auswahl von "Eigenschaften", einen Klick auf "Dateien" in der Spalte "Logical Name".
Falls Ihr Datenbank-Wiederherstellungsmodus auf "Einfach" festgelegt ist, ist der Script einfacher:
USE[master]
In meinem Fall:
DBCCSHRINKFILE(SELECTserver_Log, 1)
Increase SQL Server Performance for the SELECTServer
Technical Requirementshttp://communities.bentley.com/products/licensing/w/Licensing__Wiki/selectserver-technical-requirements.aspx
SELECTserver FAQ:http://communities.bentley.com/products/licensing/w/Licensing__Wiki/selectserver-general-faq.aspxDeployed SELECTserver Knowledge Requirements
http://communities.bentley.com/products/licensing/w/licensing__wiki/deployed-selectserver-knowledge-requirements-tn.aspx
REFERENCE
http://blog.sqlauthority.com/2010/05/03/sql-server-shrinkfile-and-truncate-log-file-in-sql-server-2008/
http://sqlserver2000.databases.aspfaq.com/how-do-i-reclaim-space-in-sql-server.html