Sql-Server-2008

SQL Server 2008 日誌文件有最小大小,什麼給出以及如何使它們更小?

  • January 10, 2011

好的,首先,我在創建數據庫時搞砸了,使用大致如下的創建腳本:(用於包裝目的的人工換行符和名稱/路徑)

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

因為我是從現有的開發數據庫中編寫出來的,我只是想讓一些事情發生。當我沒有將我的大小更改為合理的大小(例如4096KB)時,我搞砸了,所以現在我無法將日誌文件縮小到大約 600MB 以下。

我知道我哪裡出錯了,但如何輕鬆解決?

  1. 分離數據庫。

sp_detach_db @dbname = 'EXAMPLE' 2. 從磁碟物理刪除日誌文件(這很重要,但可能有風險 - 請參閱下面mrdenny的評論)。 3. sp_attach_single_file_db使用儲存過程附加數據庫。

sp_attach_single_file_db @dbname = 'EXAMPLE', @physname = N'J:\SQLServer2008\MSSQL.INSTANCE\EXAMPLE.mdf'

希望您有足夠的權限訪問 SSMS。如果這樣做,請按照以下步驟操作

  1. 打開 SSMS
  2. 連接到您的 SQL Server Instacne
  3. 打開對象資源管理器,右鍵點擊數據庫(要縮小日誌文件最小大小)並選擇“屬性”
  4. 從“屬性”視窗 - 選擇“文件”
  5. 您將在右下角看到數據庫文件網格
  6. 點擊添加添加新的日誌文件,給
  • 邏輯名稱
  • 文件類型 = 日誌
  • 初始大小 = 1 MB(或您的偏好)
  • 點擊 Autogrowth 並相應地設置首選項
  • 文件名
  1. 現在點擊現有日誌行並選擇“刪除”
  2. 而已!現在您有了所需最小大小的新日誌文件。

替代文字

引用自:https://dba.stackexchange.com/questions/364