【IT168 技術文檔】目標
通過這個動手實驗室,您可以了解到:
創建已分區表。
創建分區對齊索引視圖。
實現可調窗口應用場景將數據切換到存檔表。
先決條件
在開始此實驗之前,您必須:
使用 Transact-SQL 在 Microsoft® SQL Server® 資料庫中創建資料庫對象的經驗。
實驗設置
實驗場景
Adventure Works Cycles 的數據倉庫中有幾個非常大的表。為改善此數據的存儲,您決定對幾個跨文件組的表進行分區。這樣您就可以控制基礎磁碟存儲。
對幾個跨文件組的表進行分區時,您希望增添功能並改善您的解決方案的性能。您決定基於訂單日期分配數據,而不是隨意地跨文件組分割數據。因為您只修改包含最新數據的文件組,所以這樣會提高備份和還原的速度。此外,您還可以定期對文件組進行存檔,以將歷史數據移動到另一個表中,使活動表的大小保持在可管理的範圍內。
一. 創建已分區表
在本練習中,您將創建一個分區數據倉庫事實數據表。非常大的表經常需要跨幾個磁碟卷存儲數據。SQL Server 表無法放置在特定文件中。但是,文件組可以放置在文件中,而表可以分配給文件組。這樣您就可以控制 SQL Server 中非常大的表中的數據的存儲。而且,如果表跨幾個文件組,定義哪些數據放置在哪個文件組中會非常有用。分區函數通過基於特定列中的值沿水平方向拆分表提供了此功能。
注意: 您可以複製此練習中所用的腳本,這些腳本位於 C:\SQLHOLS\Partitioning\Solution\Partition Processing 文件夾中的 Partition Processing.ssmssln 解決方案中。
新建 SQL Server 腳本項目
1. 從開始->所有程序菜單中的 Microsoft SQL Server 2008 程序組中啟動
SQL Server Management Studio。
2. 在連接到伺服器對話框中,驗證下列設置無誤後單擊連接:
伺服器類型:資料庫引擎
伺服器名稱:(local)
身份驗證:Windows 身份驗證
3. 在文件菜單上,指向新建,然後單擊項目。
4. 確保選中 SQL Server 腳本,然後輸入下列設置:
名稱:Partition Processing
位置:C:\SQLHOLs\Partitioning\Starter
解決方案名稱:Partition Processing
5. 確保選中創建解決方案的目錄,然後單擊確定。
6. 在解決方案資源管理器中,右鍵單擊連接,然後單擊新建連接。
7. 在連接到伺服器對話框中,驗證下列設置無誤後單擊確定:
伺服器名稱:(local)
身份驗證:Windows 身份驗證
創建文件組和文件
1. 在解決方案資源管理器中,右鍵單擊在前面步驟中添加的連接,然後單擊新建查詢。
2. 右鍵單擊 SQLQuery1.sql,然後單擊重命名。
3. 鍵入 Files and Filegroups.sql,然後按 Enter。
4. 鍵入下面的代碼(每個 FILENAME 參數都應單佔一行)。
USE [master]
ALTER DATABASE [AdventureWorksDW] ADD FILEGROUP [fg2001]
GO
ALTER DATABASE [AdventureWorksDW] ADD FILEGROUP [fg2002]
GO
ALTER DATABASE [AdventureWorksDW] ADD FILEGROUP [fg2003]
GO
ALTER DATABASE [AdventureWorksDW] ADD FILEGROUP [fg2004]
GO
ALTER DATABASE [AdventureWorksDW] ADD FILE
(NAME = N'AdventureWorksDW_Data2001',
FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\AdventureWorksDW_Data2001.ndf',
SIZE = 2048KB , FILEGROWTH = 1024KB ) TO FILEGROUP [fg2001]
GO
ALTER DATABASE [AdventureWorksDW] ADD FILE
(NAME = N'AdventureWorksDW_Data2002',
FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\AdventureWorksDW_Data2002.ndf',
SIZE = 2048KB , FILEGROWTH = 1024KB ) TO FILEGROUP [fg2002]
GO
ALTER DATABASE [AdventureWorksDW] ADD FILE
(NAME = N'AdventureWorksDW_Data2003',
FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\AdventureWorksDW_Data2003.ndf',
SIZE = 2048KB , FILEGROWTH = 1024KB) TO FILEGROUP [fg2003]
GO
ALTER DATABASE [AdventureWorksDW] ADD FILE
(NAME = N'AdventureWorksDW_Data2004',
FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\AdventureWorksDW_Data2004.ndf',
SIZE = 2048KB , FILEGROWTH = 1024KB ) TO FILEGROUP [fg2004]
GO
5. 單擊執行。