時間:2024-02-14 10:20作者:下載吧人氣:24
將數(shù)據(jù)庫Demo中的表按照日期字段進行水平分區(qū)分表。要求數(shù)據(jù)文件按一年一個文件存儲,且分區(qū)的分割點會根據(jù)時間的增長自動添加(例如現(xiàn)在是2017年1月1日,將其作為一個分割點,即將2017年1月1日之前的數(shù)據(jù)存儲到數(shù)據(jù)文件A中,將2017年1月1日的之后的數(shù)據(jù)存儲到數(shù)據(jù)文件B中;當(dāng)時間到2018年1月1日時,自動將2018年1月1日添加為一個新的分區(qū)分割點,并將2017年1月1日至2018年1月1日的數(shù)據(jù)存儲在數(shù)據(jù)文件B中,將2018年1月1日之后的數(shù)據(jù)存儲在一個新的數(shù)據(jù)文件C中,以此類推)。
要實現(xiàn)這一功能,首先要了解數(shù)據(jù)庫對水平分區(qū)表進行分區(qū)存儲的原理。
所謂水平分區(qū)分表,就是把邏輯上的一個表,在物理上按照你指定的規(guī)則分放到不同的文件里,把一個大的數(shù)據(jù)文件拆分為多個小文件,還可以把這些小文件放在不同的磁盤下。這樣把一個大的文件拆分成多個小文件,便于我們對數(shù)據(jù)的管理。
l 便于存檔
l 便于管理:備份恢復(fù)時可以單一的備份或者恢復(fù)某一個分區(qū)
l 提高可用性:一個分區(qū)故障,不影響其他分區(qū)的正常使用
l 提高性能:提升查詢數(shù)據(jù)的速度
① 創(chuàng)建數(shù)據(jù)庫
② 在創(chuàng)建的數(shù)據(jù)庫中添加文件組
③ 在文件組中添加新的文件
④ 定義分區(qū)函數(shù)
⑤ 定義分區(qū)架構(gòu)
⑥ 定義分區(qū)表
⑦ 定義代理作業(yè),自動添加分區(qū)分割點
⑧ 測試數(shù)據(jù)
注意:
² 分區(qū)表依賴于分區(qū)架構(gòu),而分區(qū)架構(gòu)又依賴與分區(qū)函數(shù),所以在穿件分區(qū)函數(shù)、分區(qū)架構(gòu)、分區(qū)表是要按照對應(yīng)的順序創(chuàng)建。
² 分區(qū)函數(shù)并不屬于具體的分區(qū)架構(gòu)和分區(qū)表,它們之間僅僅是使用關(guān)系。
² 分區(qū)表只能在創(chuàng)建的時候指定為分區(qū)表
新建數(shù)據(jù)庫,并將其命名為Demo
代碼格式:
ALTER DATABASE <數(shù)據(jù)庫名稱> ADD FILEGROUP<文件組名>
代碼示例:
ALTER DATABASE DemoADD FILEGROUP DemoFileGroup
代碼格式:
ALTER DATABASE <數(shù)據(jù)庫名稱> ADD FILE <數(shù)據(jù)標(biāo)識> TO FILEGROUP<文件組名稱>
注意:數(shù)據(jù)標(biāo)識中name為邏輯文件名、filename為物理文件路徑名、size為文件初始大小(單位:kb/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
網(wǎng)友評論