Amazon RDS - MS SQL DBA 任務



作為 RDS 服務,MSSQL 資料庫提供了許多 DBA 任務作為託管服務。您無法訪問資料庫的 shell,但可以透過控制檯或客戶端軟體中的命令執行各種 DBA 活動。以下是 Amazon RDS Ms SQL 伺服器中執行的最常見和最常用的 DBA 任務。

更改資料捕獲

CDC 捕獲對錶中資料所做的更改。對使用者表所做的更改將捕獲到相應的更改表中。這些更改表提供了隨時間推移的更改的歷史檢視。SQL Server 提供的更改資料捕獲功能使更改資料能夠輕鬆且系統地使用。

在連線到 RDS MSSQL 伺服器的 SSMS 中使用以下命令來啟用和停用 CDC。

#Enable CDC for RDS DB Instance
exec msdb.dbo.rds_cdc_enable_db ''

#Disable CDC for RDS DB Instance
exec msdb.dbo.rds_cdc_disable_db ''

接下來,要跟蹤特定表的更改,我們使用儲存過程 sp_cdc_enable_table 和以下命令。

#Begin tracking a table
exec sys.sp_cdc_enable_table   
   @source_schema           = N''
,  @source_name             = N'
' , @role_name = N'' , @captured_column_list = '' ;

修改 tempdb 資料庫選項

tempdb 系統資料庫是一個全域性資源,可供連線到 SQL Server 例項的所有使用者使用,並用於儲存以下內容

  • 顯式建立的臨時使用者物件,例如:全域性或本地臨時表、臨時儲存過程、表變數或遊標。

  • SQL Server 資料庫引擎建立的內部物件,例如,用於儲存臨時結果的工作表,用於卷繞或排序。

  • 使用行版本控制隔離或快照隔離事務的資料庫中,資料修改事務生成的行版本。

以下是有關如何為各種 DBA 活動修改 RDS MSSQL tempdb 的示例。

# setting the size to 100 GB and file growth to 10 percent.
alter database[tempdb] modify file (NAME = N'templog', SIZE=100GB, FILEGROWTH = 10%)

# set the MAXSIZE property to prevent tempdb database from using all available disk space.
alter database [tempdb] modify file (NAME = N'templog', MAXSIZE = 2048MB)

# Shrinking the tempdb Database file size and requests a new size
exec msdb.dbo.rds_shrink_tempdbfile @temp_filename = N'test_file', @target_size = 10;

離線到聯機轉換

您可以使用以下命令將 Amazon RDS 資料庫例項上的 Microsoft SQL Server 資料庫從離線轉換為聯機。

EXEC rdsadmin.dbo.rds_set_database_online name

非英語字元集

在建立 RDS MSSQL 例項期間,資料庫標記的預設排序規則為英語。但可以透過將 COLLATE 子句與排序規則名稱一起應用來將其更改為其他非英語語言。以下示例說明了這一點。

CREATE TABLE [dbo].[Account]
(
    [AccountID] [nvarchar](10) NOT NULL,
    [AccountName] [nvarchar](100) COLLATE Japanese_CI_AS NOT NULL 
) ON [PRIMARY]; 
廣告