很開心在上周末下班前一起和客戶端的.NET架構師解決了開發人員的NHibernate交易使用問題,好久沒用Hibernate這個老牌ORM武器了,連開保險上膛都很生疏,來筆記Hibernate問題解決,順便回憶。
客戶端開發人員的問題是在同一個Transaction中,有三個資料庫的操作,但後面的操作無法讀取到同一個Transaction先前寫入的資料。
很開心在上周末下班前一起和客戶端的.NET架構師解決了開發人員的NHibernate交易使用問題,好久沒用Hibernate這個老牌ORM武器了,連開保險上膛都很生疏,來筆記Hibernate問題解決,順便回憶。
客戶端開發人員的問題是在同一個Transaction中,有三個資料庫的操作,但後面的操作無法讀取到同一個Transaction先前寫入的資料。
Tempdb在資料庫執行時有著神聖的特殊任務,但也因為只此一家別無分號,為了避免Tempdb Allocation Contention(爭用),裝完SQL Server後,我們會再填單請DBA大人幫忙設定多個Tempdb資料庫檔案,現在SQL Server 2016、SQL Server 2017更方便了,SQL安裝精靈到了"資料庫引擎組態"步驟時,精靈會自動偵測硬體的CPU核心數,我們只需要配置好初始與成長大小。
最近想幫早期上線(SQL Server 2008R2)的客戶增加檔案個數,筆記過程。
SQL Server 2016開始,SQL安裝精靈到了"伺服器組態"步驟時,除了SQL服務帳戶的設定,還多了一個"執行磁碟區維護工作"(Perform Volume Manintenance Task)的選項,他是一個有關資料庫檔案立即初始化的優化,建立大型資料庫、資料庫還原、或是針對既有資料庫增加大型檔案或改變檔案大小(包含Autogrow)時,跳過補零的初始化作業,可以帶來IO效能上的提升。
SQL Server安裝在Windows OS中,而存放Data的磁碟幾乎都格式化為NTFS檔案系統,預設磁碟分割大小則是4KB。
從Super SQL Server社群楊老師的文章得到收穫和啟發,NTFS檔案系統預設的4KB可能不是SQL Server Data/Log Page的存取最佳值,來試試看其他Allocation Unit Size對效能的幫助。