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