時間:2024-02-14 10:20作者:下載吧人氣:19
將數據庫Demo中的表按照日期字段進行水平分區分表。要求數據文件按一年一個文件存儲,且分區的分割點會根據時間的增長自動添加(例如現在是2017年1月1日,將其作為一個分割點,即將2017年1月1日之前的數據存儲到數據文件A中,將2017年1月1日的之后的數據存儲到數據文件B中;當時間到2018年1月1日時,自動將2018年1月1日添加為一個新的分區分割點,并將2017年1月1日至2018年1月1日的數據存儲在數據文件B中,將2018年1月1日之后的數據存儲在一個新的數據文件C中,以此類推)。
要實現這一功能,首先要了解數據庫對水平分區表進行分區存儲的原理。
所謂水平分區分表,就是把邏輯上的一個表,在物理上按照你指定的規則分放到不同的文件里,把一個大的數據文件拆分為多個小文件,還可以把這些小文件放在不同的磁盤下。這樣把一個大的文件拆分成多個小文件,便于我們對數據的管理。
l 便于存檔
l 便于管理:備份恢復時可以單一的備份或者恢復某一個分區
l 提高可用性:一個分區故障,不影響其他分區的正常使用
l 提高性能:提升查詢數據的速度
① 創建數據庫
② 在創建的數據庫中添加文件組
③ 在文件組中添加新的文件
④ 定義分區函數
⑤ 定義分區架構
⑥ 定義分區表
⑦ 定義代理作業,自動添加分區分割點
⑧ 測試數據
注意:
² 分區表依賴于分區架構,而分區架構又依賴與分區函數,所以在穿件分區函數、分區架構、分區表是要按照對應的順序創建。
² 分區函數并不屬于具體的分區架構和分區表,它們之間僅僅是使用關系。
² 分區表只能在創建的時候指定為分區表
新建數據庫,并將其命名為Demo
代碼格式:
ALTER DATABASE <數據庫名稱> ADD FILEGROUP<文件組名>
代碼示例:
ALTER DATABASE DemoADD FILEGROUP DemoFileGroup
代碼格式:
ALTER DATABASE <數據庫名稱> ADD FILE <數據標識> TO FILEGROUP<文件組名稱>
注意:數據標識中name為邏輯文件名、filename為物理文件路徑名、size為文件初始大?。▎挝唬簁b/mb/gb/tb)、filegrowth為文件自動增量(單位:kb/mb/gb/tb)、maxsize為文件增大的最大大小(單位:kb/mb/gb/tb/unlimited)
代碼示例:
ALTER DATABASEDemo ADD FILE (
NAME=’DemoFile1′,
FILENAME=’D:ProgramFilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLDATADemoFile1.mdf’,
SIZE=5MB,
FILEGROWTH=5MB)
TOFILEGROUP DemoFileGroup
網友評論