Creazione di istanze VM SQL Server


Microsoft SQL Server è un sistema di database che funziona su Windows Server e su alcune distribuzioni Linux. Puoi usare SQL Server su Compute Engine come parte del backend per le tue applicazioni, come un ambiente flessibile dell'ambiente di rete o in aggiunta ai sistemi on-premise a scopo di backup e e il ripristino di emergenza.

Compute Engine fornisce immagini con Microsoft SQL Server preinstallato su Windows Server. Per queste immagini SQL Server, Compute Engine gestisce la licenza sia per Windows Server sia per SQL Server e include il costo nella fattura mensile. Crea VM con SQL Server ed esegui lo scale out per configurazioni multi-nodo di grandi dimensioni, quando necessario.

Compute Engine archivia i tuoi dati in dischi permanenti con ridondanza automatica e la crittografia at-rest automatica. Utilizza questi dischi permanenti per archiviare i dati di SQL Server senza doverti preoccupare della durabilità o della sicurezza dei dati. Per prestazioni aggiuntive, crea le tue VM con SSD locale come cache che fornisce ulteriori IOPS e prestazioni per le query SQL Server.

Puoi creare istanze di macchine virtuali (VM) Compute Engine che eseguono SQL Server nei seguenti modi:

Per un elenco completo delle immagini disponibili che includono SQL Server preinstallato, consulta Dettagli del sistema operativo.

Requisiti dei tipi di macchina per le immagini SQL Server

SQL Server Standard

Puoi eseguire SQL Server Standard su VM con qualsiasi tipo di macchina, ma con core condiviso tipi di macchine non funzioneranno in modo ottimale. Google consiglia di utilizzare VM con almeno una vCPU per eseguire SQL Server Standard.

SQL Server Enterprise

Le VM che eseguono SQL Server Enterprise devono avere almeno 4 vCPU. Per prestazioni ottimali, Google consiglia di eseguire SQL Server Enterprise su VM con capacità di memoria più grandi. A seconda del carico di lavoro, devi utilizzare tipi di macchine con memoria elevata con almeno 8 vCPU. Questi tipi di macchine massimizzano il rapporto tra memoria e vCPU disponibile su Compute Engine, che è ottimale per le VM SQL Server Enterprise.

Inoltre, puoi utilizzare SQL Server Enterprise su Compute Engine per crea gruppi di disponibilità SQL Server.

Componenti predefiniti

Le immagini SQL Server includono diversi componenti per impostazione predefinita. I componenti predefiniti dipendono dalla versione di SQL Server selezionata.

Per informazioni sui componenti predefiniti inclusi nella tua versione di SQL Server, vedi Versioni e funzionalità supportate di SQL Server 2019.

Per informazioni sulla modifica dei componenti di SQL Server, consulta Aggiungere funzionalità a una VM di SQL Server.

Prima di iniziare

  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine come segue.

    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

      Per utilizzare gli esempi di Terraform in questa pagina in un ambiente dell'ambiente di sviluppo, installare e inizializzare gcloud CLI quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.

      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.

      Per ulteriori informazioni, consulta Set up authentication for a local development environment.

      REST

      Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.

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

        gcloud init

      Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Creazione di un'istanza SQL Server

Per creare un'istanza SQL Server, specifica la famiglia di immagini per la versione specifica di SQL Server di cui hai bisogno. Per un elenco delle immagini SQL Server delle famiglie, vedi Dettagli sul sistema operativo.

Per prestazioni ottimali, le piattaforme di server di database richiedono tipi di macchine con più CPU virtuali e quantità maggiori di memoria. Google ti consiglia di utilizzare tipi di macchina con almeno 2 vCPU e almeno 4 GB di memoria quando esegui SQL Istanze server. Puoi utilizzare tipi di macchine personalizzate per configurare le istanze SQL Server in modo che corrispondano ai requisiti di prestazioni carico di lavoro. Inoltre, puoi usare dischi permanenti più grandi e dischi SSD più veloci per migliorare le prestazioni delle applicazioni.

Inoltre, devi impostare regole firewall specifiche per consentire il traffico di SQL Server sulla rete o sulla sottorete VPC di cui fa parte la VM. Per ulteriori informazioni, consulta le best practice per SQL Server.

Console

Per creare un'istanza SQL Server, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina Crea un'istanza.

    Vai a Crea un'istanza

  2. Specifica i dettagli della VM.

  3. Nella sezione Disco di avvio, fai clic su Cambia, quindi seguenti:

    1. Nella scheda Immagini pubbliche, fai clic sull'elenco Sistema operativo e poi seleziona SQL Server su Windows Server.
    2. Nell'elenco Versione, seleziona una versione.
    3. Nell'elenco Tipo di disco di avvio, seleziona un tipo di disco di avvio.
    4. Nel campo Dimensioni (GB), imposta la dimensione del disco di avvio.
    5. (Facoltativo) Per modificare la configurazione avanzata del disco di avvio, fai clic su Mostra configurazione avanzata e specifica le impostazioni.
    6. Per salvare la configurazione del disco di avvio, fai clic su Seleziona.
  4. Fai clic su Crea.

Dopo aver creato la VM, crea una regola firewall per consentire l'accesso a SQL Server sulla VM. La porta predefinita di SQL Server è 1433.

  1. Nella console Google Cloud, vai alla pagina Regole firewall.

    Vai a Regole firewall

  2. Nella parte superiore della pagina, fai clic su Crea regola firewall per iniziare a creare una regola firewall.

  3. Specifica i dettagli per questa regola firewall.

    • Nel campo Nome, specifica un nome per la regola firewall.
    • Nel campo Rete, seleziona la rete VPC in cui si trova l'istanza SQL Server.
    • Per Direzione del traffico, seleziona In entrata.
    • Nel campo Destinazioni, scegli le destinazioni per la regola firewall. che possono essere tutte le istanze oppure tag di destinazione specifici account di servizio. Ad esempio, puoi selezionare l'opzione Tutte le istanze nella rete. Se hai configurato un account di servizio o un tag per l'istanza SQL Server, puoi limitare la regola firewall all'account di servizio o al tag specifico.
    • Nel campo Filtro di origine, seleziona l'intervallo di IP a cui vuoi consentire l'accesso su questa porta. Per una regola in entrata, puoi selezionare Intervalli IPv4 di origine, intervalli IPv6 di origine, tag di origine o servizio . Utilizza i campi dopo Filtro origine per fornire informazioni aggiuntive sulla tua scelta.
    • Nella sezione Protocolli e porte, scegli Protocolli e porte specificati e inserisci la porta utilizzata da SQL Server. Per questo Ad esempio, scegli TCP e inserisci 1433, che è la porta predefinita.
  4. Fai clic su Crea per creare questa regola firewall e consentire l'accesso all'istanza SQL Server tramite la porta 1433.

Se devi aggiungere altre regole firewall alla VM, consulta la documentazione delle regole firewall.

gcloud

Utilizza il comando compute images list per visualizzare un elenco delle immagini SQL Server disponibili:

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

Utilizza il comando compute instances create per creare una nuova VM e specificare la famiglia di immagini per una delle immagini pubbliche di Windows Server o 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

Sostituisci quanto segue:

  • VM_NAME: il nome della nuova istanza.
  • IMAGE_FAMILY: una delle famiglie di immagini pubbliche per le immagini di Windows Server o SQL Server.
  • MACHINE_TYPE: uno dei tipi di macchine disponibili.
  • BOOT_DISK_SIZE: la dimensione del disco di avvio in GB. I dischi permanenti di grandi dimensioni hanno un throughput più elevato.
  • BOOT_DISK_TYPE: il tipo del disco di avvio per l'istanza. Ad esempio: pd-balanced.

Dopo aver creato la VM, crea una regola firewall per consentire l'accesso a a SQL Server sulla tua VM. La porta predefinita di 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

dove NETWORK è il nome della rete VPC in cui si trova la VM.

Se devi aggiungere altre regole firewall alla VM, consulta la documentazione delle regole firewall.

Terraform

Per creare le istanze VM SQL Server, utilizza la google_compute_instance risorsa.

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
  }
}

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.

REST

Per creare una VM con l'API, includi initializeParams nella richiesta di creazione della VM e specificare un'immagine 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
  }]
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del tuo progetto.
  • ZONE: la zona per questa istanza.
  • VM_NAME: il nome della nuova VM.
  • MACHINE_TYPE: i tipi di macchine disponibili.
  • IMAGE_PROJECT: windows-cloud per le immagini Windows Server o windows-sql-cloud per le immagini Windows Server con SQL Server sono preinstallate.
  • IMAGE_FAMILY: le famiglie di immagini pubbliche per le immagini di Windows Server o SQL Server.
  • BOOT_DISK_SIZE: la dimensione del disco di avvio in GB. I dischi permanenti più grandi velocità effettiva elevata.
  • BOOT_DISK_TYPE: il tipo del disco di avvio per la VM. Ad esempio: pd-ssd.

Dopo aver creato la VM, crea una regola firewall per consentire l'accesso a SQL Server sulla VM. La porta predefinita di 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"
   ]
  }
 ]
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del tuo progetto.
  • NETWORK: il nome della rete VPC in cui si trova la VM.

Dopo aver creato l'istanza SQL Server, imposta la password iniziale per la VM in modo da poterti connetterti alla VM tramite RDP. Quindi, esegui SQL Server Management Studio come amministratore per gestire i database nell'istanza SQL Server.

Inoltre, puoi migliorare l'installazione di SQL Server con uno o più dei seguenti elementi:

Gestione dei database SQL Server

Esegui SQL Server Management Studio come amministratore per configurare i database SQL Server. Puoi scaricare e installare SQL Server Management Studio sulla tua workstation locale e utilizzarlo per connetterti al motore del database sulla VM da remoto.

Se non riesci a installare Management Studio sulla workstation locale, connetterti alla VM tramite RDP ed eseguire Management Studio sulla VM stessa. SQL Server 2012 e SQL Server 2014 includono entrambi SQL Server Management Studio per impostazione predefinita. Per SQL Server 2016, devi scaricare SQL Server Management Studio dal sito web Microsoft e installarlo sulla VM.

Per impostazione predefinita, SQL Server utilizza la modalità di autenticazione Windows per controllare l'accesso remoto allo stesso SQL Server. Per usare la modalità di autenticazione SQL Server, modificare la modalità di autenticazione.

Aggiornamento manuale dei nomi delle istanze SQL Server

Se rinomini una VM che ospita SQL Server, devi aggiornare il nome dell'istanza SQL Server. Per ulteriori informazioni, consulta Rinominare un computer che ospita un'istanza autonoma di SQL o server.

Passaggi successivi