Amazon RDS - MS SQL DBA任务

作为RDS服务,MSSQL DB具有许多可用作托管服务的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;

OFFLINE to ONLINE转换

您可以转换Microsoft SQL Server数据库使用以下命令从OFFLINE到ONLINE的Amazon RDS数据库实例.

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];