Amazon RDS – MS SQL DBA 任务

Amazon RDS – MS SQL DBA 任务


作为 RDS 服务,MSSQL DB 有许多 DBA 任务可用作托管服务。您没有对 DB 的 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 实例时,为 DB 标记的默认排序规则为英文。但是可以通过应用 COLLATE 子句和排序规则名称将其更改为另一种非英语语言。下面的例子说明了这一点。

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

觉得文章有用?

点个广告表达一下你的爱意吧 !😁