Saya perlu mengosongkan file LDF sebelum mengirim ke kolega. Bagaimana cara memaksa SQL Server untuk memotong log?
Saya perlu mengosongkan file LDF sebelum mengirim ke kolega. Bagaimana cara memaksa SQL Server untuk memotong log?
Jawaban:
jika saya ingat dengan baik ... di query analyzer atau yang setara:
BACKUP LOG databasename WITH TRUNCATE_ONLY
DBCC SHRINKFILE ( databasename_Log, 1)
WITH TRUNCATE_ONLY
.
BACKUP LOG DatabaseNameHere TO DISK='NUL:'
.
Di studio manajemen:
Properties
, lalu Options
.Tasks
-> Shrink
->Files
Atau, SQL untuk melakukannya:
ALTER DATABASE mydatabase SET RECOVERY SIMPLE
DBCC SHRINKFILE (mydatabase_Log, 1)
use mydatabase
sebelum mengeksekusidbcc shrinkfile
Untuk SQL Server 2008, perintahnya adalah:
ALTER DATABASE ExampleDB SET RECOVERY SIMPLE
DBCC SHRINKFILE('ExampleDB_log', 0, TRUNCATEONLY)
ALTER DATABASE ExampleDB SET RECOVERY FULL
Ini mengurangi file log 14GB saya menjadi 1MB.
Untuk SQL 2008 Anda dapat membuat cadangan log ke nul
perangkat:
BACKUP LOG [databaseName]
TO DISK = 'nul:' WITH STATS = 10
Dan kemudian gunakan DBCC SHRINKFILE
untuk memotong file log.
Opsi lainnya adalah melepaskan basis data melalui Management Studio. Kemudian cukup hapus file log, atau ganti namanya dan hapus nanti.
Kembali ke Management Studio, pasang lagi basis data. Di jendela lampiran hapus file log dari daftar file.
DB menempel dan membuat file log kosong baru. Setelah Anda memeriksa semuanya baik-baik saja, Anda dapat menghapus file log yang diubah namanya.
Anda mungkin tidak boleh menggunakan ini untuk database produksi.