最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SQL?Server?2025數(shù)據(jù)庫引擎新特性匯總

 更新時(shí)間:2025年11月14日 08:41:57   作者:樺仔  
SQL?Server?2025引入多項(xiàng)新特性和改進(jìn),包括預(yù)覽功能、擴(kuò)展事件時(shí)間限制、優(yōu)化的sp_executesql存儲(chǔ)過程、列存儲(chǔ)索引改進(jìn)、變更跟蹤優(yōu)化、AlwaysOn可讀輔助副本持久化統(tǒng)計(jì)信息、加速數(shù)據(jù)庫恢復(fù)等,這篇文章介紹SQLServer2025數(shù)據(jù)庫引擎新特性,感興趣的朋友一起看看吧

預(yù)覽功能(PREVIEW_FEATURES)

啟用 PREVIEW_FEATURES 數(shù)據(jù)庫作用域配置,以測試和探索向量索引等預(yù)覽功能。此設(shè)置允許您即使在 SQL Server 正式發(fā)布后,仍可使用部分預(yù)覽功能。 通過此配置啟用的功能將在未來的累積更新中正式可用。一旦某個(gè)功能通過累積更新正式可用,該功能將不再需要 PREVIEW_FEATURES 配置。 這些功能僅供開發(fā)或測試使用,不建議在生產(chǎn)環(huán)境中使用。

USE HellasGateV2
GO
SELECT * FROM sys.database_scoped_configurations
WHERE [name] = 'PREVIEW_FEATURES'
GO
ALTER DATABASE SCOPED CONFIGURATION
SET PREVIEW_FEATURES = ON;
GO

擴(kuò)展事件會(huì)話加入時(shí)間限制選項(xiàng)

  • 說明
    • 帶 MAX_DURATION 的自動(dòng)停止 現(xiàn)在可以在創(chuàng)建或修改事件會(huì)話時(shí)指定 MAX_DURATION(以秒為單位),使其在設(shè)定時(shí)間后自動(dòng)停止擴(kuò)展事件會(huì)話。
    • 資源管理 這有助于防止會(huì)話無限運(yùn)行,避免消耗資源并生成過多診斷數(shù)據(jù)。
    • 手動(dòng)控制仍可用 可以隨時(shí)使用ALTER EVENT SESSION ... STATE = STOP手動(dòng)停止擴(kuò)展事件會(huì)話。
    • 靈活修改 可以使用ALTER EVENT SESSION更改或移除擴(kuò)展事件會(huì)話的時(shí)間限制,但會(huì)話必須先停止擴(kuò)展事件會(huì)話。
    • 系統(tǒng)視圖支持 sys.server_event_sessions視圖包含max_duration列,顯示擴(kuò)展事件會(huì)話的持續(xù)時(shí)間(0 表示無限制)。
  • 示例
CREATE EVENT SESSION [TimeBoundSession] ON SERVER
ADD EVENT sqlserver.sql_statement_completed
WITH (MAX_DURATION = 600, STARTUP_STATE = OFF); -- (例如 10分鐘,單位秒)
ALTER EVENT SESSION [TimeBoundSession] ON SERVER
WITH (MAX_DURATION = 1200); -- 修改為20分鐘
ALTER EVENT SESSION [TimeBoundSession] ON SERVER
WITH (MAX_DURATION = UNLIMITED);
ALTER EVENT SESSION [TimeBoundSession] ON SERVER STATE = STOP;

優(yōu)化的 sp_executesql存儲(chǔ)過程

概述(Overview)

  • 串行編譯(Serialized Compilation)

啟用后,sp_executesql 批處理會(huì)像存儲(chǔ)過程一樣編譯 —— 僅一個(gè)會(huì)話進(jìn)行編譯,其他會(huì)話等待,減少冗余執(zhí)行計(jì)劃的生成。

  • 執(zhí)行計(jì)劃重用(Plan Reuse)

首次編譯后,其他會(huì)話會(huì)重用緩存的執(zhí)行計(jì)劃,而非自行編譯,提升性能和緩存效率。

  • 編譯鎖機(jī)制(Compile Lock Mechanism)

編譯鎖確保同一時(shí)間僅一個(gè)會(huì)話進(jìn)行編譯,防止相同批處理的并行編譯。

  • 推薦設(shè)置(Recommended Settings)

為獲得最佳效果,若啟用了自動(dòng)更新統(tǒng)計(jì)信息,還應(yīng)啟用ASYNC_STATS_UPDATE_WAIT_AT_LOW_PRIORITY,以避免長時(shí)間等待和排他鎖。

  • 使用 T-SQL 啟用(Enable with T-SQL)
ALTER DATABASE SCOPED CONFIGURATION SET OPTIMIZED_SP_EXECUTESQL = ON;

執(zhí)行計(jì)劃緩存(Plan Cache)

  • 啟用OPTIMIZED_SP_EXECUTESQL可對(duì) SQL Server 2025 的執(zhí)行計(jì)劃緩存產(chǎn)生積極影響。

減少執(zhí)行計(jì)劃冗余(Reduced Plan Duplication) 相同的 sp_executesql 批處理(排除參數(shù)值)將僅編譯一次并共享同一執(zhí)行計(jì)劃,最大程度減少執(zhí)行計(jì)劃緩存中的冗余條目。

  • 提升執(zhí)行計(jì)劃重用率(Improved Plan Reuse)

后續(xù)執(zhí)行將重用已編譯的執(zhí)行計(jì)劃,這可提升性能并減少編譯期間的 CPU 使用率。

  • 串行編譯(Serialized Compilation)

同一時(shí)間僅一個(gè)會(huì)話編譯批處理,其他會(huì)話等待或重用執(zhí)行計(jì)劃 —— 這避免了同一邏輯的多次同時(shí)編譯。

  • 降低緩存碎片(Lower Cache Fragmentation)

通過避免同一執(zhí)行計(jì)劃的多個(gè)版本,緩存保持更整潔、更高效。

  • 首次編譯期間的潛在等待(Potential Waits During First Compilation)

會(huì)話在首次執(zhí)行期間可能短暫等待編譯鎖,但這通常被長期的緩存收益所抵消。

內(nèi)存使用(Memory Usage)

啟用OPTIMIZED_SP_EXECUTESQL可通過改進(jìn)執(zhí)行計(jì)劃的處理方式,對(duì) SQL Server 2025 的內(nèi)存使用產(chǎn)生積極影響。

  • 內(nèi)存使用優(yōu)勢如下
    • 更少的冗余執(zhí)行計(jì)劃(Fewer Duplicate Plans)
    • 更整潔的執(zhí)行計(jì)劃緩存(Cleaner Plan Cache)
    • 更低的編譯開銷(Lower Compilation Overhead)
  • 潛在注意問題
    • 初始編譯鎖等待(Initial Compile Lock Waits)
    • 執(zhí)行計(jì)劃緩存壓力降低(Plan Cache Pressure Reduction)

ZSTD 數(shù)據(jù)庫備份壓縮算法

  • 更快而且更高效
    • 與舊的 'MS_XPRESS' 算法相比,ZSTD 提供了更優(yōu)的速度和壓縮比。
    • 執(zhí)行備份時(shí)使用指定的壓縮算法
BACKUP DATABASE [databasename]  ... WITH COMPRESSION (ALGORITHM = ZSTD) -- 備份語句,指定壓縮算法為 ZSTD
  • 服務(wù)器范圍的默認(rèn)設(shè)置

使用以下語句將 ZSTD 設(shè)置為所有備份的默認(rèn)壓縮算法:

-- 壓縮算法取值:0 = MS_XPRESS(默認(rèn)),1 = 無,2 = XPRESS,3 = ZSTD
EXEC sp_configure 'backup compression algorithm', 3; -- 配置備份壓縮算法為 ZSTD
RECONFIGURE; -- 使配置生效

內(nèi)存優(yōu)化(XTP)相關(guān)文件和文件組的移除

現(xiàn)在可通過刪除所有內(nèi)存優(yōu)化文件和文件組,完全移除內(nèi)存優(yōu)化OLTP的相關(guān)表和數(shù)據(jù)文件—— 這在早期版本中無法實(shí)現(xiàn)。

  • 驗(yàn)證步驟
  • 使用 sys.dm_db_xtp_undeploy_status檢查是否使用了內(nèi)存優(yōu)化表(deployment_state = 1 或 2)。
SELECT *
FROM sys.dm_db_xtp_undeploy_status;
  • 刪除所有內(nèi)存優(yōu)化表相關(guān)對(duì)象

在移除數(shù)據(jù)文件之前,必須刪除所有內(nèi)存優(yōu)化表、表類型和本機(jī)編譯的存儲(chǔ)過程。

  • 移除文件和文件組

使用 ALTER DATABASE ... REMOVE FILE 和 ALTER DATABASE ... REMOVE FILEGROUP來刪除最后一個(gè)文件和文件組。

  • 長時(shí)間運(yùn)行的移除過程

如果移除停滯,執(zhí)行 CHECKPOINT 命令并監(jiān)控 sys.dm_db_xtp_undeploy_status視圖以跟蹤進(jìn)度并解決事務(wù)日志截?cái)鄦栴}。

列存儲(chǔ)索引的改進(jìn)

  • 有序非聚集列存儲(chǔ)索引

通過保持非聚集列存儲(chǔ)索引數(shù)據(jù)的排序狀態(tài),提升了實(shí)時(shí)運(yùn)營分析HTAP場景中的查詢性能。適用于對(duì)運(yùn)營數(shù)據(jù)頻繁執(zhí)行分析查詢的場景。SQL Server 2022已經(jīng)提供了有序聚集列存儲(chǔ)索引功能。

  • 有序列存儲(chǔ)索引的聯(lián)機(jī)創(chuàng)建 / 重建

現(xiàn)在可在CREATE INDEXALTER INDEX語句的ORDER子句中使用ONLINE = ON。即使是有序列存儲(chǔ)索引,也能在索引創(chuàng)建或重建期間實(shí)現(xiàn)停機(jī)時(shí)間最小化。

  • 有序聚集列存儲(chǔ)索引的排序質(zhì)量改進(jìn)

在聯(lián)機(jī)創(chuàng)建有序聚集列存儲(chǔ)索引時(shí),SQL Server 現(xiàn)在使用TempDB數(shù)據(jù)庫進(jìn)行排序,而非內(nèi)存排序。若MAXDOP = 1,索引生成的列段將完全有序且無重疊,提升查詢性能(通過列段消除)。雖然可能因TempDB數(shù)據(jù)庫 的I/O 增加從而增加構(gòu)建時(shí)間,但在多數(shù)場景下收益超過成本。

  • 收縮LOB頁面的改進(jìn)

列存儲(chǔ)索引使用LOB頁面,DBCC SHRINKDATABASEDBCC SHRINKFILE現(xiàn)在可移動(dòng)列存儲(chǔ)索引中的 LOB 數(shù)據(jù)頁。這使得收縮操作在回收空間時(shí)更有效,此前版本中這一能力受限。

變更跟蹤(change tracking)改進(jìn)

  • 新清理策略

為大型變更跟蹤輔助表引入自適應(yīng)淺度清理。

以增量步驟運(yùn)行,減少資源使用并提升可擴(kuò)展性。

  • 默認(rèn)啟用

在 SQL Server 2025 中,自適應(yīng)淺度清理默認(rèn)啟用。

它取代了 SQL Server 2022 及更早版本中使用的舊深度清理方法。

若要禁用自適應(yīng)淺度清理,請(qǐng)全局啟用trace flag跟蹤標(biāo)志 8273。

  • 安全清理點(diǎn)

清理基于由保留期和清理深度確定的安全點(diǎn)。

有助于避免大型表上的長時(shí)間阻塞操作。

  • 收益

減少清理期間的 CPU 和 I/O 峰值。

對(duì)于具有大型變更跟蹤輔助表的環(huán)境更高效。

AlwaysOn可讀輔助副本的持久化統(tǒng)計(jì)信息

  • 自動(dòng)統(tǒng)計(jì)信息持久化

可讀輔助副本上創(chuàng)建的臨時(shí)統(tǒng)計(jì)信息,現(xiàn)在會(huì)自動(dòng)持久化到主副本

一旦持久化,這些統(tǒng)計(jì)信息會(huì)在所有副本間同步,從而提升查詢性能和一致性。

  • 無需跟蹤標(biāo)志

與 SQL Server 2022(需要跟蹤標(biāo)志 12606)不同,該功能在 SQL Server 2025 中默認(rèn)啟用。 在 SQL Server 2025 中使用跟蹤標(biāo)志 12606 會(huì)禁用該功能。

  • sys.stats 視圖中的新字段
  • replica_role_id 指示副本角色(1 = 主副本,2 = 輔助副本,依此類推)。
  • replica_role_desc 描述副本角色。
  • replica_name 創(chuàng)建統(tǒng)計(jì)信息的副本名稱。
  • 功能亮點(diǎn)
  • 即使完成持久化,臨時(shí)統(tǒng)計(jì)信息仍會(huì)保留在輔助副本上。
  • 優(yōu)化器會(huì)使用最佳可用的統(tǒng)計(jì)信息,無論其來源。
  • 輔助副本仍可基于自身的數(shù)據(jù)視圖刷新過期統(tǒng)計(jì)信息。
  • 監(jiān)控與故障排除
  • 使用擴(kuò)展事件(persisted_stats_operation)監(jiān)控持久化操作。
  • 常見錯(cuò)誤消息包括:
    • 9131:功能已禁用
    • 9136:表/索引已刪除
    • 9139:統(tǒng)計(jì)信息過大無法發(fā)送

對(duì)TempDB數(shù)據(jù)庫啟用加速數(shù)據(jù)庫恢復(fù)

現(xiàn)在可以對(duì)TempDB數(shù)據(jù)庫啟用加速數(shù)據(jù)庫恢復(fù)功能

收益

  • 事務(wù)即時(shí)回滾
  • 主動(dòng)事務(wù)日志截?cái)?/li>
  • 有助于防止長時(shí)間事務(wù)回滾和 TempDB 事務(wù)日志空間耗盡(這類情況可能導(dǎo)致數(shù)據(jù)庫停機(jī))

重要性

在早期版本中,即使采用最小日志記錄,TempDB 中長時(shí)間運(yùn)行或失敗的事務(wù)(例如涉及臨時(shí)表或表變量的事務(wù))也可能會(huì)導(dǎo)致:

  • 事務(wù)日志高使用率
  • 事務(wù)回滾延遲
  • 應(yīng)用程序中斷

示例代碼

-- 啟用 tempdb 的加速數(shù)據(jù)庫恢復(fù)
ALTER DATABASE [tempdb]
SET ACCELERATED_DATABASE_RECOVERY = ON;
-- 驗(yàn)證 tempdb數(shù)據(jù)庫是否啟用了加速數(shù)據(jù)庫恢復(fù)(ADR)
SELECT name,
       is_accelerated_database_recovery_on
FROM sys.databases
WHERE name = 'tempdb';

TempDB數(shù)據(jù)庫空間資源治理

  • 背景

防止失控查詢或工作負(fù)載消耗過多的 tempdb數(shù)據(jù)庫空間。

通過實(shí)施每個(gè)工作負(fù)載的限制,幫助提高可靠性并避免中斷。

  • 設(shè)置方式

可以按工作負(fù)載組設(shè)置 tempdb 空間限制,方式如下:

GROUP_MAX_TEMPDB_DATA_MB -- 以 MB 為單位的固定大小。
GROUP_MAX_TEMPDB_DATA_PERCENT -- 占 tempdb 總大小的百分比。
-- 若兩者都設(shè)置,固定限制優(yōu)先。
  • 監(jiān)控資源使用

sys.resource_governor_workload_groups視圖顯示已配置的限制

sys.dm_resource_governor_workload_groups視圖顯示當(dāng)前和峰值的 tempdb 使用率

擴(kuò)展事件:tempdb_data_workload_group_limit_reached 當(dāng)某個(gè)工作負(fù)載組超出其限制時(shí)觸發(fā)

  • 最佳實(shí)踐

避免將限制設(shè)置得過低,尤其是默認(rèn)工作負(fù)載組。

如果工作負(fù)載不太可能同時(shí)達(dá)到峰值,可在多個(gè)組之間超額配置限制(例如,總限制超過 tempdb 的 100%)。

預(yù)先設(shè)置好tempdb 數(shù)據(jù)文件大小和增長大小,并正確配置 MAXSIZE 和 FILEGROWTH,以使用基于百分比的限制。

  • 限制

僅適用于tempdb數(shù)據(jù)文件,不適用于事務(wù)日志文件。

版本存儲(chǔ)的使用(例如,用于加速數(shù)據(jù)庫恢復(fù)(ADR)的部分)不受治理。

空間按 8 KB 頁跟蹤,即使是部分使用的頁也會(huì)被跟蹤。

  • 示例代碼

配置 tempdb 空間資源調(diào)控器

-- 啟用資源調(diào)控器
ALTER RESOURCE GOVERNOR RECONFIGURE;
-- 創(chuàng)建資源池
CREATE RESOURCE POOL rg_tempdb_pool;
-- 創(chuàng)建帶有 tempdb 空間限制(例如,500 MB)的工作負(fù)載組
CREATE WORKLOAD GROUP wg_tempdb_group
USING rg_tempdb_pool
WITH (GROUP_MAX_TEMPDB_DATA_MB = 500
  -- 或使用 GROUP_MAX_TEMPDB_DATA_PERCENT = 10
);
-- 重新配置資源調(diào)控器
ALTER RESOURCE GOVERNOR RECONFIGURE;

監(jiān)控 tempdb 使用率

-- 監(jiān)控 tempdb 使用情況
-- 按工作負(fù)載組查看當(dāng)前 tempdb 使用情況
SELECT
    wg.name AS 工作負(fù)載組,
    wg.group_id,
    wg_stats.total_allocated_tempdb_kb / 1024.0 AS 已使用TempDB_MB,
    wg_stats.max_allocated_tempdb_kb / 1024.0 AS TempDB_MB_峰值
FROM sys.dm_resource_governor_workload_groups AS wg_stats
JOIN sys.resource_governor_workload_groups AS wg
ON wg_stats.group_id = wg.group_id;

使用擴(kuò)展事件監(jiān)控限制違規(guī)

-- 使用擴(kuò)展事件監(jiān)控限制違規(guī)
CREATE EVENT SESSION [TempDBLimitMonitor] ON SERVER
ADD EVENT sqlserver.tempdb_data_workload_group_limit_reached
ADD TARGET package0.event_file
(
    SET filename = N'TempDBLimitMonitor.xel',
        max_file_size = 10,
        max_rollover_files = 5
)
WITH (STARTUP_STATE = ON);
GO

優(yōu)化鎖定

什么是優(yōu)化鎖定

  • 一種新的鎖定機(jī)制,可減少鎖內(nèi)存使用、最小化阻塞并避免鎖升級(jí)。
  • 旨在為高吞吐量事務(wù)工作負(fù)載提升并發(fā)性和性能。

核心組成

  • 事務(wù)ID鎖
  • 每一行的最后存儲(chǔ)修改它的事務(wù)ID。
  • 不再持有大量行/頁鎖,而是持有一個(gè)單獨(dú)的TID鎖,直到事務(wù)結(jié)束。
  • 行/頁鎖在修改后立即釋放。
  • 限定后鎖定
  • 使用最新提交的行版本評(píng)估謂詞,而不獲取鎖。
  • 僅在某行符合修改條件后才獲取鎖。
  • 減少阻塞并提升并發(fā)性。

功能可用

平臺(tái)可用默認(rèn)啟用
SQL Server 2025 (17.x)???
Azure SQL 數(shù)據(jù)庫????
Microsoft Fabric 中的 SQL 數(shù)據(jù)庫????
Azure SQL 托管實(shí)例(AUTD)????
SQL Server 2022 及更早版本??

啟用優(yōu)化鎖定

示例代碼

ALTER DATABASE [YourDatabaseName] SET OPTIMIZED_LOCKING = ON;

前提條件

  • 數(shù)據(jù)庫必須已經(jīng)啟用了加速數(shù)據(jù)庫恢復(fù)(ADR)。
  • 為了充分獲得限定后鎖定(LAQ)的優(yōu)勢,數(shù)據(jù)庫應(yīng)打開讀已提交快照(RCSI)隔離級(jí)別
ALTER DATABASE [你的數(shù)據(jù)庫名] SET READ_COMMITTED_SNAPSHOT ON;

監(jiān)控

開啟了優(yōu)化鎖定之后,使用下面手段監(jiān)控鎖的情況

  • 使用 sys.dm_tran_locks 視圖觀察鎖行為。
  • 新增的等待類型:LCK_M_S_XACT_READ、LCK_M_S_XACT_MODIFY。
  • 擴(kuò)展事件 lock_after_qual_stmt_abort 當(dāng) LAQ(限定后鎖定)被中止并重試時(shí)觸發(fā)。
  • 擴(kuò)展事件 locking_stats 鎖使用情況和 LAQ/TID 活動(dòng)的定期匯總。

到此這篇關(guān)于SQL Server 2025數(shù)據(jù)庫引擎新特性匯總的文章就介紹到這了,更多相關(guān)SQL Server 2025數(shù)據(jù)庫引擎內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

盘锦市| 息烽县| 红桥区| 常熟市| 永靖县| 西峡县| 泊头市| 民县| 剑川县| 浏阳市| 大石桥市| 会理县| 麟游县| 舟山市| 渑池县| 平舆县| 建宁县| 潮安县| 九寨沟县| 平安县| 牙克石市| 浮梁县| 定陶县| 龙井市| 绩溪县| 六枝特区| 灵石县| 双柏县| 长垣县| 灌云县| 拜城县| 漳浦县| 天气| 宁都县| 格尔木市| 玉溪市| 尚义县| 永宁县| 建湖县| 胶南市| 萨嘎县|