全部產品
Search
文件中心

ApsaraDB RDS:資料庫屬性管理

更新時間:Oct 25, 2024

您通過控制台查看或修改RDS SQL Server資料庫的各類屬性,也可以手動收縮資料庫交易記錄和更新資料庫統計資訊,以最佳化資料庫效能和提高查詢效率。

前提條件

已建立資料庫。建立方法,請參見建立資料庫

查看或修改資料庫屬性

注意事項

部分修改資料庫屬性的操作會導致該資料庫進入短暫的獨佔模式,系統會斷開當前該資料庫的所有串連,復原現有事務進行修改。當資料庫負載較高時,修改操作可能會失敗。因此建議您在業務低峰期執行該操作,以免影響業務的正常運行。

說明

獨佔模式是指在資料庫中只允許一個使用者或一個進程對資料庫進行操作,其他使用者或進程不能訪問或操作該資料庫,必須等待當前操作完成後才能進行下一步操作。

操作步驟

  1. 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。

  2. 在左側導覽列中單擊資料庫管理

  3. 單擊目標資料庫操作列下的查看詳情,查看資料庫的屬性值。

    說明

    各屬性值的具體說明,請參見附錄:資料庫屬性微軟官方文檔

    image.png

  4. Allowed Values列下修改屬性值,單擊提交

    image.png

收縮資料庫交易記錄

使用情境

如果資料庫的交易記錄檔使用量(LogUsedSizeInMB)相對於資料庫交易記錄檔總大小(TotalLogSizeInMB)的佔比較小,並且該資料庫的log_reuse_wait_desc屬性為Nothing時,您可以通過收縮資料庫交易記錄減少該資料庫記錄檔的磁碟空間佔用。

操作步驟

  1. 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。

  2. 在左側導覽列中單擊資料庫管理

  3. 單擊操作列下的更多 > 收縮資料庫交易記錄

  4. 單擊確定

更新資料庫統計資訊

由於資料庫中的資料量和分布會隨著時間的推移而發生變化,您可以定期更新統計資料,以保證查詢最佳化工具的準確性和效能。

使用情境

  • 當資料庫進行大版本升級時,新版本可能會引入新的資料類型、儲存引擎或查詢最佳化工具等,這可能會導致舊的統計資訊不再準確或不再適用。此時,您可以通過該功能來更新資料分布資訊,以適應新版本引擎。

  • 當將資料庫從線下轉移到雲端時,由於環境發生了變化,可能需要重新最佳化資料庫效能。此時,您可以通過該功能來提高查詢效能和最佳化查詢計劃。

  • 如果使用者的業務資料分布不均勻,或者執行了大量的刪除或更新操作但更新量不足20%,或者出現其他SQL Server內建自動更新統計資訊無法覆蓋的情境時,您可以通過該功能來提升查詢效能。

    說明

    SQL Server預設會啟用自動更新統計資訊的機制,但在某些情況下,自動更新統計資訊的頻率可能會滯後於實際資料變化,從而導致查詢效能下降。SQL Server自動更新統計資訊的機制,請參見微軟官方文檔

注意事項

更新統計資料操作可能會導致較高的IO佔用,因此建議您在業務低峰期執行該操作,以免影響業務的正常運行。

操作步驟

  1. 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。

  2. 在左側導覽列中單擊資料庫管理

  3. 單擊操作列下的更多 > 更新資料庫統計資訊

  4. 單擊確定

附錄:資料庫屬性

基礎資訊

屬性名稱

說明

page_verify

資料庫頁驗證的層級。預設值為CHECKSUM,使用資料頁的校正和進行驗證。

target_recovery_time_in_seconds

在發生故障時,資料庫恢複所需的目標時間(秒)。預設值為60。

compatibility_level

資料庫與特定版本的相容性層級。取值如下:

  • 100:Server 2008及更高版本。

  • 110:SQL Server 2012及更高版本。

  • 120:SQL Server 2014及更高版本。

  • 130:SQL Server 2016及更高版本。

  • 140:SQL Server 2017及更高版本。

  • 150:SQL Server 2019及更高版本。

  • 160:SQL Server 2022及更高版本。

parameterization

SQL Server如何處理參數。取值如下:

  • SIMPLE:只對常量參數進行參數化(預設值)。

  • FORCED:強制對所有參數進行參數化。

read_committed_snapshot

讀取資料時是否使用快照隔離。取值如下:

  • OFF:禁用讀取提交的快照,使用傳統的讀取鎖定方式(預設值)。

  • ON:啟用讀取提交的快照,允許並發讀操作而不會被寫操作所阻塞。

collation_name

資料庫的定序及字元編碼。更多詳情,請參見修改字元集定序與時區

auto_close

是否自動關閉資料庫連接。預設值為OFF(關閉)。

recovery_model_desc

資料庫的復原模式。預設值為FULL,表示完整復原模式。

auto_update_statistics

是否啟用統計資訊自動更新。取值如下:

  • ON:開啟(預設值)

  • OFF:禁用

auto_update_statistics_async

是否非同步更新統計資料。取值如下:

  • OFF:使用同步方式更新統計資料(預設值)。

  • ON:使用非同步方式更新統計資料。

allow_snapshot_isolation

是否啟用快照隔離等級。取值如下:

  • OFF:禁用(預設值)

  • ON:開啟

state_desc

資料庫狀態。ONLINE表示資料庫處於線上狀態。

create_date

資料庫建立時間。

log_reuse_wait_desc

當前記錄檔不可以被重用的原因,NOTHING表示當前沒有任何限制。

運行時資訊

屬性名稱

說明

TotalDataSizeInMB

當前資料庫的資料檔案佔用的總空間(MB)。

DataUsedSizeInMB

當前資料庫的資料檔案已使用的空間(MB)。

TotalLogSizeInMB

當前資料庫的記錄檔佔用的總空間(MB)。

LogUsedSizeInMB

當前資料庫的記錄檔已使用的空間(MB)。

VLFCount

當前資料庫的虛擬記錄檔(VLF)的數量。

LastestBackupTime

當前資料庫的最新備份的時間。

LastestBackupType

當前最近一次Database Backup的類型。取值如下:

  • D:Database,完整備份。

  • I:Differential,差異備份。

  • L:Log,記錄備份。

進階資訊

屬性名稱

說明

ansi_nulls

是否啟用ANSI NULLS。如果啟用,則等於NULL的值將不會與其他值進行比較,而是會被視為未知值。取值如下:

  • OFF:關閉(預設值)

  • ON:開啟

recursive_triggers

是否允許觸發器遞迴執行。取值如下:

  • OFF:關閉(預設值)

  • ON:開啟

delayed_durability

是否啟用延遲耐久性。延遲耐久性允許事務在提交後,將資料非同步寫入磁碟,從而提高交易處理效能。取值如下:

  • DISABLED:禁用延遲耐久性,事務在提交後會立即同步寫入磁碟(預設值)。

  • ALLOWED:啟用延遲耐久性,但並不強制要求所有事務都使用延遲耐久性。

  • FORCED:強制啟用延遲耐久性,所有事務都必須使用延遲耐久性。

ansi_warnings

是否啟用ANSI警告。啟用後,如果執行的操作會導致警告,則會返回警告資訊。取值如下:

  • OFF:關閉(預設值)

  • ON:開啟

ansi_null_default

在插入資料時,如果指定的值為NULL,則該列是否接受NULL值。取值如下:

  • OFF:關閉(預設值)

  • ON:開啟

ansi_padding

是否啟用ANSI填充。啟用後,如果插入的資料長度不足,則會使用填充符進行填充。取值如下:

  • OFF:關閉(預設值)

  • ON:開啟

concat_null_yields_null

在拼接NULL值時,是否返回NULL。如果啟用,則拼接NULL值時會返回NULL。取值如下:

  • OFF:關閉(預設值)

  • ON:開啟

相關API

您可以通過API修改RDS SQL Server資料庫屬性,請參見ModifyDatabaseConfig - 修改資料庫屬性