Amazon RDS - recursos do MS SQL

O servidor Microsoft SQL é um banco de dados relacional proeminente na indústria. O AWS RDS oferece suporte a várias versões do servidor MS SQL. Abaixo lista de versões e edições com suporte. Todas essas versões oferecem suporte a restaurações pontuais e backups automatizados ou manuais. As instâncias de banco de dados que executam o SQL Server podem ser usadas dentro de um VPC. Você também pode usar SSL para se conectar a uma instância de banco de dados executando o SQL Server. O Amazon RDS atualmente oferece suporte a implantações Multi-AZ para SQL Server usando o espelhamento do SQL Server como uma solução de failover de alta disponibilidade.

O AWS RDS disponibiliza as principais versões do servidor MS SQL de 2008 em diante. Os detalhes dessas versões são as seguintes.

  • SQL Server 2017 RTM

  • SQL Server 2016 SP1

  • SQL Server 2014 SP2

  • SQL Server 2012 SP4

  • SQL Server 2008 R2 SP3

Abaixo está um exemplo de como obter as versões do DB Engine com suporte usando a API AWS em um programa SDK python.

import boto3

client = boto3.client('rds')

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

print(response)

Ao executar o programa acima, obtemos a seguinte saída -

{
   "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'": []
      }
   ]
}

A licença de software para a instância RDS DB está incluída no preço de uso do servidor MS SQL. O usuário não precisa trazer nenhuma licença. Além disso, o preço inclui licença de software, recursos de hardware e recursos de gerenciamento AWS RDS.

A seguir estão as edições do MS SQL Server que estão disponíveis nas edições do MS SQL Server.

  • Enterprise

  • Standard

  • Web

  • Express

Ao contrário do oracle, não há requisitos de licenciamento adicionais para a implantação Multi AZ. O Microsoft Server usa o espelhamento de banco de dados do SQL server para essa implantação.

Para instâncias encerradas devido a problemas de licenciamento, a AWS mantém instantâneos de banco de dados a partir dos quais o banco de dados pode ser restaurado, quando o problema de licenciamento é resolvido.

O mecanismo de banco de dados do servidor MS SQL usa uma segurança baseada em funções.

O nome de usuário mestre usado ao criar uma instância de banco de dados é um logon de autenticação do SQL Server que é membro das funções de servidor fixas processadmin, public e setupadmin. Qualquer usuário que cria um banco de dados é atribuído à função db_owner para esse banco de dados e tem todos permissões em nível de banco de dados, exceto aquelas que são usadas para backups. Amazon RDS gerencia backups para o usuário.

Existem vários recursos que não são suportados pelo AWS RDS para MS SQL Server. Alguns deles estão listados abaixo. Isso é importante para um cenário em que o banco de dados local está sendo levado para a nuvem, a disponibilidade desses recursos deve ser avaliada com cuidado.

  • Sempre

  • Fazendo backup para o armazenamento de blob do Microsoft Azure

  • Extensão de pool de buffer

  • Recursos BULK INSERT e OPENROWSET (BULK ...)

  • Serviços de qualidade de dados

  • Consultas distribuídas (ou seja, servidores vinculados)

  • Coordenador de transações de distribuição (MSDTC)

  • Tabelas de arquivo

  • Suporte para FILESTREAM

  • Coletor de dados de desempenho

  • Gestão baseada em políticas

  • Auditoria SQL Server

  • Gatilhos no nível do servidor

  • Endpoints T-SQL (todas as operações que usam CREATE ENDPOINT estão indisponíveis)