Ok, zu Beginn habe ich es vermasselt, als ich die Datenbanken mit einem Erstellungsskript erstellt habe, das ungefähr so aussieht: (künstliche Zeilenumbrüche und Namen / Pfade zum Umbrechen)
CREATE DATABASE [EXAMPLE] ON PRIMARY
( NAME = N'EXAMPLE_Data', FILENAME = N'J:\SQLServer2008\MSSQL.INSTANCE\EXAMPLE.mdf',
SIZE = 446046KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10%)
LOG ON
( NAME = N'EXAMPLE_Log', FILENAME = N'J:\SQLServer2008\MSSQL.INSTANCE\EXAMPLE.ldf',
SIZE = 664505KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO
weil ich es aus einer vorhandenen Entwicklungsdatenbank heraus geschrieben habe und nur etwas in Gang bringen wollte. Ich habe es vermasselt, als ich meine Größe nicht auf etwas Vernünftiges (wie 4096KB
) geändert habe, und jetzt kann ich die Protokolldatei nicht unter ungefähr 600 MB verkleinern.
Ich weiß, wo ich falsch gelaufen bin, aber wie kann ich das Problem leicht beheben?
sql-server-2008
sql-server
shrink
logs
jcolebrand
quelle
quelle
Antworten:
Trennen Sie die Datenbank.
sp_detach_db @dbname = 'EXAMPLE'
Löschen Sie die Protokolldatei physisch von der Festplatte (dies ist von entscheidender Bedeutung , kann jedoch riskant sein - siehe den Kommentar von mrdenny unten).
Hängen Sie die Datenbank mit der
sp_attach_single_file_db
gespeicherten Prozedur an.sp_attach_single_file_db @dbname = 'EXAMPLE', @physname = N'J:\SQLServer2008\MSSQL.INSTANCE\EXAMPLE.mdf'
quelle
Ich hoffe, Sie haben genügend Berechtigungen, um auf SSMS zuzugreifen. Wenn Sie dies tun, befolgen Sie diese Schritte
quelle