SQL Server系列軟體是Microsoft 公司推出的關係型資料庫管理系統。2014年4月16日於舊金山召開的一場發布會上,微軟CEO薩蒂亞·納德拉宣布正式推出“SQL Server 2014”。
SQL Server 2014版本提供了企業駕馭海量資料的關鍵技術in-memory增強技術,內建的In-Memory技術能夠整合雲端各種資料結構,其快速運算效能及高度資料壓縮技術,可以幫助客戶加速業務和向全新的套用環境進行切換。
同時提供與Microsoft Office連結的分析工具,通過與Excel和Power BI for Office 365的集成,SQL Server 2014提供讓業務人員可以自主將資料進行即時的決策分析的商業智慧型功能,輕鬆幫助企業員工運用熟悉的工具,把周遭的資訊轉換成環境智慧,將資源發揮更大的營運價值,進而提升企業產能和靈活度。
此外,SQL Server 2014還啟用了全新的混合雲解決方案,可以充分獲得來自雲計算的種種益處,比如雲備份和災難恢復。
基本介紹
- 軟體名稱:sql server 2014
- 開發商:微軟
- 軟體版本:2014
- 軟體語言:T-SQL
軟體介紹
發展歷程
功能優缺點
優勢功能
缺點局限
版本更新
Windows Azure 中的 SQL Server 數據檔案提供對作為 Windows Azure Blob 存儲的 SQL Server 資料庫檔案的本機支持。通過此功能,可以在本地或 Windows Azure 中虛擬機上運行的 SQL Server 中創建資料庫,而將數據存儲在 Windows Azure Blob 存儲中的專用存儲位置。
3.將 SQL Server 資料庫託管在 Windows Azure 虛擬機中
使用將 SQL Server 資料庫部署到 Windows Azure 虛擬機嚮導,可將資料庫從 SQL Server 實例託管到 Windows Azure 虛擬機中。
4.備份和還原增強功能
SQL Server 2014 包含針對 SQL Server 備份和還原的以下增強功能:
1) SQL Server 備份到 URL
SQL Server 備份到 URL 功能是在 SQL Server 2012 SP1 CU2 中引入的,只有 Transact-SQL、PowerShell 和 SMO 支持這一功能。
在 SQL Server 2014 中,可以使用 SQL Server Management Studio 來備份到 Windows Azure Blob 存儲服務或從中還原。“備份”任務和維護計畫都可使用該新選項。
2) SQL Server 託管備份到 Windows Azure
SQL Server 託管備份到 Windows Azure 是基於 SQL Server 備份到 URL 這一功能構建的服務,SQL Server 提供這種服務來管理和安排資料庫和日誌的備份。 在SQL SERVER 2014中,只支持備份到 Windows Azure 存儲。 SQL Server 託管備份到 Windows Azure可在資料庫和實例級別同時進行配置,從而既能實現在資料庫級別的精細控制,又能實現實例級別的自動化。 SQL Server 託管備份到 Windows Azure既可在本地運行的 SQL Server 實例上配置,也可在 Windows Azure 虛擬機上運行的 SQL Server 實例上配置。 建議對在 Windows Azure 虛擬機上運行的 SQL Server 實例使用此服務。
3) 備份加密
可以選擇在備份過程中對備份檔案進行加密。 目前支持的加密算法包括 AES 128、AES 192、AES 256 和 Triple DES。 要在備份過程中執行加密,必須使用證書或非對稱密鑰。
5.針對基數估計的新設計
稱作基數估計器的基數估計邏輯已在 SQL Server 2014 中重新設計,以便改進查詢計畫的質量,並因此改進查詢性能。 新的基數估計器納入在新型 OLTP 和數據倉庫工作負荷中表現優異的假設和算法。
6.延遲持續性
SQL Server 2014 將部分或所有事務指定為延遲持久事務,從而能夠縮短延遲。 延遲持久事務在事務日誌記錄寫入磁碟之前將控制權歸還給客戶端。 持續性可在資料庫級別、提交級別或原子塊級別進行控制。
7.AlwaysOn 增強功能
SQL Server 2014 包含針對 AlwaysOn 故障轉移群集實例和 AlwaysOn 可用性組的以下增強功能:
1) “添加 Azure 副本嚮導”簡化了用於 AlwaysOn 可用性組的混合解決方案創建。
2) 輔助副本的最大數目從 4 增加到 8。
3) 斷開與主副本的連線時,或者在缺少群集仲裁期間,可讀輔助副本現在保持可用於讀取工作負荷。
4) 故障轉移群集實例 (FCI) 現在可使用群集共享卷 (CSV) 作為群集共享磁碟。
5) 提供了一個新的系統函式 sys.fn_hadr_is_primary_replica 和一個新的 DMV sys.dm_io_cluster_valid_path_names。
6) 以下 DMV 已得到增強,現在返回 FCI 信息:sys.dm_hadr_cluster、sys.dm_hadr_cluster_members 和 sys.dm_hadr_cluster_networks。
8.分區切換和索引生成
SQL SERVER 2014可以重新生成已分區表的單獨分區。
9.管理在線上操作的鎖優先權
ONLINE = ON 選項現在包含 WAIT_AT_LOW_PRIORITY 選項,該選項允許您指定重新生成過程對於所需鎖應等待多長時間。 WAIT_AT_LOW_PRIORITY 選項還允許您配置與該重新生成語句相關的阻止過程的終止。在 sys.dm_tran_locks (Transact-SQL) 和 sys.dm_os_wait_stats (Transact-SQL) 中提供了與新的鎖狀態類型有關的故障排除信息。
10.列存儲索引
這些新功能可供列存儲索引使用:
1) 聚集列存儲索引
使用聚集列存儲索引可提高主要執行大容量載入和唯讀查詢的數據倉庫工作負荷的數據壓縮和查詢性能。 由於聚集列存儲索引是可更新的,因此工作負荷可執行許多插入、更新和刪除操作。
2) SHOWPLAN
SHOWPLAN 顯示有關列存儲索引的信息。 EstimatedExecutionMode 和 ActualExecutionMode 屬性具有兩個可能值:Batch 或 Row。 Storage 屬性具有兩個可能值:RowStore 和 ColumnStore。
3) 存檔的數據壓縮
ALTER INDEX … REBUILD 提供新的 COLUMNSTORE_ARCHIVE 數據壓縮選項,可進一步壓縮列存儲索引的指定分區。 這可用於存檔,或者用於要求更小數據存儲大小並且可以付出更多時間來進行存儲和檢索的其他情形。
11.緩衝池擴展
緩衝池擴展提供了固態硬碟 (SSD) 的無縫集成以作為資料庫引擎緩衝池的非易失性隨機存取記憶體 (NvRAM) 擴展,從而顯著提高 I/O 吞吐量。話說固態硬碟的價格真心有點貴。
12.增量統計信息
CREATE STATISTICS 和相關統計信息語句現在允許通過使用 INCREMENTAL 選項創建按分區的統計信息。
13.物理 IO 控制的資源調控器增強功能
通過資源調控器,您可以指定針對傳入應用程式請求可在資源池內使用的 CPU、物理 IO 和記憶體的使用量的限制。 在 SQL Server 2014 中,您可以使用新的 MIN_IOPS_PER_VOLUME 和 MAX_IOPS_PER_VOLUME 設定控制某一給定資源池向用戶執行緒發出的物理 IO 數。 有關詳細信息,請參閱資源調控器資源池和CREATE RESOURCE POOL (Transact-SQL)。
ALTER RESOURCE GOVENOR 的 MAX_OUTSTANDING_IO_PER_VOLUME 設定可設定每個磁碟卷的最大待定 I/O 運算元 (IOPS)。 可以使用此設定根據某一磁碟卷的 IO 特性調整 IO 資源控制,並且可用於在 SQL Server 實例邊界限制發出的 IO 數目。
14.Online Index Operation 事件類
針對在線上索引操作事件類的進度報告現在具有兩個新數據列:PartitionId 和 PartitionNumber。
15.資料庫兼容性級別
90 兼容性級別在 SQL Server 2014 中無效。
記憶體容量
容量規範
SQL Server資料庫引擎 對象 | 最大大小/數量 SQL Server(32 位) | 最大大小/數量 SQL Server(64 位) |
---|---|---|
批大小1 | 65,536 * 網路數據包大小 | 65,536 * 網路數據包大小 |
每個短字元串列的位元組數 | 8,000 | 8,000 |
每個 GROUP BY、ORDER BY 的位元組數 | 8,060 | 8,060 |
每個索引鍵的位元組數2 | 900 | 900 |
每個外鍵的位元組數 | 900 | 900 |
每個主鍵的位元組數 | 900 | 900 |
每行的位元組數8 | 8,060 | 8,060 |
記憶體最佳化表中的每行位元組數 9 | 不支持 | 8,060 |
存儲過程源文本中的位元組數 | 批處理大小中的較小者或 250 MB | 批處理大小中的較小者或 250 MB |
每個varchar(max)、varbinary(max)、xml、text或image列的位元組數 | 2^31-1 | 2^31-1 |
每個ntext或nvarchar(max)列的字元數 | 2^30-1 | 2^30-1 |
每個表的聚集索引數 | 1 | 1 |
GROUP BY、ORDER BY 中的列數 | 僅受位元組數限制 | 僅受位元組數限制 |
GROUP BY WITH CUBE 或 WITH ROLLUP 語句中的列數或表達式數目 | 10 | 10 |
每個索引鍵的列數7 | 16 | 16 |
每個外鍵的列數 | 16 | 16 |
每個主鍵的列數 | 16 | 16 |
每個非寬表的列數 | 1,024 | 1,024 |
每個寬表的列數 | 30,000 | 30,000 |
每個 SELECT 語句的列數 | 4,096 | 4,096 |
每個 INSERT 語句的列數 | 4096 | 4096 |
每個客戶端的連線個數 | 已配置連線的最大值 | 已配置連線的最大值 |
資料庫大小 | 524,272 TB | 524,272 TB |
每個 SQL Server 實例的資料庫數 | 32,767 | 32,767 |
每個資料庫的檔案組個數 | 32,767 | 32,767 |
每個資料庫的記憶體最佳化數據檔案組個數 | 不支持 | 1 |
每個資料庫的檔案個數 | 32,767 | 32,767 |
檔案大小(數據) | 16 TB | 16 TB |
檔案大小(日誌) | 2 TB | 2 TB |
每個資料庫的記憶體最佳化數據檔案個數 | 不支持 | 4.096 |
每個記憶體最佳化數據檔案的差異檔案 | 不支持 | 1 |
每個表的外鍵表引用數4 | 253 | 253 |
標識符長度(以字元計) | 128 | 128 |
每台計算機的實例數 | 所有 SQL Server 版本的獨立伺服器上為 50 個實例。 在使用共享群集磁碟作為您的群集安裝的存儲選項時,SQL Server 在故障轉移群集上支持 25 個實例。如果您為群集安裝選擇 SMB 檔案共享作為存儲選項,則在 SQL Server 故障轉移群集上支持 50 個實例。有關詳細信息,請參閱安裝 SQL Server 2014 的硬體和軟體要求。 | 獨立伺服器上為 50 個實例。 在使用共享群集磁碟作為您的群集安裝的存儲選項時,在故障轉移群集上支持 25 個實例。如果您為群集安裝選擇 SMB 檔案共享作為存儲選項,則 SQL Server 在故障轉移群集上支持 50 個實例。 |
每個記憶體最佳化表的索引個數 | 不支持 | 8 |
包含 SQL 語句的字元串的長度(批大小)1 | 65,536 * 網路數據包大小 | 65,536 * 網路數據包大小 |
每個連線的鎖數 | 每個伺服器的最大鎖數 | 每個伺服器的最大鎖數 |
每個 SQL Server 實例的鎖數5 | 最多 2,147,483,647 | 僅受記憶體限制 |
嵌套存儲過程級別數6 | 32 | 32 |
嵌套子查詢個數 | 32 | 32 |
嵌套觸發器層數 | 32 | 32 |
每個表的非聚集索引數 | 999 | 999 |
存在以下任意子句的情況下 GROUP BY 子句中的非重複表達式數目:CUBE、ROLLUP、GROUPING SETS、WITH CUBE、WITH ROLLUP | 32 | 32 |
GROUP BY 子句中的運算符生成的分組集數目 | 4,096 | 4,096 |
每個存儲過程的參數個數 | 2,100 | 2,100 |
每個用戶定義函式的參數個數 | 2,100 | 2,100 |
每個數據表的 REFERENCE 個數 | 253 | 253 |
每個數據表的行數 | 受可用存儲空間限制 | 受可用存儲空間限制 |
每個資料庫的表數3 | 受資料庫中對象數限制 | 受資料庫中對象數限制 |
每個分區表或索引的分區數 | 1,000Important:在 32 位系統上可以創建具有超過 1,000 個分區的表或索引,但不支持這樣做。 | 15,000 |
非索引列的統計信息條數 | 30,000 | 30,000 |
每個 SELECT 語句的表個數 | 僅受可用資源限制 | 僅受可用資源限制 |
每個表的觸發器個數3 | 受資料庫中對象數限制 | 受資料庫中對象數限制 |
每個 UPDATE 語句(寬表)的列數 | 4096 | 4096 |
用戶連線 | 32,767 | 32,767 |
XML 索引 | 249 | 249 |
- 網路數據包大小指的是用於在應用程式和關係資料庫引擎之間進行通信的表格格式數據流 (TDS) 數據包的大小。 默認的數據包大小為 4 KB,由 network packet size 配置選項控制。
- 在 SQL Server 中,任何索引鍵的最大位元組數不能超過 900。 可以使用最大大小合計超過 900 的可變長度列定義鍵,前提是這些列中所插入行的數據都不超過 900 位元組。 在 SQL Server 中,可將非鍵列包含於非聚集索引中以避免最大索引鍵大小 900 位元組的限制。
- 資料庫對象包括諸如表、視圖、存儲過程、用戶定義函式、觸發器、規則、默認值和約束等對象。 資料庫中所有對象的數量總和不能超過 2,147,483,647。
- 儘管表可以包含無限數量的 FOREIGN KEY 約束,但建議最大數量取為 253。 根據承載 SQL Server 的硬體配置,指定額外的 FOREIGN KEY 約束對查詢最佳化器的處理而言可能開銷很大。
- 此值針對靜態鎖分配。 動態鎖僅受記憶體限制。
- 如果存儲過程訪問的資料庫多於 64 個,或者交替訪問的資料庫多於 2 個,將收到錯誤信息。
- 如果表包含一個或多個 XML 索引,由於 XML 列被添加到主 XML 索引的聚集鍵,用戶表的聚集鍵被限制為 15 列。 在 SQL Server 中,可在非聚集索引中包括非鍵列以避免最多為 16 個鍵列的限制。 有關詳細信息,請參閱創建帶有包含列的索引。
- SQL Server 支持行溢出存儲,行溢出存儲使長度可變的列可以被推送到行外。 只有 24 位元組的根存儲在推送出行外的可變長度列的主記錄中;因此,此版本中的有效行限制高於 SQL Server 早期版本中的有效行限制。 有關詳細信息,請參閱 SQL Server 在線上叢書中的“行溢出數據超過 8 KB”這一主題。
- SQL Server 記憶體中 OLTP 不支持行溢出存儲。 可變長度列不會推送到行外。 這將您可在記憶體最佳化表中指定的可變長度列的最大寬度限制為最大行大小。
SQL Server 實用工具對象 | 最大大小/數量 SQL Server(32 位) | 最大大小/數量 SQL Server(64 位) |
---|---|---|
每個 SQL Server 實用工具的計算機數(物理計算機或虛擬計算機) | 100 | 100 |
每台計算機的 SQL Server 實例數 | 5 | 5 |
每個 SQL Server 實用工具的 SQL Server 實例總數 | 2001 | 2001 |
每個 SQL Server 實例的用戶資料庫數(包括數據層應用程式) | 50 | 50 |
每個 SQL Server 實用工具的用戶資料庫總數 | 1,000 | 1,000 |
每個資料庫的檔案組數 | 1 | 1 |
每個檔案組的數據檔案數 | 1 | 1 |
每個資料庫的日誌檔案數 | 1 | 1 |
每台計算機的卷數 | 3 | 3 |
SQL Server DAC 對象 | 最大大小/數量 SQL Server(32 位) | 最大大小/數量 SQL Server(64 位) |
---|---|---|
每個 DAC 的資料庫數 | 1 | 1 |
每個 DAC 的對象數1 | 受資料庫中對象數或可用記憶體限制。 | 受資料庫中對象數或可用記憶體限制。 |
SQL Server 複製對象 | 最大大小/數量 - SQL Server(32 位) | 最大大小/數量 - SQL Server(64 位) |
---|---|---|
項目(合併發布) | 256 | 256 |
項目(快照發布或事務發布) | 32,767 | 32,767 |
表中的列1(合併發布) | 246 | 246 |
表中的列數2(SQL Server 快照發布或事務發布) | 1,000 | 1,000 |
表中的列2(Oracle 快照發布或事務發布) | 995 | 995 |
行篩選器中使用的列的位元組數(合併發布) | 1,024 | 1,024 |
行篩選器中使用的列的位元組數(快照發布或事務發布) | 8,000 | 8,000 |