sqlserver2016新功能
SQL Server 2016中的新功能(數據庫引擎)
2017年1月13日 23分鐘閱讀時長 作者本主題適用於: SQL Server(從2016開始)
Azure SQL數據庫
Azure SQL數據倉庫
並行數據倉庫
本主題總結了SQL Server數據庫引擎的SQL Server 2017版本中引入的增強功能。 新功能和增強功能增強了設計,開發和維護數據存儲系統的架構師,開發人員和管理員的功能和生產力。
要查看其他SQL Server組件中的新功能 ,請參閱SQL Server 2016中的新增功能 。
註意
SQL Server 2016是一個64位應用程序。 盡管有些元素作為32位組件運行,但32位安裝已停止。
試試看
-
要下載SQL Server 2016,請訪問評估中心
。
-
有一個Azure帳戶? 然後去這裏啟動一個已經安裝了SQL Server 2017的虛擬機。
有關當前的發行說明,請參閱SQL Server 2016發行說明 。
SQL Server 2016 Service Pack 1(SP1)
CREATE OR ALTER <object>
語法現在可用於過程 , 視圖 , 函數和觸發器 。- 添加了一個更通用的查詢提示模型的支持:
OPTION (USE HINT(‘<hint1>‘, ‘<hint2>‘))
。 有關更多信息,請參閱查詢提示(Transact-SQL) 。 - sys.dm_exec_valid_use_hints DMV被添加到列表提示。
- 添加sys.dm_exec_query_statistics_xml DMV以返回showplan XML transient statistics。
- sys.dm_db_incremental_stats_properties DMV被添加到指定表的增量統計信息中。
- 將
instant_file_initialization_enabled
列添加到sys.dm_server_services 。 - 將
estimated_read_row_count
列添加到sys.dm_exec_query_profiles中 。 - 將
sql_memory_model
和sql_memory_model_desc
列添加到sys.dm_os_sys_info中,以提供有關內存頁鎖定模型的信息。 - 支持一些功能的版本已經擴展。 這包括向所有版本添加行級安全性,始終加密,動態數據屏蔽,數據庫審核,內存中OLTP和其他一些功能。有關詳細信息,請參閱SQL Server 2016的版本和支持的功能 。
- 當重新定義使用Always On加密的對象時, sp_refresh_parameter_encryption允許Always On加密來更新元數據。
SQL Server 2016 RTM
本節包含以下小節:
- Columnstore索引
- 數據庫作用域配置
- 內存中OLTP
- 查詢優化器
- 實時查詢統計
- 查詢商店
- 時間表
- 條紋備份到Microsoft Azure Blob存儲
- 文件快照備份到Microsoft Azure Blob存儲
- 托管備份
- TempDB數據庫
- 內置JSON支持
- 多堿
- 拉伸數據庫
- 支持UTF-8
- 新的默認數據庫大小和自動增長值
- Transact-SQL增強
- 系統視圖增強功能
- 安全性增強
- 高可用性增強功能
- 復制增強功能
- 工具增強功能
Columnstore索引
此版本提供了對列存儲索引的改進,包括可更新的非聚集列存儲索引,內存中表中的列存儲索引以及更多用於操作分析的新功能。
-
只讀非聚簇的列存儲庫索引在升級後可更新。 不需要重建索引,使其可更新。
-
對列存儲器索引的分析查詢性能進行了改進,特別是對於聚合和字符串謂詞。
-
DMV和XEvents具有可支持性的改進。
有關更多詳細信息,請參閱聯機叢書的“列存儲索引”指南部分中的這些主題:
-
Columnstore索引版本功能摘要 - 包括新功能。
-
Columnstore索引數據加載
-
Columnstore索引查詢性能
-
開始使用Columnstore進行實時操作分析
-
數據倉庫的Columnstore索引
-
Columnstore索引碎片整理
數據庫作用域配置
新的ALTER DATABASE SCOPED CONFIGURATION(Transact-SQL)語句可以控制特定數據庫的某些配置。 配置設置影響應用程序行為。
新的語句可用於SQL Server 2016和SQL數據庫。
內存中OLTP
存儲格式更改
內存優化表的存儲格式在SQL Server 2014和2016之間更改。要從SQL Server 2014進行升級和附加/還原,新的存儲格式將被序列化,數據庫在數據庫恢復期間重新啟動一次。
- 升級到SQL Server 2016
ALTER TABLE是日誌優化的,並行運行
現在當您在內存優化的表上執行ALTER TABLE語句時,只會將元數據更改寫入日誌。 這大大減少了日誌IO。 此外,大多數ALTER TABLE方案現在並行運行,這可以大大縮短語句的持續時間。
- 對於非並行異常(包括LOB),請參閱更改內存優化表 。
統計
內存優化表的統計信息現在會自動更新。 此外,抽樣現在是收集統計數據的支持方法,允許您避免更昂貴的全掃描方法。
並行和堆掃描內存優化的表
內存優化表和內存優化表上的索引現在支持並行掃描。 這提高了分析查詢的性能。
此外,還支持堆掃描,可以並行執行。 在內存優化表的情況下,堆掃描是指使用用於存儲行的內存堆數據結構掃描表中的所有行。 對於全表掃描,堆掃描比使用索引更有效。
內存優化表的Transact-SQL改進
SQL Server 2014中的內存優化表不支持多個Transact-SQL元素,SQL Server 2016中現在支持這些元素:
-
支持UNIQUE約束和索引。
-
支持內存優化表之間的FOREIGN KEY引用。
- 這些外鍵只能引用主鍵,不能引用唯一鍵。
-
支持CHECK約束。
-
非唯一索引可以在其鍵中允許NULL值。
-
內存優化表支持TRIGGER。
- 只支持AFTER觸發器。 不支持INSTEADOF觸發器。
- 內存優化表上的任何觸發器必須使用WITH NATIVE_COMPILATION。
-
完全支持所有SQL Server代碼頁和與內存優化表和本地編譯的T-SQL模塊中的索引和其他工件的歸類。
-
支持更改內存優化表 :
- ADD和DROP索引。 更改bucket_count的哈希索引。
- 進行模式更改:ad??d / drop / alter columns; 添加/刪除約束。
-
內存優化表現在可以具有多個列,其組合長度大於8060字節頁面的長度。 一個例子是一個具有
nvarchar(4000)
類型的三列的表。 在這樣的示例中,一些列現在存儲在行外。 您的查詢完全不知道列是在行還是離線。 -
內存優化表中現在支持LOB(大對象)類型
varbinary(max)
,nvarchar(max)
和varchar(max)
。
有關整體信息,請參閱:
- 內存中OLTP不支持的Transact-SQL構造
- 不支持內存OLTP的SQL Server功能
用於本機編譯的模塊的Transact-SQL改進
SQL Server 2014中的本機編譯模塊不支持某些Transact-SQL元素,現在SQL Server 2016中支持這些元素:
-
查詢結構:
- UNION和UNION ALL
- SELECT DISTINCT
- 外加
- SELECT中的子查詢
-
INSERT,UPDATE和DELETE語句現在可以包含OUTPUT子句 。
-
現在,LOB可以在本地proc中以下列方式使用:
- 變量聲明
- 輸入參數。
- 參數傳入字符串函數,如本地進程中的LTrim或Substring。
-
現在可以本地編譯內聯(意思是單個語句)表值函數(TVFs)。
-
標量用戶定義函數(UDF)現在可以被本地編譯。
-
增加對本機proc的支持:
- 內置安全功能 。
- 內置數學功能 。
- 內置功能
@@SPID
。
-
EXECUTE AS CALLER現在支持,這意味著在創建本機編譯的T-SQL模塊時,不再需要EXECUTE AS子句。
有關整體信息,請參閱:
- 支持的本機編譯的T-SQL模塊的功能
- 改變本機編譯的T-SQL模塊
性能和縮放改進
-
數據大小不再有任何限制。 請參見內存優化表的估計內存要求 。
-
現在有多個並發線程負責將內存優化表的更改持續到磁盤 。
-
使用解釋的Transact-SQL訪問內存優化表的並行計劃支持。
SQL Server Management Studio中的增強功能
-
確定表或存儲過程是否應移植到內存中OLTP不再需要數據收集器或管理數據倉庫的配置。 該報告現在可以直接在生產數據庫上運行。
-
PowerShell Cmdlet for Migration評估用於評估SQL Server數據庫中多個對象的遷移適應性。
-
通過右鍵單擊數據庫並選擇“任務”>“生成內存OLTP遷移清單”來生成遷移檢查列表。
跨功能支持
-
支持使用內存OLTP進行臨時系統版本控制。 有關詳細信息,請參閱具有內存優化表的系統版本的時間表
-
查詢存儲支持In-Memory OLTP工作負載的本機編譯代碼。 有關詳細信息,請參閱將查詢存儲與內存中OLTP一起使用 。
-
內存優化表中的行級安全性
-
使用多個活動結果集(MARS)連接現在可以訪問內存優化的表和本地編譯的存儲過程。
-
透明數據加密(TDE)支持。 如果將數據庫配置為ENCRYPTION,則內存優化文件組中的文件現在也將被加密。
有關更多信息,請參閱內存中OLTP(內存優化) 。
查詢優化器
兼容級保證
將數據庫升級到SQL Server 2016時,如果您仍然處於使用的較舊兼容性級別(例如120或110),則不會看到計劃更改。 與查詢優化器相關的新功能和改進僅在最新兼容性級別下可用。
跟蹤標誌4199
通常,您不需要在SQL Server 2016中使用跟蹤標誌4199,因為大多數由此跟蹤標誌控制的查詢優化器行為在SQL Server 2016的最新兼容級別(130)下無條件啟用。
新引用完整性運算符
一個表最多可以引用253個其他表和列作為外鍵(外引參考)。 SQL Server 2016增加了可以引用單個表(引用引用)中的列的其他表和列的數量的限制,從253到10,000。 有關限制,請參閱創建外鍵關系 。 引入了新的參照完整性算子(在兼容性級別130下),其執行參考完整性檢查。 這可以提高UPDATE和DELETE操作的整體性能,對於具有大量入站引用的表,從而使得可以有大量的引用引用。 有關更多信息,請參閱SQL Server 2016中的查詢優化程序添加
抽樣統計的並行更新
數據抽樣構建統計數據現在是並行完成(在兼容級別130下),以提高統計數據收集的性能。 有關詳細信息,請參閱更新統計信息
統計更新的亞線閾值
統計數據的自動更新現在對大型表格(在兼容級別130)下更具侵略性。 觸發自動更新統計信息的閾值是20%,從SQL Server 2016開始,對於較大的表,該閾值將隨著表中行數的增加而開始下降(仍然是百分比)。 您將不再需要設置跟蹤標誌2371來降低閾值。
其他增強功能
Insert-select語句中的插入是多線程的,或者可以具有並行計劃(在兼容級別130下)。 要獲得並行計劃,INSERT ... SELECT語句必須使用TABLOCK提示。 有關詳細信息,請參閱並行插入選擇
實時查詢統計
Management Studio提供查看活動查詢的實時執行計劃的功能。 該實時查詢計劃提供了對查詢執行過程的實時洞察,因為控件從一個查詢計劃運算符流向另一個查詢計劃運算符。 有關詳細信息,請參閱實時查詢統計信息
查詢商店
查詢存儲是一種新功能,可以為DBA提供有關查詢計劃選擇和性能的洞察。 通過使您能夠快速查找由查詢計劃中的更改引起的性能差異,從而簡化了性能故障排除。 該功能會自動捕獲查詢,計劃和運行時統計信息的歷史記錄,並保留這些記錄供您查看。 它按照時間窗口分隔數據,允許您查看數據庫使用模式,並了解查詢計劃更改發生在服務器上的時間。 查詢存儲庫通過使用Management Studio對話框提供信息,並允許您強制查詢到所選查詢計劃之一。 有關詳細信息,請參閱使用查詢存儲監視性能 。
時間表
SQL Server 2016現在支持系統版本的時間表。 時間表是一種新類型的表,可在任何時間點提供關於存儲事實的正確信息。 每個時間表實際上由兩個表組成,一個用於當前數據,一個用於歷史數據。 系統確保當數據與當前數據更改時,以前的值存儲在歷史表中。 提供查詢結構以隱藏用戶的復雜性。 有關更多信息,請參閱時間表 。
條紋備份到Microsoft Azure Blob存儲
在SQL Server 2016中,使用Microsoft Azure Blob存儲服務將SQL Server備份到URL現在支持使用塊blob進行條帶化備份集,以支持12.8 TB的最大備份大小。 例如,參見代碼示例 。
文件快照備份到Microsoft Azure Blob存儲
在SQL Server 2016中,SQL Server備份到URL現在支持使用Azure快照來備份使用Microsoft Azure Blob存儲服務存儲所有數據庫文件的數據庫。 有關更多信息,請參閱Azure中的數據庫文件的文件快照備份 。
托管備份
在SQL Server 2016中,SQL Server管理備份到Microsoft Azure使用新的塊blob存儲來備份文件。 受管備份還有一些變化和增強。
-
支持自動和自定義的備份調度。
-
支持系統數據庫的備份。
-
支持使用簡單恢復模式的數據庫。
有關更多信息,請參閱SQL Server托管備份到Microsoft Azure
註意
對於SQL Server 2016,這些新的托管備份功能在SQL Server Management Studio中尚未具有相應的UI支持。
TempDB數據庫
TempDB有幾項增強功能:
-
tempdb不再需要跟蹤標誌1117和1118。 如果有多個tempdb數據庫文件,所有文件將根據增長設置同時增長。 另外,tempdb中的所有分配都將使用統一的區域。
-
默認情況下,安裝程序會添加與CPU計數相同數量的tempdb文件,或者增加8位(以較低者為準)。
-
在安裝過程中,您可以使用SQL Server安裝向導的數據庫引擎配置 - TempDB部分中的新UI輸入控件配置tempdb數據庫文件的數量,初始大小,自動增長和目錄布局。
-
默認的初始大小為8MB,默認的自動增長為64MB。
-
您可以為tempdb數據庫文件指定多個卷。 如果指定了多個目錄,則tempdb數據文件將以循環方式傳播到目錄中。
內置JSON支持
SQL Server 2016為導入和導出JSON以及使用JSON字符串添加內置支持。 這個內置的支持包括以下語句和功能。
-
通過將FOR JSON子句添加到SELECT語句,將查詢結果格式化為JSON或導出JSON。 例如,使用FOR JSON子句將客戶端應用程序的JSON輸出格式委托給SQL Server。 有關更多信息,請參閱使用FOR JSON(SQL Server)將查詢結果格式化為JSON 。
-
通過調用OPENJSON行集提供程序函數將JSON數據轉換為行和列,或導入JSON。 使用OPENJSON將JSON數據導入SQL Server,或將JSON數據轉換為目前無法直接使用JSON的應用程序或服務的行和列。 有關更多信息,請參閱使用OPENJSON(SQL Server)將JSON數據轉換為行和列 。
-
ISJSON函數測試字符串是否包含有效的JSON。 有關更多信息,請參閱ISJSON(Transact-SQL)
-
JSON_VALUE函數從JSON 字符串中提取標量值。有關詳細信息,請參閱JSON_VALUE(Transact-SQL) 。
-
JSON_QUERY函數從JSON字符串中提取對象或數組。 有關更多信息,請參閱JSON_QUERY(Transact-SQL) 。
-
JSON_MODIFY函數更新JSON字符串中的屬性值,並返回更新的JSON字符串。 有關更多信息,請參閱JSON_MODIFY(Transact-SQL) 。
多堿
PolyBase允許您使用T-SQL語句訪問存儲在Hadoop或Azure Blob Storage中的數據,並以自定義方式進行查詢。 它還允許您查詢半結構化數據,並將結果與??存儲在SQL Server中的關系數據集相加。 PolyBase針對數據倉庫工作負載進行了優化,旨在用於分析查詢方案。
有關更多信息,請參閱PolyBase Guide 。
拉伸數據庫
Stretch數據庫是SQL Server 2016中的一項新功能,可將您的歷史數據透明而安全地遷移到Microsoft Azure雲端。 無論是內部還是擴展到雲,您都可以無縫地訪問SQL Server數據。 您設置確定數據存儲位置的策略,SQL Server將在後臺處理數據移動。 整個表格總是在線和可查詢的。 而且,Stretch數據庫不需要對現有查詢或應用程序進行任何更改 - 數據的位置對於應用程序是完全透明的。 有關更多信息,請參閱彈力數據庫 。
支持UTF-8
bcp實用程序 , BULK INSERT和OPENROWSET現在支持UTF-8代碼頁。 有關詳細信息,請參閱這些主題和創建格式文件(SQL Server) 。
新的默認數據庫大小和自動增長值
模型數據庫的新值和新數據庫的默認值(基於模型)。 數據和日誌文件的初始大小現在是8 MB。 數據和日誌文件的默認自動增長現在是64MB。
Transact-SQL增強
許多增強功能支持本主題其他部分中描述的功能。 以下附加增強功能可用。
- TRUNCATE TABLE語句現在允許截斷指定的分區。 有關更多信息,請參閱TRUNCATE TABLE(Transact-SQL) 。
- ALTER TABLE(Transact-SQL)現在允許在表保持可用時執行許多alter column操作。
- 全文索引DMV sys.dm_fts_index_keywords_position_by_document(Transact-SQL)返回文檔中關鍵字的位置。 此DMV也已添加到SQL Server 2012 SP2和SQL Server 2014 SP1。
- 一個新的查詢提示NO_PERFORMANCE_SPOOL可以阻止一個線軸運算符被添加到查詢計劃。 當許多並發查詢使用假脫機操作運行時,這可以提高性能。 有關更多信息,請參閱查詢提示(Transact-SQL) 。
- FORMATMESSAGE(Transact-SQL)語句被強化以接受msg_string參數.NONCLUSTERED索引的最大索引鍵大小已增加到1700字節。
- 添加了與AGGREGATE,ASSEMBLY,COLUMN,CONSTRAINT,DATABASE,DEFAULT,FUNCTION,INDEX,PROCEDURE,ROLE,RULE,SCHEMA,SECURITY POLICY,SEQUENCE,SYNONYM,TABLE,TRIGGER,TYPE,USER,和VIEW。 查看語法的各個語法主題。
- DBCC CHECKTABLE(Transact-SQL) , DBCC CHECKDB(Transact-SQL)和DBCC CHECKFILEGROUP(Transact-SQL)已添加MAXDOP選項以指定並行度。
- 現在可以設置SESSION_CONTEXT。 包括SESSION_CONTEXT(Transact-SQL)函數, CURRENT_TRANSACTION_ID(Transact-SQL)函數和sp_set_session_context(Transact-SQL)過程。
- 高級分析擴展允許用戶執行以支持語言(如R)編寫的腳本。Transact-SQL通過引入sp_execute_external_script(Transact-SQL)存儲過程以及外部腳本啟用的服務器配置選項來支持R。 有關更多信息,請參閱SQL Server R服務 。
- 也支持R,創建一個外部資源池的能力。 有關更多信息,請參閱CREATE EXTERNAL RESOURCE POOL(Transact-SQL) 。 新的目錄視圖和DMV( sys.resource_governor_external_resource_pools(Transact-SQL)和sys.dm_resource_governor_external_resource_pool_affinity(Transact-SQL) )。 sp_execute_external_script(Transact-SQL)和CREATE WORKLOAD GROUP(Transact-SQL)可以使用其他參數。 附加的列添加到一些現有的資源調控器目錄視圖和DMV中。
- 使用ALLOW_ENCRYPTED_VALUE_MODIFICATIONS選項來增強CREATE USER語法,以支持始終加密的功能。 有關更多信息,請參閱遷移始終加密保護的敏感數據 。
- COMPRESS(Transact-SQL)和DECOMPRESS(Transact-SQL)函數將值轉換為GZIP算法和/或從GZIP算法中轉換。
- 添加DATEDIFF_BIG(Transact-SQL)和AT TIME ZONE(Transact-SQL)函數和sys.time_zone_info(Transact-SQL)視圖來支持日期和時間交互。
- 現在可以在數據庫級創建憑證(除先前可用的服務器級憑據外)。 有關更多信息,請參閱CREATE DATABASE SCOPED CREDENTIAL(Transact-SQL) 。
- 向SERVERPROPERTY(Transact-SQL)添加了八個新屬性:InstanceDefaultDataPath,InstanceDefaultLogPath,ProductBuild,ProductBuildType,ProductMajorVersion,ProductMinorVersion,ProductUpdateLevel和ProductUpdateReference。
- 刪除了HASHBYTES(Transact-SQL)函數的8,000字節的輸入長度限制。
- 將添加新的字符串函數STRING_SPLIT(Transact-SQL)和STRING_ESCAPE(Transact-SQL) 。
- 自動增長選項:跟蹤標誌1117由ALTER DATABASE的AUTOGROW_SINGLE_FILE和AUTOGROW_ALL_FILES選項替換,跟蹤標誌1117不受影響。有關更多信息,請參閱ALTER DATABASE文件和文件組選項(Transact-SQL)和sys.filegroups(Transact-SQL)的新的is_autogrow_all_files列。
- 混合區域的分配:對於用戶數據庫,對象的前8頁的默認分配將從使用混合頁面區段到使用統一區域進行更改。 跟蹤標誌1118被替換為ALTER DATABASE的SET MIXED_PAGE_ALLOCATION選項,跟蹤標誌1118沒有影響。 有關詳細信息,請參閱ALTER DATABASE SET選項(Transact-SQL)和sys.databases(Transact-SQL)的新的
is_mixed_page_allocation_on
列。
系統視圖增強功能
- 兩個新視圖支持行級安全性。 有關更多信息,請參閱sys.security_predicates(Transact-SQL)和sys.security_policies(Transact-SQL) 。
- 七個新視圖支持查詢存儲功能。 有關詳細信息,請參閱查詢存儲目錄視圖(Transact-SQL) 。
- sys.dm_exec_query_stats(Transact-SQL)中添加了24個新列,提供有關內存授予的信息。
- 添加兩個新的查詢提示(MIN_GRANT_PERCENT和MAX_GRANT_PERCENT)來指定內存授予。 請參閱查詢提示(Transact-SQL) 。
- sys.dm_exec_session_wait_stats(Transact-SQL)提供類似於服務器端sys.dm_os_wait_stats(Transact-SQL)的每個會話報告。
- sys.dm_exec_function_stats(Transact-SQL)提供有關標量值函數的執行統計信息。
- 從SQL Server 2016開始, sys.dm_db_index_usage_stats(Transact-SQL)中的條目將保留為SQL Server 2008 R2之前的條目。
- 關於提交到SQL Server實例的語句的信息可以由新的動態管理函數sys.dm_exec_input_buffer(Transact-SQL)返回 。
- 兩個新視圖支持SQL Server R服務 : sys.dm_external_script_requests和sys.dm_external_script_execution_stats 。
安全性增強
行級安全性
行級安全性引入基於謂詞的訪問控制。 它具有靈活,集中的基於謂詞的評估,可以考慮元數據(如標簽)或管理員適當確定的任何其他條件。 該謂詞用作判斷用戶是否根據用戶屬性對數據進行適當訪問的標準。 基於標簽的訪問控制可以通過使用基於謂詞的訪問控制來實現。 有關更多信息,請參閱行級安全性 。
一律加密
通過始終加密,SQL Server可以對加密數據執行操作,最重要的是加密密鑰與客戶的信任環境中的應用程序不在服務器上。 始終加密保護客戶數據,使DBA無法訪問純文本數據。 數據的加密和解密在驅動程序級別上透明地發生,最小化必須對現有應用程序進行的更改。 有關詳細信息,請參閱始終加密(數據庫引擎) 。
動態數據屏蔽
動態數據屏蔽通過將敏感數據曝光屏蔽到非特權用戶來限制。 動態數據屏蔽有助於防止未經授權的訪問敏感數據,使客戶能夠以最小的影響來指定要顯示的敏感數據的數量。 這是一種基於策略的安全功能,可以在查詢的結果集中隱藏指定數據庫字段的敏感數據,而數據庫中的數據不會更改。有關詳細信息,請參閱動態數據屏蔽 。
新權限
- ALTER ANY SECURITY POLICY權限是執行行級安全性的一部分。
- ALTER ANY MASK和UNMASK權限作為實施動態數據屏蔽的一部分可用。
- ALTER任何列加密密鑰 , 查看任何列加密密鑰 , 任何列的主密鑰定義 ,以及查看任何列的主密鑰定義權限作為始終加密特征的實施的一部分。
- ALTER ANY EXTERNAL DATA SOURCE和ALTER ANY EXTERNAL FILE FORMAT權限在SQL Server 2016中可見,但僅適用於Google Analytics(分析)平臺系統(SQL數據倉庫)。
- EXECUTE ANY EXTERNAL SCRIPT權限作為R腳本支持的一部分可用。
- ALTER ANY DATABASE SCOPED CONFIGURATION權限可用於授權使用ALTER DATABASE SCOPED CONFIGURATION(Transact-SQL)語句。
透明數據加密
- 透明數據加密功能得到了加強,支持英特爾AES-NI硬件加密加密。 這將減少打開透明數據加密的CPU開銷。
端點AES加密
- 端點的默認加密從RC4更改為AES。
新證書類型
- 現在可以在數據庫級創建憑證(除先前可用的服務器級憑據外)。 有關更多信息,請參閱CREATE DATABASE SCOPED CREDENTIAL(Transact-SQL) 。
高可用性增強功能
SQL Server 2016標準版現在支持始終基本可用性組。 基本可用性組提供對主副本和輔助副本的支持。 此功能可替代過時的數據庫鏡像技術,實現高可用性。 有關基本和高級可用性組之間差異的更多信息,請參閱基本可用性組(始終在可用性組上) 。
現在,在一組只讀副本中支持讀取意圖連接請求的負載平衡。 以前的行為總是將連接指向路由列表中的第一個可用的只讀副本。 有關詳細信息,請參閱在只讀副本之間配置負載平衡 。
支持自動故障切換的副本數量已由2個增加到3個。
“始終故障轉移群集”現在支持組管理服務帳戶。 有關詳細信息,請參閱組管理服務帳戶 。 對於Windows Server 2012 R2,需要進行更新以避免密碼更改後的臨時停機時間。 要獲取更新,請參閱基於gMSA的服務在Windows Server 2012 R2域中的密碼更改後無法登錄 。
始終在可用性組上支持分布式事務和Windows Server 2016上的DTC。有關詳細信息,請參閱支持分布式事務 。
當數據庫脫機時,現在可以配置始終在可用性組中進行故障轉移。 此更改需要在CREATE AVAILABILITY GROUP(Transact-SQL)或ALTER AVAILABILITY GROUP(Transact-SQL)語句中將DB_FAILOVER選項設置為ON 。
Always On現在支持加密數據庫。 當您創建新的可用性組或向現有的可用性組添加數據庫或添加副本時,可用性組向導將提示您輸入包含數據庫主密鑰的任何數據庫的密碼。
兩個單獨的Windows Server故障轉移群集(WSFC)中的兩個可用性組現在可以組合成分布式可用性組。 有關詳細信息,請參閱分布式可用性組(始終在可用性組上) 。
直接播種允許將輔助副本通過網絡自動播種(而不是手動播種,需要在輔助節點上恢復目標數據庫的物理備份)。 通過在CREATE AVAILABILITY GROUP(Transact-SQL)或ALTER AVAILABILITY GROUP(Transact-SQL)語句中設置SEEDING_MODE = AUTOMATIC來指定直播。 您還必須在與直接播種一起使用的每個輔助副本上為ALTER AVAILABILITY GROUP(Transact-SQL)指定GRANT CREATE ANY DATABASE 。
性能改進 - 可用性組的同步吞吐量通過主副本上的日誌塊的並行和更快的壓縮,優化的同步協議以及輔助副本上的並行解壓縮和重做日誌記錄而增加了約10倍。 這增加了可讀副本的新鮮度,並在故障轉移的情況下減少了數據庫恢復時間。 請註意,在SQL Server 2016中,針對內存優化的表的重做並不平行。
復制增強功能
- 現在支持復制內存優化表。 有關詳細信息,請參閱復制到內存優化表訂閱服務器 。
- Azure SQL數據庫現在支持復制。 有關更多信息,請參閱復制到SQL數據庫 。
工具增強功能
管理工作室
下載最新的SQL Server Management Studio(SSMS)
- SQL Server Management Studio支持正在開發的用於連接到Microsoft Azure的Active Directory認證庫(ADAL)。 這將替代SQL Server 2014 Management Studio中使用的基於證書的身份驗證。
- SQL Server Management Studio安裝需要安裝.NET 4.6作為先決條件。 .NET 4.6將安裝SQL Server Management Studio中時自動被安裝程序安裝。
- 復制或保存從結果網格文本時,一個新的查詢結果網格選項支持保持回車/換行(換行符)。從工具/選項菜單設置此。
- SQL Server管理工具不再從主要特征樹安裝; 詳見安裝與SSMS SQL Server管理工具。
- SQL Server Management Studio中安裝需要安裝.NET 4.6.1作為先決條件。.NET 4.6.1將安裝SQL Server Management Studio中時自動被安裝程序安裝。
升級顧問
SQL服務器2016升級顧問預覽是一個獨立的工具,使以前版本的用戶可以運行一組升級規則對他們的SQL Server數據庫要找準突破和行為的變化,並建議使用的功能以及提供幫助,采用了新的功能,如拉伸數據庫。
您可以下載升級顧問預覽這裏,也可以通過使用Web平臺安裝程序進行安裝。
也可以看看
在SQL Server 2016的新增功能
SQL服務器2016版本說明
安裝與SSMS SQL Server管理工具
- 註釋
- 編輯
- 共享
from :https://docs.microsoft.com/zh-cn/sql/database-engine/configure-windows/what-s-new-in-sql-server-2016-database-engine
sqlserver2016新功能