SQL Server 表分割槽實戰系列(文章索引)

2021-09-08 14:26:52 字數 1582 閱讀 3529

本文所涉及的內容(contents)

前言(introduction)

實戰說明(in action)

表分割槽邏輯結構圖(construction)

表分割槽學習流程圖(study step)

系列文章索引(catalog)

總結&待續...(summary & to be continued…)

前段時間在忙資料庫的表分割槽,經常會去上網找資料,但是在找到都是測試表分割槽的文章,沒有實戰經驗的,所以在我把表分割槽運用到實際專案中的時候遇到了很多問題。

比如:如何確認分割槽字段?分割槽欄位與聚集索引的區別與聯絡?如何儲存分割槽索引?msdn說交換分割槽是以秒計算,但執行40g交換分割槽超時?如何解決分割槽不斷增長的問題?自動化交換分割槽的陷阱?

這些問題都只能自己在實戰中摸索答案,後來我寫了幾篇關於這些問題的博文,希望對那些需要實戰幫助的童鞋有一點提示和幫助。希望大家拍磚。

某生產資料庫大小已經有800g了,每天進庫資料量大概有150w條記錄(資料空間大概為7g),而伺服器現在已經沒有太多的磁碟空間了,面對這樣的問題,我決定對這個資料庫的乙個大表做表分割槽,每個分割槽的ndf檔案為40g,乙個分割槽儲存1千萬條記錄。總的記錄數保持在1.2億的資料量。

當需要新的空間來儲存新的資料的時候,我們就通過交換表分割槽來快速刪除乙個分割槽的資料,並使用這個分割槽來存放新進庫的資料。

如果每次都人工來執行交換分割槽的話就太麻煩了,所以我對這個如何進行交換分割槽刪除資料來清理磁碟空間做成自動化。

在執行自動化的作業卻也發現了很多問題,在分割槽檔案達到40g的情況,執行交換分割槽的時間會很長(在正常進資料的情況下執行作業),而對8g的資料檔案進行交換分割槽時速度非常快, 只能先禁用掉mssqlserver網路協議中的tcp/ip的協議;重啟sqlserver服務;執行job進行交換分割槽;

step1:sql server 合併(刪除)分割槽解惑

step2:sql server 2005 分割槽模板與例項

step3:sql server 動態生成分割槽指令碼

step4:sql server 2005 自動化刪除表分割槽設計方案

step5:sql server 表分割槽注意事項

step6:sql server 自動化管理分割槽設計方案(**)

step7:sql server 維護計畫備份主分割槽

step8:sql server 當表分割槽遇上唯一約束

step10:sql server 解讀【已分割槽索引的特殊指導原則】(1)- 索引對齊

step11:sql server 解讀【已分割槽索引的特殊指導原則】(2)- 唯一索引分割槽

step12:sql server 解讀【已分割槽索引的特殊指導原則】(3) - 非聚集索引分割槽

我會繼續了解和深入表分割槽的一些知識,並繼續寫一些關於表分割槽實際應用的文章。但是乙個人的能力和視野是比較有限,所以大家如果有更好的分割槽實戰經驗的話,歡迎拿出來分享和交流。看到一些好的博文也歡迎把位址貼出來。

SQL Server表分割槽

建立分割槽表start 分割槽函式 create partition function partfunbfq datetime as range right for values 20110101 20120101 20130101 20140101 20150101 分割槽方案 create pa...

Sqlserver表分割槽

use testsplitdb 先建立好資料庫 1.建立檔案組 alter database testsplitdb add filegroup testsplitgroup1 alter database testsplitdb add filegroup testsplitgroup2 alte...

SQL Server表分割槽

第一步,建立檔案組 1 右擊資料庫 屬性 檔案組 2 t sql alter database 資料庫名稱 add filegroup 檔案組名 例項 alter database bussystem add filegroup testgroup1 第二步,建立資料檔案到檔案組 1 右擊資料庫 屬...