Como criar instâncias

Esta página descreve como criar uma instância do Cloud SQL para o SQL Server.

Para saber mais sobre todas as configurações de instância, veja o artigo Configurações de instância.

Depois de criar uma instância do Cloud SQL, adicione bancos de dados a ela, criando ou importando.

Como criar uma instância

Console

  1. Acesse a página Instâncias do Cloud SQL no Console do Google Cloud.

    Acessar a página "Instâncias" do Cloud SQL

  2. Clique em Criar instância.
  3. Selecione SQL Server e clique em Próxima.
  4. Insira um nome.

    Não inclua informações confidenciais ou de identificação pessoal no nome da sua instância. Ele é visível externamente.
    Não é necessário incluir o ID do projeto no nome da instância. Isso é feito automaticamente quando necessário, como nos arquivos de registros, por exemplo.

  5. Insira uma senha para o usuário.
  6. Em Local, selecione a região e a zona da instância.

    Coloque a instância na mesma região que os recursos que a acessam. A região selecionada não poderá ser modificada no futuro. Na maioria dos casos, você não precisa especificar uma zona.

  7. Em Opções de configuração, atualize as outras configurações que forem necessárias para a instância:

    Configuração Observações
    Versão do banco de dados
    Versão do banco de dados SQL Server 2017 Standard (padrão)
    SQL Server 2017 Enterprise
    SQL Server 2017 Express
    SQL Server 2017 Web
    Conectividade
    IP privado Adiciona um endereço IP privado à instância. Para ativar a conexão com a instância, é necessário fazer configurações adicionais.
    IP público Adiciona um endereço IP público à instância. Para ativar a conexão com a instância, é necessário fazer configurações adicionais.
    Tipo de máquina e armazenamento
    Núcleos Número de vCPUs da instância. Saiba mais
    Memória A quantidade de memória da instância, em GB. Saiba mais
    Tipo de armazenamento Indica que a instância usa armazenamento SSD. Todas as instâncias do SQL Server usam armazenamento SSD. Saiba mais
    Capacidade de armazenamento A quantidade de armazenamento provisionada para a instância. Saiba mais
    Aumento automático de armazenamento Determina se o Cloud SQL fornece automaticamente mais armazenamento para sua instância quando há pouco espaço livre. Saiba mais
    Backups automáticos e alta disponibilidade
    Alta disponibilidade Para configurar sua instância para alta disponibilidade, selecione a opção Alta disponibilidade (regional). Saiba mais
    Backups automáticos A janela de tempo que você quer que os backups comecem.
    Redes autorizadas
    Sinalizações do banco de dados
    Sinalizações e parâmetros Você pode usar sinalizações do banco de dados para controlar configurações e na instância. Saiba mais.

    Além disso, é possível definir um valor padrão para o tipo de compilação usado para os bancos de dados na instância. Em Compilação padrão, no menu suspenso, é possível especificar um valor padrão para classificar dados e operações relacionadas. Este valor determina as regras de classificação padrão, o caso e a diferenciação de acentos para os bancos de dados da instância, o que pode reduzir o esforço posteriormente. Este padrão de compilação é permanente no nível da instância, mas não no nível do banco de dados. É possível alterar este padrão com uma ferramenta de administração de banco de dados, mas somente para um banco de dados específico que você esteja criando ou atualizando. Não é possível alterar o padrão de compilação de uma instância após a criação dela (a menos que você recrie a instância). Para mais informações sobre ordenações no SQL Server, consulte Suporte para compilação e Unicode.
    Cronograma de manutenção
    Janela de manutenção Determina uma janela de uma hora em que o Cloud SQL pode executar a manutenção disruptiva na instância. Se você não definir a janela, uma manutenção disruptiva poderá ser feita a qualquer momento. Saiba mais
    Dia/hora da manutenção Horário de sua preferência para as atualizações de instâncias, em relação a outras instâncias no mesmo projeto. Saiba mais

  8. Clique em Criar
  9. Depois que a instância terminar a inicialização, clique no nome dela para abri-la.

gcloud

Para ver informações sobre como instalar e dar os primeiros passos com a ferramenta de linha de comando gcloud, consulte Como instalar o SDK do Cloud. Para mais informações sobre como iniciar o Cloud Shell, consulte a documentação do Cloud Shell.

Até o início de março de 2020, use a versão Beta do comando gcloud sql instances create. Ou seja, use o comando gcloud beta sql instances create.

Além disso, use gcloud na versão 243.0.0 ou posterior.

  1. Crie a instância:
    gcloud sql instances create [INSTANCE_NAME] \
    --database-version=SQLSERVER_2017_STANDARD \
    --cpu=[NUMBER_CPUS] \
    --memory=[MEMORY_SIZE] \
    --root-password=[INSERT-PASSWORD-HERE]
    

    Não inclua informações de identificação pessoal ou confidenciais no nome da sua instância. Elas são visíveis externamente.
    Não é necessário incluir o ID do projeto no nome da instância. Isso é feito automaticamente quando necessário, como nos arquivos de registros, por exemplo.

    Há restrições quanto ao valor das vCPUs e tamanho de memória:

    Opções padrão (leves e com grande quantidade de memória) também estão disponíveis. Consulte o Console do Google Cloud para mais informações:

    Versão CPU/Memória
    SQL Server 2017 Express Selecione a partir das opções predefinidas:
    • 1vCPU, 3,75 GB
    • 2vCPU, 3,75 GB
    • 4vCPU, 3,75 GB
    SQL Server 2017 Web Selecione a partir das opções predefinidas ou personalizadas:
    • 1vCPU, 4 GB
    • 2vCPUs, 8 GB
    • 4vCPUs, 16 GB
    • 1 a 16 vCPUs, 4 a 64 GB
    SQL Server 2017 Standard Selecione a partir das opções predefinidas ou personalizadas:
    • 1vCPU, 4 GB
    • 2vCPUs, 8 GB
    • 4vCPUs, 16 GB
    • 1 a 24 vCPUs, 4 a 104 GB
    SQL Server 2017 Enterprise Selecione a partir das opções predefinidas ou personalizadas:
    • 2vCPU, 8 GB
    • 4vCPU, 16 GB
    • 2 a 96 vCPUs, 8 a 104 GB

    Por exemplo, a string a seguir cria uma instância com duas vCPUs e 7.680 MB de memória:

    gcloud sql instances create myinstance \
    --database-version=SQLSERVER_2017_STANDARD \
    --cpu=2 \
    --memory=7680MB \
    --root-password=[INSERT-PASSWORD-HERE]
    

    Para alguns valores de amostra, consulte Tipos de máquinas de amostra.

    Também é possível criar uma instância de núcleo compartilhado usando --tier db-f1-micro ou --tier db-g1-small e descartando os parâmetros --cpu e --memory.

    Você pode adicionar mais parâmetros para determinar outras configurações da instância:

    Configuração Parâmetro Observações
    Parâmetros obrigatórios
    Versão do banco de dados --database-version SQLSERVER_2017_STANDARD, SQLSERVER_2017_ENTERPRISE, SQLSERVER_2017_EXPRESS ou SQLSERVER_2017_WEB
    Region --region Consulte os valores válidos.
    Conectividade
    IP privado --network Especifica o nome da rede VPC que você quer usar para a instância. O acesso a serviços particulares já precisa estar configurado na rede. Disponível apenas para o comando Beta (gcloud beta sql instances create). Saiba mais.
    IP público --authorized-networks Nas conexões de IP público, apenas as conexões de redes autorizadas podem se conectar à instância. Saiba mais
    Tipo de máquina e armazenamento
    Machine type --tier Usado para especificar uma instância de núcleo compartilhado (db-f1-micro ou db-g1-small). Não é possível especificar os parâmetros --cpu ou --memory ao usar esse parâmetro.
    Storage type --storage-type Indica que a instância usa armazenamento SSD (todas as instâncias do SQL Server usam armazenamento SSD). Saiba mais
    Capacidade de armazenamento --storage-size Quantidade de armazenamento provisionada para a instância, em GB. Saiba mais.
    Aumento automático de armazenamento --storage-auto-increase Determina se o Cloud SQL fornece automaticamente mais armazenamento para sua instância quando há pouco espaço livre. Saiba mais
    Limite de aumento automático de armazenamento --storage-auto-increase-limit Determina o quanto o Cloud SQL pode expandir o armazenamento automaticamente. Disponível apenas para o comando Beta (gcloud beta sql instances create). Saiba mais.
    Backups automáticos e alta disponibilidade
    Alta disponibilidade --availability-type Para uma instância altamente disponível, defina como REGIONAL. Saiba mais.
    Backups automáticos --backup-start-time A janela do horário que você quer que os backups comecem. Saiba mais
    Adicionar sinalizações do banco de dados
    Sinalizações do banco de dados --database-flags Você pode usar sinalizações do banco de dados para controlar configurações e parâmetros na instância. Saiba mais sobre as sinalizações do banco de dados. Saiba mais sobre como formatar este parâmetro.
    Adicionar uma compilação padrão
    Compilação padrão --collation É possível definir um valor padrão para o tipo de compilação usado para os bancos de dados na instância. Por exemplo, é possível especificar o seguinte valor para este parâmetro:
    SQL_Latin1_General_CP1_CI_AS

    Este padrão de compilação é permanente no nível da instância, mas não no nível do banco de dados. É possível alterar este padrão com uma ferramenta de administração de banco de dados, mas somente para um banco de dados específico que você esteja criando ou atualizando. Não é possível alterar o padrão de compilação de uma instância após a criação dela, a menos que você recrie a instância. Para mais informações sobre compilações no SQL Server, consulte Suporte para compilação e Unicode.
    Definir a programação das manutenções
    Janela de manutenção --maintenance-window-day,
    --maintenance-window-hour
    Determina uma janela de uma hora em que o Cloud SQL pode executar a manutenção disruptiva na instância. Se você não definir a janela, uma manutenção disruptiva poderá ser feita a qualquer momento. Saiba mais
    Dia/hora da manutenção --maintenance-release-channel Horário de sua preferência para as atualizações de instâncias, em relação a outras instâncias no mesmo projeto. Use preview para atualizações anteriores e production para atualizações posteriores. Saiba mais.

  2. Observe o endereço IP atribuído automaticamente.

    Se não estiver usando o Cloud SQL Proxy, você usará esse endereço como o endereço do host que seus aplicativos ou ferramentas usam para se conectar à instância.

  3. Defina a senha do usuário:
    gcloud sql users set-password sqlserver no-host --instance=[INSTANCE_NAME] \
           --password=[PASSWORD]
    

REST

1. Crie a instância

Para uma lista completa de parâmetros dessa chamada, consulte a página Instances:insert. Para informações sobre configurações de instância, incluindo valores válidos para a região e o tipo de máquina, consulte Configurações de instância.

Não inclua informações de identificação pessoal ou confidenciais em instance-id. O valor é visível externamente.
Não é necessário incluir o ID do projeto no nome da instância. Isso é feito automaticamente quando necessário, como nos arquivos de registros, por exemplo.

O parâmetro tier contém uma string que representa o número de CPUs e a quantidade de memória da nova instância. A string tem o seguinte formato: db-custom-[CPUS]-[MEMORY_MBS]. Para alguns exemplos, consulte Tipos de máquinas de amostra. Além disso, é possível criar uma instância de núcleo compartilhado fornecendo db-f1-micro ou db-g1-small como o valor do parâmetro tier.

O parâmetro collation (não mostrado na chamada de API básica abaixo) permite que você defina um valor padrão para o tipo de compilação usado para os bancos de dados na sua instância. Esse padrão de compilação é permanente no nível da instância, mas não no nível do banco de dados. É possível alterar este padrão com uma ferramenta de administração de banco de dados, mas somente para um banco de dados específico que você esteja criando ou atualizando. Não é possível alterar o padrão de compilação de uma instância depois de criá-la, a menos que você recrie a instância. Para mais informações sobre ordenações no SQL Server, consulte Suporte para compilação e Unicode. Para o protótipo de um corpo JSON, consulte Configurações (em inglês). Veja um exemplo de string que pode ser especificada para o parâmetro collation: SQL_Latin1_General_CP1_CI_AS.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-id: o ID do projeto
  • instance-id: o ID da instância buscada
  • region: a região desejada
  • database-version: string de enum da versão do banco de dados. Por exemplo: SQLSERVER_2017_STANDARD
  • password: a senha do usuário raiz
  • machine-type: string de enum do tipo de máquina (camada), como: db-custom-[CPUS]-[MEMORY_MBS]

Método HTTP e URL:

POST https://www.googleapis.com/sql/v1beta4/projects/project-id/instances

Corpo JSON da solicitação:

{
  "name": "instance-id",
  "region": "region",
  "databaseVersion": "database-version",
  "rootPassword": "password",
  "settings": {
    "tier": "machine-type",
    "backupConfiguration": {
      "enabled": true
    }
  }
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "kind": "sql#operation",
  "targetLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-01T19:13:21.834Z",
  "operationType": "CREATE",
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

Depois que a instância é criada, é possível configurar a conta de usuário padrão.

2. Recuperar o endereço IPv4 da instância

Opcionalmente, você pode recuperar o endereço IPv4 atribuído automaticamente. Na resposta, esse endereço está no campo ipAddress.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-id: o ID do projeto
  • instance-id: o ID da instância, criado na etapa anterior

Método HTTP e URL:

GET https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "kind": "sql#instance",
  "state": "RUNNABLE",
  "databaseVersion": "database-version",
  "settings": {
    "authorizedGaeApplications": [],
    "tier": "machine-type",
    "kind": "sql#settings",
    "pricingPlan": "PER_USE",
    "replicationType": "SYNCHRONOUS",
    "activationPolicy": "ALWAYS",
    "ipConfiguration": {
      "authorizedNetworks": [],
      "ipv4Enabled": true
    },
    "locationPreference": {
      "zone": "zone",
      "kind": "sql#locationPreference"
    },
    "dataDiskType": "PD_SSD",
    "backupConfiguration": {
      "startTime": "19:00",
      "kind": "sql#backupConfiguration",
      "enabled": true
    },
    "settingsVersion": "1",
    "dataDiskSizeGb": "10"
  },
  "etag": "--redacted--",
  "ipAddresses": [
    {
      "type": "PRIMARY",
      "ipAddress": "10.0.0.1"
    }
  ],
  "serverCaCert": {
    ...
  },
  "instanceType": "CLOUD_SQL_INSTANCE",
  "project": "project-id",
  "serviceAccountEmailAddress": "redacted@gcp-sa-cloud-sql.iam.gserviceaccount.com",
  "backendType": "backend-type",
  "selfLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
  "connectionName": "project-id:region:instance-id",
  "name": "instance-id",
  "region": "region",
  "gceZone": "zone"
}

Exemplos de tipos de máquinas

Com tipos de máquina personalizados, você pode configurar sua instância com a quantidade de memória e CPUs que precisa. No entanto, existem algumas restrições de valores:

  • O valor das vCPUs precisa ser 1 ou um número par entre 2 e 96.
  • A memória precisa:
    • ter 0,9 a 6,5 GB por vCPU;
    • ser um múltiplo de 256 MB;
    • ter pelo menos 3,75 GB (3.840 MB).

Veja alguns exemplos de valores, com base nos tipos de máquina predefinidos disponíveis para instâncias do SQL Server:

Tipo de máquina predefinido vCPUs Memória (MB) String de nível da API
db-n1-standard-1 1 3.840 db-custom-1-3840
db-n1-standard-2 2 7.680 db-custom-2-7680
db-n1-standard-4 4 15.360 db-custom-4-15360
db-n1-standard-8 8 30.720 db-custom-8-30720
db-n1-standard-16 16 61.440 db-custom-16-61440
db-n1-standard-32 32 122.880 db-custom-32-122880
db-n1-standard-64 64 245.760 db-custom-64-245760
db-n1-standard-96 96 368640 db-custom-96-368640
db-n1-highmem-2 2 13.312 db-custom-2-13312
db-n1-highmem-4 4 26.624 db-custom-4-26624
db-n1-highmem-8 8 53.248 db-custom-8-53248
db-n1-highmem-16 16 106.496 db-custom-16-106496
db-n1-highmem-32 32 212.992 db-custom-32-212992
db-n1-highmem-64 64 425.984 db-custom-64-425984
db-n1-highmem-96 96 638976 db-custom-96-638976

A seguir