亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

SQL Server中創建數據倉庫已分區表

添加時間:2014-3-24 17:04:39  添加: 思海網絡 
在創建一個分區數據倉庫事實數據表。非常大的表經常需要跨幾個磁盤卷存儲數據。SQL Server 表無法放置在特定文件中。但是,文件組可以放置在文件中,而表可以分配給文件組。這樣您就可以控制 SQL Server 中非常大的表中的數據的存儲。而且,如果表跨幾個文件組,定義哪些數據放置在哪個文件組中會非常有用。分區函數通過基于特定列中的值沿水平方向拆分表提供 了此功能。

  注意: 您可以復制下面的腳本,這些腳本位于 C:\SQLHOLS\Partitioning\Solution\Partition Processing 文件夾中的 Partition Processing.ssmssln 解決方案中。

  1.新建 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 身份驗證

  2.創建文件組和文件

  (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)單擊執行。

  3.創建分區函數

  (1)在解決方案資源管理器中,右鍵單擊該連接,然后單擊新建查詢。

  (2)右鍵單擊 SQLQuery1.sql,然后單擊重命名。

  (3)鍵入 Create Partition Function.sql,然后按 Enter。

  (4)鍵入下面的代碼。

  USE AdventureWorksDW

  
CREATE PARTITION FUNCTION pf_OrderDateKey(int)

  
AS RANGE RIGHT

  
FOR VALUES(185,550)

  
GO

 

  (5)單擊執行。

  注意:分區函數提供了兩個文件組之間的邊界。在本例中,值是與 1 月 1 日對應的鍵。

  4.創建分區方案

  (1)在解決方案資源管理器中,右鍵單擊該連接,然后單擊新建查詢。

  (2)右鍵單擊 SQLQuery1.sql,然后單擊重命名。

  (3)鍵入 Create Partition Scheme.sql,然后按 Enter。

  (4)鍵入下面的代碼。單擊執行。

  USE AdventureWorksDW

  
CREATE PARTITION SCHEME ps_OrderDateKey

  
AS PARTITION pf_OrderDateKey

  
TO (fg2001,fg2002,fg2003,fg2004)

  
GO

 

  注意:雖然分區函數中僅列出了兩個邊界,但卻有四個文件組在分區函數中列出。第四個文件組是作為供將來的文件組拆分使用的下一個文件組提供的。

  5.創建已分區表

  (1)在解決方案資源管理器中,右鍵單擊該連接,然后單擊新建查詢。

  (2)右鍵單擊 SQLQuery1.sql,然后單擊重命名。

  (3)鍵入 Create Table.sql,然后按 Enter。

  (4)鍵入下面的代碼。

  USE AdventureWorksDW

  
CREATE TABLE [dbo].[FactInternetSalesPartitioned]

  (

  
[InternetSalesID] [int] IDENTITY(1,1) NOT NULL,

  
[ProductKey] [int] NOT NULL,

  
[OrderDateKey] [int] NOT NULL,

  
[DueDateKey] [int] NOT NULL,

  
[ShipDateKey] [int] NOT NULL,

  
[CustomerKey] [int] NOT NULL,

  
[PromotionKey] [int] NOT NULL,

  
[CurrencyKey] [int] NOT NULL,

  
[SalesTerritoryKey] [int] NOT NULL,

  
[SalesOrderNumber] [nvarchar](20) NOT NULL,

  
[OrderQuantity] [smallint] NULL,

  
[UnitPrice] [money] NULL,

  
CONSTRAINT [PK_ FactInternetSalesPartitioned] PRIMARY KEY CLUSTERED

  (

  
[InternetSalesID],

  
[ProductKey],

  
[OrderDateKey],

  
[DueDateKey],

  
[ShipDateKey],

  
[CustomerKey],

  
[PromotionKey],

  
[CurrencyKey],

  
[SalesTerritoryKey]

  )

  )

  
ON ps_OrderDateKey(OrderDateKey)

  
GO

 

  (5)單擊執行。

  6.將數據插入已分區表中

  (1)在解決方案資源管理器中,右鍵單擊該連接,然后單擊新建查詢。

  (2)右鍵單擊 SQLQuery1.sql,然后單擊重命名。

  (3)鍵入 Load Data.sql,然后按 Enter。

  (4)鍵入下面的代碼。

  USE AdventureWorksDW

  
INSERT INTO [dbo].[FactInternetSalesPartitioned]

  (

  
[ProductKey],

  
[OrderDateKey],

  
[DueDateKey],

  
[ShipDateKey],

  
[CustomerKey],

  
[PromotionKey],

  
[CurrencyKey],

  
[SalesTerritoryKey],

  
[SalesOrderNumber],

  
[OrderQuantity],

  
[UnitPrice]

  )

  
SELECT

  
[ProductKey],

  
[OrderDateKey],

  
[DueDateKey],

  
[ShipDateKey],

  
[CustomerKey],

  
[PromotionKey],

  
[CurrencyKey],

  
[SalesTerritoryKey],

  
[SalesOrderNumber],

  
[OrderQuantity],

  
[UnitPrice]

  
FROM [dbo].[FactInternetSales]

  
GO

 

  (5)單擊執行。

  7.查看分區數據

  (1)在解決方案資源管理器中,右鍵單擊該連接,然后單擊新建查詢。

  (2)右鍵單擊 SQLQuery1.sql,然后單擊重命名。

  (3)鍵入 View Partitioned Data.sql,然后按 Enter。

  (4)鍵入下面的代碼。

  USE AdventureWorksDW

  SELECTProductKey,

  OrderDateKey,

  $PARTITION.pf_OrderDateKey (OrderDateKey)
AS PartitionNo

  
FROM FactInternetSalesPartitioned

  
GO

  
SELECT $PARTITION.pf_OrderDateKey (OrderDateKey) AS PartitionNo,

  
COUNT(*) AS Rows FROM FactInternetSalesPartitioned

  
GROUP BY $PARTITION.pf_OrderDateKey (OrderDateKey)

  
ORDER BY PartitionNo

  
GO

 

  (5)單擊執行。

  (6)待查詢完成后,查看結果。

  注意:第一個結果集顯示表中每行的產品密鑰和訂單日期密鑰以及存儲各行的相應分區。

  第二個結果集顯示各分區中的行數。

  (7)保持 SQL Server Management Studio 打開,下一個練習還要使用此程序。

  在本練習中,您將創建一個分區數據倉庫事實數據表。非常大的表經常需要跨幾個磁盤卷存儲數據。SQL Server 表無法放置在特定文件中。但是,文件組可以放置在文件中,而表可以分配給文件組。這樣您就可以控制 SQL Server 中非常大的表中的數據的存儲。而且,如果表跨幾個文件組,定義哪些數據放置在哪個文件組中會非常有用。分區函數通過基于特定列中的值沿水平方向拆分表提供 了此功能。

  注意: 您可以復制此練習中所用的腳本,這些腳本位于 C:\SQLHOLS\Partitioning\Solution\Partition Processing 文件夾中的 Partition Processing.ssmssln 解決方案中。

  1.新建 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 身份驗證

  2.創建文件組和文件

  (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)單擊執行。


  3.創建分區函數

  (1)在解決方案資源管理器中,右鍵單擊該連接,然后單擊新建查詢。

  (2)右鍵單擊 SQLQuery1.sql,然后單擊重命名。

  (3)鍵入 Create Partition Function.sql,然后按 Enter。

  (4)鍵入下面的代碼。

  USE AdventureWorksDW

  
CREATE PARTITION FUNCTION pf_OrderDateKey(int)

  
AS RANGE RIGHT

  
FOR VALUES(185,550)

  
GO

 

  (5)單擊執行。

  注意:分區函數提供了兩個文件組之間的邊界。在本例中,值是與 1 月 1 日對應的鍵。

  4.創建分區方案

  (1)在解決方案資源管理器中,右鍵單擊該連接,然后單擊新建查詢。

  (2)右鍵單擊 SQLQuery1.sql,然后單擊重命名。

  (3)鍵入 Create Partition Scheme.sql,然后按 Enter。

  (4)鍵入下面的代碼。單擊執行。

  USE AdventureWorksDW

  
CREATE PARTITION SCHEME ps_OrderDateKey

  
AS PARTITION pf_OrderDateKey

  
TO (fg2001,fg2002,fg2003,fg2004)

  
GO

 

  注意:雖然分區函數中僅列出了兩個邊界,但卻有四個文件組在分區函數中列出。第四個文件組是作為供將來的文件組拆分使用的下一個文件組提供的。

  5.創建已分區表

  (1)在解決方案資源管理器中,右鍵單擊該連接,然后單擊新建查詢。

  (2)右鍵單擊 SQLQuery1.sql,然后單擊重命名。

  (3)鍵入 Create Table.sql,然后按 Enter。

  (4)鍵入下面的代碼。

  USE AdventureWorksDW

  
CREATE TABLE [dbo].[FactInternetSalesPartitioned]

  (

  
[InternetSalesID] [int] IDENTITY(1,1) NOT NULL,

  
[ProductKey] [int] NOT NULL,

  
[OrderDateKey] [int] NOT NULL,

  
[DueDateKey] [int] NOT NULL,

  
[ShipDateKey] [int] NOT NULL,

  
[CustomerKey] [int] NOT NULL,

  
[PromotionKey] [int] NOT NULL,

  
[CurrencyKey] [int] NOT NULL,

  
[SalesTerritoryKey] [int] NOT NULL,

  
[SalesOrderNumber] [nvarchar](20) NOT NULL,

  
[OrderQuantity] [smallint] NULL,

  
[UnitPrice] [money] NULL,

  
CONSTRAINT [PK_ FactInternetSalesPartitioned] PRIMARY KEY CLUSTERED

  (

  
[InternetSalesID],

  
[ProductKey],

  
[OrderDateKey],

  
[DueDateKey],

  
[ShipDateKey],

  
[CustomerKey],

  
[PromotionKey],

  
[CurrencyKey],

  
[SalesTerritoryKey]

  )

  )

  
ON ps_OrderDateKey(OrderDateKey)

  
GO

 

  (5)單擊執行。


  6.將數據插入已分區表中

  (1)在解決方案資源管理器中,右鍵單擊該連接,然后單擊新建查詢。

  (2)右鍵單擊 SQLQuery1.sql,然后單擊重命名。

  (3)鍵入 Load Data.sql,然后按 Enter。

  (4)鍵入下面的代碼。

  USE AdventureWorksDW

  
INSERT INTO [dbo].[FactInternetSalesPartitioned]

  (

  
[ProductKey],

  
[OrderDateKey],

  
[DueDateKey],

  
[ShipDateKey],

  
[CustomerKey],

  
[PromotionKey],

  
[CurrencyKey],

  
[SalesTerritoryKey],

  
[SalesOrderNumber],

  
[OrderQuantity],

  
[UnitPrice]

  )

  
SELECT

  
[ProductKey],

  
[OrderDateKey],

  
[DueDateKey],

  
[ShipDateKey],

  
[CustomerKey],

  
[PromotionKey],

  
[CurrencyKey],

  
[SalesTerritoryKey],

  
[SalesOrderNumber],

  
[OrderQuantity],

  
[UnitPrice]

  
FROM [dbo].[FactInternetSales]

  
GO

 

  (5)單擊執行。

  7.查看分區數據

  (1)在解決方案資源管理器中,右鍵單擊該連接,然后單擊新建查詢。

  (2)右鍵單擊 SQLQuery1.sql,然后單擊重命名。

  (3)鍵入 View Partitioned Data.sql,然后按 Enter。

  (4)鍵入下面的代碼。

  USE AdventureWorksDW

  SELECTProductKey,

  OrderDateKey,

  $PARTITION.pf_OrderDateKey (OrderDateKey)
AS PartitionNo

  
FROM FactInternetSalesPartitioned

  
GO

  
SELECT $PARTITION.pf_OrderDateKey (OrderDateKey) AS PartitionNo,

  
COUNT(*) AS Rows FROM FactInternetSalesPartitioned

  
GROUP BY $PARTITION.pf_OrderDateKey (OrderDateKey)

  
ORDER BY PartitionNo

  
GO

 

  (5)單擊執行。

  (6)待查詢完成后,查看結果。

  注意:第一個結果集顯示表中每行的產品密鑰和訂單日期密鑰以及存儲各行的相應分區。

  第二個結果集顯示各分區中的行數。

  (7)保持 SQL Server Management Studio 打開,下一個練習還要使用此程序。

關鍵字:服務器、SQL Server、數據庫

分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站