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.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. Terraform

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

      1. Install the Google Cloud CLI.
      2. To initialize the gcloud CLI, run the following command:

        gcloud init
      3. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

      Confira mais informações em Set up authentication for a local development environment.

      REST

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

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.

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, selecione a rede VPC em que está localizada a instância do SQL Server.
    • Em Direção de tráfego, selecione Entrada.
    • No campo Destinos, escolha os destinos da regra de firewall, que podem ser todas as instâncias ou tags de destino ou contas de serviço especificadas. Por exemplo, você pode selecionar a opção Todas as instâncias na rede. Se você configurou uma tag ou conta de serviço para a instância do SQL Server, é possível limitar a regra de firewall a uma tag ou conta de serviço específica.
    • No campo Filtro de origem, selecione o intervalo de IPs que poderão acessar essa porta. Para uma regra de entrada, é possível selecionar intervalos IPv4 de origem, intervalos IPv6 de origem, tags de origem ou contas de serviço. Use os campos após Filtro de origem para fornecer mais informações sobre sua escolha.
    • Na seção Protocolos e portas, escolha Protocolos e portas especificados e insira a porta que o SQL Server usa. Neste exemplo, escolha TCP e insira 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