Criando instâncias de VM do SQL Server


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

O Compute Engine fornece imagens com o Microsoft SQL Server pré-instalado no Windows Server. Para essas imagens do SQL Server, o Compute Engine gerencia a licença do Windows Server e do SQL Server e inclui o custo na sua fatura mensal. Crie VMs com o SQL Server e expanda para grandes configurações de vários nós quando precisar delas.

O Compute Engine armazena seus dados em discos permanentes duráveis ​​com redundância automática e criptografia automática em repouso. Use esses discos permanentes para armazenar dados do SQL Server sem se preocupar com a durabilidade ou segurança dos dados. Para desempenho adicional, crie suas VMs com um SSD local como cache que fornece IOPS e desempenho adicionais para 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 obter 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

O melhor tipo de máquina para SQL Server depende da edição do SQL Server que você está executando.

Padrão do SQL Server

Você pode 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 de maneira ideal. O Google recomenda que você use VMs com pelo menos uma vCPU para executar o SQL Server Standard.

SQL Server Corporativo

As VMs que executam o SQL Server Enterprise devem ter pelo menos quatro vCPUs. Para obter o desempenho ideal, o Google recomenda executar o SQL Server Enterprise em VMs com maiores capacidades de memória. Dependendo da sua carga de trabalho, você deve usar tipos de máquinas predefinidos com highmem e 8 vCPUs ou mais, como para N2 . Os tipos de máquina predefinidos highmem maximizam 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, você pode usar o SQL Server Enterprise no Compute Engine para criar grupos de disponibilidade do SQL Server .

Componentes padrão

As imagens do SQL Server incluem vários componentes por padrão. Os componentes padrão dependem da edição do SQL Server selecionada.

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

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

Antes de começar

  • Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar no Compute Engine selecionando uma das seguintes opções:

    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. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    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. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      3. To initialize the gcloud CLI, run the following command:

        gcloud init
      4. 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.

        If an authentication error is returned, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.

      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.

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

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

Criando uma instância do SQL Server

Para criar uma instância do SQL Server, especifique a família de imagens da versão específica do SQL Server necessária. Para obter 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áquinas com mais CPUs virtuais e maiores quantidades de memória. O Google recomenda que você use tipos de máquina com pelo menos 2 vCPUs e pelo menos 4 GB de memória ao executar instâncias do SQL Server. Você pode usar tipos de máquinas personalizados para configurar instâncias do SQL Server para atender aos requisitos de desempenho da sua carga de trabalho. Além disso, você pode usar discos permanentes maiores e discos permanentes SSD mais rápidos para melhorar o desempenho dos seus aplicativos.

Além disso, você deve definir regras de firewall específicas para permitir o tráfego do SQL Server na rede ou sub-rede VPC da qual sua VM faz parte. Para obter mais informações, consulte Práticas recomendadas para SQL Server .

Console

Para criar uma instância do SQL Server, siga estas etapas:

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

    Vá para 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 suas 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 o acesso ao SQL Server na sua VM. A porta padrão do SQL Server é 1433.

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

    Vá para regras de firewall

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

  3. Especifique os detalhes desta regra de firewall.

    • No campo Nome , especifique um nome para a regra de firewall.
    • No campo Rede , selecione a rede VPC onde sua instância do SQL Server está localizada.
    • Para a Direção do 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 da rede . Se você configurou uma tag ou conta de serviço para sua instância do SQL Server, poderá limitar a regra de firewall à tag ou conta de serviço específica.
    • No campo Filtro de origem , selecione o intervalo de IPs aos quais deseja permitir acesso nesta porta. Para uma regra de entrada, você pode selecionar intervalos IPv4 de origem, intervalos IPv6 de origem, tags de origem ou contas de serviço. Use os campos após o filtro Fonte para fornecer informações adicionais sobre sua escolha.
    • Na seção Protocolos e portas , escolha Protocolos e portas especificados e insira a porta usada pelo SQL Server. Para este exemplo, escolha TCP e insira 1433 , que é a porta padrão.
  4. Clique em Criar para criar esta regra de firewall e permitir acesso à sua instância do SQL Server pela porta 1433.

Se precisar adicionar regras de firewall adicionais à sua VM, consulte a documentação sobre 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 para 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 o seguinte:

  • VM_NAME : o nome da nova instância.
  • IMAGE_FAMILY : uma das famílias de imagens públicas para imagens do Windows Server ou 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 maior produtividade .
  • BOOT_DISK_TYPE : o tipo de disco de inicialização da sua instância. Por exemplo, pd-balanced .

Depois de criar a VM, crie uma regra de firewall para permitir o acesso ao SQL Server na sua 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

onde NETWORK é o nome da rede VPC onde sua VM está localizada.

Se precisar adicionar regras de firewall adicionais à sua VM, consulte a documentação sobre regras de firewall .

Terraforma

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 .

DESCANSAR

Para criar uma VM com a API, inclua a propriedade initializeParams na solicitação de criação de 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 o seguinte:

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

Depois de criar a VM, use o método firewalls.insert para criar uma regra de firewall que permita acesso ao SQL Server na sua 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 o seguinte:

  • PROJECT_ID : o ID do seu projeto.
  • NETWORK : o nome da rede VPC onde sua VM está localizada.

Depois de criar sua instância do SQL Server, defina a senha inicial da VM para que você possa se conectar à VM por meio de RDP. Em seguida, execute o SQL Server Management Studio como administrador para gerenciar bancos de dados em sua instância do SQL Server .

Além disso, você pode aprimorar a instalação do SQL Server com um ou mais dos seguintes itens:

Gerenciando bancos de dados SQL Server

Execute o SQL Server Management Studio como administrador para configurar bancos de dados SQL Server. Você pode baixar e instalar o SQL Server Management Studio em sua estação de trabalho local e usá-lo para conectar-se remotamente ao mecanismo de banco de dados em sua VM.

Se não for possível instalar o Management Studio na estação de trabalho local, conecte-se à VM por meio de RDP e execute o Management Studio na própria VM. O SQL Server 2012 e o SQL Server 2014 incluem o SQL Server Management Studio por padrão. Para o SQL Server 2016, você deve baixar o SQL Server Management Studio do site da Microsoft e instalá-lo 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. Se você precisar usar o modo de autenticação do SQL Server, altere o modo de autenticação .

Atualizando manualmente nomes de instâncias do SQL Server

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

O que vem a seguir