對SQL Server跨文件組的表進行分區

2020-11-28 IT168

  【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. 單擊執行。

相關焦點

  • 詳解SQL Server 2008滑動窗口的管理
    整個過程包含如下幾個步驟:  ·準備好即將用於存放舊數據的表  ·準備好存有新數據的表  ·更改分區方案,以便使用新的文件組  ·對分區函數進行更改,分裂出新的邊界點  注意:前4步均為影響到實際的分區表  ·切換進來新數據  ·將舊數據切換出去  注意:第5步和第6步的順序可以進行更改
  • 微軟 SQL Server 2016 SP1 發布
    現在,SQL Server 2016 Service Pack 1 (SP1) 發布了,官方正在進行關鍵改進,以便為跨 SQL Server 版本的開發人員和組織提供一致的可編程性體驗。以編程方式標識 LPIM 到 SQL 服務帳戶 - DMV sys.dm_os_sys_info 中的新 sql_memory_model、sql_memory_model_desc 列,允許
  • SQL Server跨伺服器操作資料庫?其實很簡單! - Excel教案
    今天給大家來分享一下跨伺服器操作資料庫,還是以SQL Server的管理工具(SSMS)為平臺進行操作。什麼是跨伺服器操作?跨伺服器操作就是可以在本地連接到遠程伺服器上的資料庫,可以在對方的資料庫上進行相關的資料庫操作,比如增刪改查。
  • 這個函數讓SQL效率提升99%
    窗口函數是整個SQL語句最後被執行的部分,這意味著窗口函數是在SQL查詢的結果集上進行的, 因此不會受到Group By, Having,Where子句的影響。開窗函數分別應用於每個分區,並為每個分區重新啟動計算。value_expression 指定對相應 FROM 子句生成的行集進行分區所依據的列。value_expression 只能引用通過 FROM 子句可用的列。value_expression 不能引用選擇列表中的表達式或別名。value_expression 可以是列表達式、標量子查詢、標量函數或用戶定義的變量。
  • SQL Server 首次登陸 Linux 平臺
    更多細節,見 SQL Server 官方:https://www.microsoft.com/en-us/sql-server/sql-server-2017參考:VentureBeta、SQL Server看完本文有收穫?
  • server sql 作業 使用專題及常見問題 - CSDN
    use masterGO/* --開啟sql server代理sp_configure 'show advanced options', 1; GO RECONFIGURE; GO sp_configure 'Agent XPs', 1; GO RECONFIGURE GO*/--定義創建作業
  • 最詳細的SQL注入相關的命令整理
    keyno=188 and 0<>db_name(n) n改成0,1,2,3……就可以跨庫了? https://www.xxxx.com/FullStory.asp?利用這項功能,我們可以先建一張臨時表,然後在表中一行一行地輸入一個ASP木馬,然後用BCP命令導出形成ASP文件。
  • SQL Server 2008 R2進行VS2010應用開發
    其中Schema Objects是我們在此演示案例中主要創建的對象,使用Schema Comparison可以對資料庫的Schema進行比較,常用來對同一個應用的不同版本Schema進行比較。  在此演示案例中,我們創建兩個數據表:Users和Products,並對SqlDacDemo項目進行編譯打包,為第三步部署DAC應用做好準備工作。
  • 大數據分析工程師入門9-Spark SQL
    >2)解析分區信息parquet文件中如果帶有分區信息,那麼SparkSQL會自動解析分區信息。比如,這樣一份人口數據按照gender和country進行分區存儲,目錄結構如下:test└── spark-sql └── test ├──gender=male │ │ │ ├── country=US │ │ └── data.parquet │ ├── country
  • SQL-server資料庫管理系統試卷及答案A
    6、視圖是從其它________________________或視圖導出的表。7、在關係模式 R 中,若屬性或屬性組 X 不是關係 R 的關鍵字,但 X 是其他關係模式的關鍵字,則稱 X 為關係 R 的___________。8、一個表中只能還有_______個聚集索引。
  • SQL Server 管理常用的SQL和T-SQL
    把一臺伺服器上的資料庫用戶登錄信息備份出來可以用add_login_to_aserver腳本 查看某資料庫下,對象級用戶權限 sp_helprotect 7.對鍵值DML操作十分頻繁的表我建議用非clustered索引和約束,fillfactor參數都用默認值。
  • PL/SQL中如何導出表結構和表數據
    在資料庫操作中,很多時候會發現資料庫不兼容,但原來的資料庫中又有很多數據,表結構也很複雜,這時候就會想到將這個表中的數據和表結構都移植到另一個資料庫中,在PL/SQL的工具欄中,可以進行資料庫表移植和數據轉移。
  • c使用sql server專題及常見問題 - CSDN
    為php添加 sqlsrv 擴展去微軟官網 https://www.microsoft.com/en-us/download/ 搜索php ,點擊 Microsoft Drivers for PHP for SQL Server 下載最新版的 sqlsrvXX.exe( 我下載的是SQLSRV32.EXE )運行解壓, 得到一堆DLL, 選取適合自己
  • SQL Server 2016新亮點全揭秘
    傳統的企業軟體公司Oracle在2015年10月的Oracle OpenWorld上發布了混合雲。那麼,微軟又將如何實施自己的混合雲呢?同時,存儲在Azure Cloud的數據可以和存儲在本地的數據進行無縫對接,就像在使用同一個數據源一樣。微軟還表示,放在Azure Cloud上的數據可以快速有效的進行災難恢復和備份。  Always Encrypted  什麼是Always Encrypted功能呢?它在SQL資料庫的Azure版本中首次出現。
  • 大數據分析工程師面試集錦3-SQL/SparkSql/HiveQL
    往文件櫃裡放資料時,並不是隨便將它們扔進某個抽屜就完事了,而是在文件櫃中創建文件,將相關的資料放入特定的文件中。在資料庫領域中,這種文件稱為表。是一種結構化的文件,可用來存放某種特定類型的數據。關於表的概念有以下注意事項:資料庫中的每個表都有一個名字來標識自己。這個名字是唯一的,即資料庫中沒有其他表具有相同的名字。
  • SQL Server2008中的9種數據挖掘算法淺析
    【IT168 技術文檔】  在sql server2008中提供了9種常用的數據挖掘算法,這些算法用在不同數據挖掘的應用場景下,下面我們就各個算法逐個分析討論。  1.決策樹算法  決策樹,又稱判定樹,是一種類似二叉樹或多叉樹的樹結構。
  • R+SQL Server的大數據管理
    在學習和使用R語言的過程中,在數據文件的選擇方面,由於csv文件在各大資料庫軟體以及統計分析軟體都有很好的兼容性,所以一直被廣泛地用作數據儲存傳輸
  • SQL server資料庫存儲過程測試方法
    問題  如何創建SQL資料庫以及表結構以用來保存測試用例的輸入數據和測試結果。  設計  編寫T-SQL腳本,創建一個資料庫然後創建一些表用來保存測試用例的輸入數據和測試結果。  方案  下面的腳本創建了一個叫dbTestCasesAndResults的資料庫,它包括一個用於存儲測試用例數據的表和一個勝於存儲測試結果的表,以及一個專用的SQL登錄帳號,這個帳號便於程序通過Windows認證或者SQL認證的方式連接資料庫。下面來看代碼。
  • SQL Server數據與Excel表的導入導出
    幾乎所有的資料庫管理者或者是與資料庫打過交道的朋友,幾乎都或多或少的了解並使用過數據導入導出的功能以便完成支持諸如數據合併、歸檔和分析等任務,以及開發應用程式或升級資料庫或伺服器,而這一切的便利都已經被SQL Server中的數據轉換服務(DTS)囊括其中,它提供了一套圖形化工具和可編程對象,以幫助管理員和開發人員和需要進行數據維護的人員解決數據移動問題,
  • SQL SERVER 2016圖文安裝詳解,附處理安裝中遇到的問題
    一般可能是下載的為ISO光碟鏡像文件。在Windows Server 2016作業系統和Windows 10的系統中可以使用滑鼠的右鍵點擊ISO文件,選擇「裝載」2.此時的ISO文件就會裝載為一個虛擬光碟,打開該虛擬光碟,點擊運行setup開始進行SQL SERVER 2016的安裝。