Como criar instâncias de VM do SQL Server


O Microsoft SQL Server é um sistema de banco de dados executado no Windows Server e em algumas distribuições Linux. Use o SQL Server no Compute Engine como parte do back-end de seus aplicativos, como um ambiente de desenvolvimento e teste flexível ou junto aos sistemas locais para backup e recuperação de desastres.

O Compute Engine fornece imagens com o Microsoft SQL Server pré-instalado no Windows Server. Nessas imagens do SQL Server, o Compute Engine administra as licenças do Windows Server e do SQL Server e inclui o custo na sua conta mensal. Crie instâncias com o SQL Server e faça o escalonamento horizontal para grandes configurações de vários nós quando precisar delas.

O Compute Engine armazena os dados em discos permanentes duráveis com redundância e criptografia automáticas em repouso. Use esses discos permanentes para armazenar os dados do SQL Server sem se preocupar com a durabilidade ou a segurança dos seus dados. Para ter um desempenho melhor, crie as VMs com um SSD local como cache para melhorar o IOPS e o desempenho das consultas do SQL Server.

É possível criar instâncias de máquina virtual (VM) do Compute Engine que executam o SQL Server das seguintes maneiras:

Para uma lista completa das imagens disponíveis que incluem o SQL Server pré-instalado, consulte Detalhes do sistema operacional.

Requisitos de tipo de máquina para imagens do SQL Server

SQL Server Standard

É possível executar o SQL Server Standard em VMs com qualquer tipo de máquina, mas os tipos de máquinas com núcleo compartilhado não funcionarão corretamente. O Google recomenda usar VMs com pelo menos uma vCPU para executar o SQL Server Standard.

SQL Server Enterprise

As VMs que executam o SQL Server Enterprise precisam ter pelo menos quatro vCPUs. Para um desempenho ideal, o Google recomenda executar o SQL Server Enterprise em VMs com mais capacidade de memória. Dependendo da carga de trabalho, utilize tipos de máquinas com muita memória que tenham oito ou mais vCPUs. Esses tipos de máquinas aumentam a proporção de memória para cada vCPU disponível no Compute Engine, o que é ideal para VMs do SQL Server Enterprise.

Além disso, é possível usar o SQL Server Enterprise no Compute Engine para criar grupos de disponibilidade do SQL Server.

Componentes padrão

Por padrão, as imagens do SQL Server incluem vários componentes. Os componentes padrão dependem da edição selecionada do SQL Server.

Para informações sobre os componentes padrão incluídos na sua versão do SQL Server, consulte Edições e recursos compatíveis do SQL Server 2019.

Para informações sobre como modificar os componentes do SQL Server, consulte Adicionar recursos a uma VM do SQL Server.

Antes de começar

  • Configure a autenticação, caso ainda não tenha feito isso. A autenticação é o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud. Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no Compute Engine da seguinte maneira.

    Selecione a guia para como planeja usar as amostras nesta página:

    Console

    Quando você usa o console do Google Cloud para acessar os serviços e as APIs do Google Cloud, não é necessário configurar a autenticação.

    gcloud

    1. Instale a Google Cloud CLI e inicialize-a executando o seguinte comando:

      gcloud init
    2. Defina uma região e uma zona padrão.

    Terraform

    Para usar as amostras de Terraform nesta página de um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e, em seguida, configure o Application Default Credentials com as credenciais de usuário.

    1. Instale a CLI do Google Cloud.
    2. Para inicializar a CLI gcloud, execute o seguinte comando:

      gcloud init
    3. Crie as credenciais de autenticação para sua Conta do Google:

      gcloud auth application-default login

    Veja mais informações em: Configurar a autenticação para um ambiente de desenvolvimento local.

    REST

    Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.

      Instale a Google Cloud CLI e inicialize-a executando o seguinte comando:

      gcloud init

Como criar uma instância do SQL Server

Para fazer isso, informe a família de imagens da versão específica do SQL Server que você precisa. Para uma lista das famílias de imagens do SQL Server, consulte Detalhes do sistema operacional.

Para um desempenho ideal, as plataformas de servidores de banco de dados exigem tipos de máquina com mais CPUs virtuais e quantidades maiores de memória. O Google recomenda usar tipos de máquinas com pelo menos duas vCPUs e 4 GB de memória de sistema, durante a execução de instâncias do SQL Server. Use tipos de máquinas personalizados para configurar as instâncias do SQL Server de modo que atendam aos requisitos de desempenho da sua carga de trabalho. Use discos permanentes maiores e mais rápidos, como SSD, para melhorar o desempenho dos aplicativos.

Além disso, defina regras de firewall específicas que permitam o tráfego do SQL Server na rede VPC ou na sub-rede da VM. Para mais informações, consulte Práticas recomendadas para o SQL Server.

Console

Para criar uma instância do SQL Server:

  1. No Console do Google Cloud, acesse a página Criar uma instância.

    Acesse "Criar uma instância"

  2. Especifique os detalhes da VM.

  3. Na seção Disco de inicialização, clique em Alterar e faça o seguinte:

    1. Na guia Imagens públicas, clique na lista Sistema operacional e selecione SQL Server no Windows Server.
    2. Na lista Versão, selecione uma versão.
    3. Na lista Tipo de disco de inicialização, selecione um tipo de disco de inicialização.
    4. No campo Tamanho (GB), defina o tamanho do disco de inicialização.
    5. Opcional: para modificar a configuração avançada do disco de inicialização, clique em Mostrar configuração avançada e especifique as configurações.
    6. Para salvar a configuração do disco de inicialização, clique em Selecionar.
  4. Clique em Criar.

Depois de criar a VM, crie uma regra de firewall para permitir acesso ao SQL Server na VM. A porta padrão do SQL Server é 1433.

  1. No console do Google Cloud, acesse a página Regras de firewall.

    Acesse Regras de firewall

  2. Na parte superior da página, clique em Criar regra de firewall para começar a criar uma regra desse tipo.

  3. Especifique os detalhes da regra de firewall.

    • No campo Nome, especifique o nome da regra de firewall.
    • No campo rede VPC, selecione a rede VPC em que está localizada a instância do SQL Server.
    • Em Direção de tráfego, selecione Entrada.
    • No campo Filtro de origem, selecione o intervalo de IPs que poderão acessar essa porta. Neste exemplo, selecione Permitir de qualquer origem.
    • Na seção Portas e protocolos permitidos, digite a porta que o SQL Server usa. Para este exemplo, especifique tcp:1433;, que é a porta padrão.
  4. Clique em Criar para gerar a regra de firewall e permitir acesso à instância do SQL Server pela porta 1433.

Para adicionar mais regras à VM, consulte a documentação sobre as regras de firewall.

gcloud

Use o comando compute images list para ver uma lista de imagens disponíveis do SQL Server:

gcloud compute images list --project windows-sql-cloud --no-standard-images

Use o comando compute instances create para criar uma nova VM e especificar a família de imagens de uma das imagens públicas do Windows Server ou do SQL Server.

gcloud compute instances create VM_NAME \
    --image-project windows-sql-cloud \
    --image-family IMAGE_FAMILY \
    --machine-type MACHINE_TYPE \
    --boot-disk-size BOOT_DISK_SIZE \
    --boot-disk-type BOOT_DISK_TYPE

Substitua:

  • VM_NAME: o nome da nova instância;
  • IMAGE_FAMILY: uma das famílias de imagens públicas do Windows Server ou do SQL Server;
  • MACHINE_TYPE: um dos tipos de máquina disponíveis;
  • BOOT_DISK_SIZE: o tamanho do disco de inicialização em GB. Discos permanentes maiores têm mais capacidade;
  • BOOT_DISK_TYPE: o tipo do disco de inicialização da instância. Por exemplo, pd-balanced.

Depois de criar a VM, crie uma regra de firewall para permitir acesso ao SQL Server na VM. A porta padrão do SQL Server é 1433.

gcloud compute firewall-rules create sql-server-1433 \
    --description "Allow SQL Server access from all sources on port 1433." \
    --allow tcp:1433 --network NETWORK

em que NETWORK é o nome da rede VPC em que a VM está localizada.

Para adicionar mais regras de firewall à VM, consulte a documentação sobre as regras de firewall.

Terraform

Para criar as instâncias de VM do SQL Server, use o recurso google_compute_instance.

resource "google_compute_instance" "sqlserver_vm" {
  provider = google-beta
  name     = "sqlserver-vm"
  boot_disk {
    auto_delete = true
    device_name = "persistent-disk-0"
    initialize_params {
      image = "windows-sql-cloud/sql-std-2019-win-2022"
      size  = 50
      type  = "pd-balanced"
    }
    mode = "READ_WRITE"
  }
  machine_type = "n1-standard-4"
  zone         = "europe-west1-b"
  network_interface {
    access_config {
      network_tier = "PREMIUM"
    }
    network    = google_compute_network.default.id
    stack_type = "IPV4_ONLY"
    subnetwork = google_compute_subnetwork.default.id
  }
}

Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.

REST

Para criar uma VM com a API, inclua a propriedade initializeParams na solicitação de criação da VM e especifique uma imagem do Windows.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

instance = {
  "name": "VM_NAME",
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "disks": [{
      "boot": "true",
      "type": "PERSISTENT",
      "initializeParams": {
         "diskName": "DISK_NAME",
         "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY",
         "diskSizeGb": "BOOT_DISK_SIZE",
         "diskType": "BOOT_DISK_TYPE",
       }
    }],
  "networkInterfaces": [{
    "accessConfigs": [{
      "type": "ONE_TO_ONE_NAT",
      "name": "External NAT"
     }],
    "network": "global/networks/default"
  }],
  "serviceAccounts": [{
       "email": DEFAULT_SERVICE_EMAIL,
       "scopes": DEFAULT_SCOPES
  }]
}

Substitua:

  • PROJECT_ID: o ID do projeto;
  • ZONE: a zona desta instância;
  • VM_NAME: o nome da nova VM;
  • MACHINE_TYPE: os tipos de máquina disponíveis;
  • IMAGE_PROJECT: o windows-cloud para imagens do Windows Server ou windows-sql-cloud para imagens do Windows Server com o SQL Server pré-instalado;
  • IMAGE_FAMILY: as famílias de imagens públicas do Windows Server ou do SQL Server;
  • BOOT_DISK_SIZE: o tamanho do disco de inicialização em GB. Discos permanentes maiores têm mais capacidade;
  • BOOT_DISK_TYPE: o tipo do disco de inicialização da VM. Por exemplo, pd-ssd.

Depois de criar a VM, crie uma regra de firewall para permitir acesso ao SQL Server na VM. A porta padrão do SQL Server é 1433.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls

{
 "name": "sql-server-1433",
 "network": "global/networks/NETWORK",
 "allowed": [
  {
   "IPProtocol": "tcp",
   "ports": [
    "1433"
   ]
  }
 ]
}

Substitua:

  • PROJECT_ID: o ID do projeto;
  • NETWORK: o nome da rede VPC em que a VM está localizada.

Depois de criar a instância do SQL Server, defina a senha inicial da VM para se conectar a ela pelo RDP. Em seguida, execute o SQL Server Management Studio como administrador para gerenciar bancos de dados na instância do SQL Server.

Você também pode melhorar a instalação do SQL Server com um ou mais dos seguintes itens:

Como gerenciar bancos de dados do SQL Server

Execute o SQL Server Management Studio como administrador para configurar os bancos de dados do SQL Server. Faça o download e a instalação do SQL Server Management Studio na estação de trabalho local e use-o para conectar-se ao mecanismo de banco de dados remotamente na sua VM.

Se não for possível instalar o Management Studio na estação de trabalho local, conecte-se à VM por RDP e execute o Management Studio na própria VM. Tanto o SQL Server 2012 quanto o SQL Server 2014 incluem o SQL Server Management Studio por padrão. No caso do SQL Server 2016, faça o download do SQL Server Management Studio pelo site da Microsoft e instale-o na VM.

Por padrão, o SQL Server usa o modo de autenticação do Windows para controlar o acesso remoto ao próprio SQL Server. Altere o modo de autenticação se for necessário usá-lo no SQL Server.

Como atualizar nomes de instâncias do SQL Server manualmente

Se você renomear uma VM que hospeda o SQL Server, precisará atualizar o nome da instância do SQL Server. Para mais informações, consulte Renomear um computador que hospeda uma instância autônoma do SQL Server.

A seguir