首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server CREATE DATABASE 腳本範本:檔案群、路徑、自動成長最佳實踐

     編輯:關於SqlServer

標準化建庫腳本可確保環境一致性、效能基準與可維護性。

最小可用腳本

CREATE DATABASE HappyRelaxDB
ON PRIMARY (
    NAME = N'HappyRelaxDB',
    FILENAME = N'D:\SQLData\HappyRelaxDB.mdf',
    SIZE = 512MB,
    MAXSIZE = UNLIMITED,
    FILEGROWTH = 128MB
)
LOG ON (
    NAME = N'HappyRelaxDB_log',
    FILENAME = N'D:\SQLLog\HappyRelaxDB_log.ldf',
    SIZE = 256MB,
    MAXSIZE = 2048GB,
    FILEGROWTH = 64MB
);
GO

關鍵參數最佳實踐

參數建議值理由
SIZE預估 6-12 個月資料量避免頻繁自動成長造成碎片與效能抖動
FILEGROWTH固定 MB (如 128MB),勿用 %百分比成長隨檔案增大而變大,不可控
MAXSIZE資料檔 UNLIMITED,記錄檔設上限防止記錄檔佔滿磁碟
檔案路徑資料/記錄分離不同磁碟/陣列I/O 隔離,提升併發吞吐
檔案群依業務模組建立次要檔案群支援檔案群層級備份/還原、分段還原

進階:多檔案群範例

CREATE DATABASE ERP_System
ON PRIMARY (
    NAME = ERP_System_Pri, FILENAME = 'F:\Data\ERP_Pri.mdf', SIZE = 1GB, FILEGROWTH = 256MB
),
FILEGROUP FG_Orders (
    NAME = ERP_Orders, FILENAME = 'G:\Data\ERP_Orders.ndf', SIZE = 2GB, FILEGROWTH = 512MB
),
FILEGROUP FG_History (
    NAME = ERP_History, FILENAME = 'H:\Data\ERP_History.ndf', SIZE = 500MB, FILEGROWTH = 128MB, READ_ONLY = ON
)
LOG ON (
    NAME = ERP_System_Log, FILENAME = 'L:\Log\ERP_Log.ldf', SIZE = 1GB, FILEGROWTH = 256MB
);
GO

建庫後必做設定

ALTER DATABASE HappyRelaxDB SET RECOVERY FULL;           -- 完整復原模式
ALTER DATABASE HappyRelaxDB SET AUTO_CREATE_STATISTICS ON;
ALTER DATABASE HappyRelaxDB SET AUTO_UPDATE_STATISTICS ON;
ALTER DATABASE HappyRelaxDB SET READ_COMMITTED_SNAPSHOT ON; -- 啟用 RCSI 減少阻塞
GO

將腳本納入版控,所有環境 (Dev/Test/Staging/Prod) 僅調整路徑與 SIZE 參數,實現基礎設施即代碼。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved