Amazon RDS - MS SQL 功能


Microsoft SQL Server 是业界著名的关系数据库。AWS RDS 支持多个版本的 MS SQL Server。下面列出了支持的版本和版本。所有这些版本都支持时间点恢复以及自动或手动备份。运行 SQL Server 的数据库实例可以在 VPC 内使用。您还可以使用 SSL 连接到运行 SQL Server 的数据库实例。Amazon RDS 目前支持 SQL Server 的多可用区部署,使用 SQL Server 镜像作为高可用性、故障转移解决方案。

支持的版本

AWS RDS 从 2008 年起提供 MS SQL Server 的主要版本。这些版本的详细信息如下。

  • SQL Server 2017 RTM

  • SQL Server 2016 SP1

  • SQL Server 2014 SP2

  • SQL Server 2012 SP4

  • SQL Server 2008 R2 SP3

下面是如何在 python SDK 程序中使用 AWS API 获取支持的数据库引擎版本的示例。

import boto3

client = boto3.client('rds')

response = client.describe_db_engine_versions(
    DBParameterGroupFamily='',
    DefaultOnly=True,
    Engine='sqlserver-ee',
    EngineVersion='',
    ListSupportedCharacterSets=False, #True,
)

print(response)

运行上面的程序,我们得到以下输出 -

{
   "ResponseMetadata": {
      "RetryAttempts": 0,
      "HTTPStatusCode": 200,
      "RequestId": "186a9d70-7580-4207-8727-4d29aebb5213",
      "HTTPHeaders": {
         "x-amzn-requestid": "186a9d70-7580-4207-8727-4d29aebb5213",
         "date": "Fri, 14 Sep 2018 05:39:11 GMT",
         "content-length": "1066",
         "content-type": "text/xml"
      }
   },
   "u'DBEngineVersions'": [
      {
         "u'Engine'": "sqlserver-ee",
         "u'DBParameterGroupFamily'": "sqlserver-ee-14.0",
         "u'SupportsLogExportsToCloudwatchLogs'": false,
         "u'SupportsReadReplica'": true,
         "u'DBEngineDescription'": "MicrosoftSQLServerEnterpriseEdition",
         "u'EngineVersion'": "14.00.3035.2.v1",
         "u'DBEngineVersionDescription'": "SQL Server 2017 14.00.3035.2.v1",
         "u'ValidUpgradeTarget'": []
      }
   ]
}

微软 SQL Server 许可

RDS 数据库实例的软件许可证包含在使用 MS SQL Server 的定价中。用户无需携带任何许可证。定价还包括软件许可证、硬件资源和 AWS RDS 管理功能。

以下是 MS SQL Server 版本中可用的 MS SQL Server 版本。

  • 企业

  • 标准

  • 网络

  • 表达

与 Oracle 不同,多可用区部署没有额外的许可要求。Microsoft Server 使用 SQL Server 数据库镜像来进行此类部署。

对于因许可问题而终止的实例,AWS 会维护数据库快照,当许可问题解决后,可以从中恢复数据库。

微软SQL服务器安全

MS SQL Server 的数据库引擎使用基于角色的安全性。

创建数据库实例时使用的主用户名是 SQL Server 身份验证登录名,该登录名是 processadmin、public 和 setupadmin 固定服务器角色的成员。创建数据库的任何用户都会被分配给该数据库的 db_owner 角色,并且拥有所有权限。数据库级权限(用于备份的权限除外)。Amazon RDS 为用户管理备份。

RDS 不支持的功能

AWS RDS for MS SQL Server 不支持很多功能。下面列出了其中一些。这对于将本地数据库转移到云端的场景非常重要,必须仔细评估这些功能的可用性。

  • 永远在线

  • 备份到 Microsoft Azure Blob 存储

  • 缓冲池扩展

  • BULK INSERT 和 OPENROWSET(BULK...) 功能

  • 数据质量服务

  • 分布式查询(即链接服务器)

  • 分销交易协调员 (MSDTC)

  • 文件表

  • 文件流支持

  • 性能数据收集器

  • 基于策略的管理

  • SQL Server审计

  • 服务器级触发器

  • T-SQL端点(使用CREATE ENDPOINT的所有操作均不可用)