Microsoft SQL Server è un sistema di database che viene eseguito su Windows Server e su alcune distribuzioni Linux. Puoi utilizzare SQL Server su Compute Engine come parte del backend per le tue applicazioni, come ambiente di sviluppo e test flessibile o in aggiunta ai tuoi sistemi on-premise per il backup e il disaster recovery.
Compute Engine fornisce immagini con Microsoft SQL Server preinstallato su Windows Server. Per queste immagini di SQL Server, Compute Engine gestisce la licenza sia per Windows Server che per SQL Server e include il costo nella fattura mensile. Crea istanze di macchine virtuali (VM) con SQL Server e aumenta lo scale out a configurazioni multimodulo di grandi dimensioni quando ne hai bisogno.
Compute Engine archivia i dati su dischi di archiviazione a blocchi durevoli con ridondanza automatica e crittografia at-rest automatica. Utilizza questi dischi per archiviare i dati di SQL Server e non devi preoccuparti della durabilità o della sicurezza dei tuoi dati. Per prestazioni aggiuntive, crea le istanze VM con un'unità SSD locale come cache che fornisce IOPS e prestazioni aggiuntive per le query SQL Server.
Puoi creare istanze VM di Compute Engine che eseguono SQL Server nei seguenti modi:
Crea un'istanza VM utilizzando un'immagine SQL Server. Queste immagini includono una delle diverse versioni di SQL Server che vengono eseguite su Windows Server. Puoi utilizzare queste immagini per eseguire SQL Server su Compute Engine e non devi ottenere una licenza separata da Microsoft.
Esegui la migrazione delle tue licenze SQL Server esistenti a un'istanza VM di Windows Server su Compute Engine e gestisci queste licenze autonomamente.
Per un elenco completo delle immagini disponibili che includono SQL Server preinstallato, consulta Dettagli del sistema operativo.
Requisiti del tipo di macchina per le immagini SQL Server
Il tipo di macchina migliore per SQL Server dipende dalla versione di SQL Server che esegui.
SQL Server Standard
Puoi eseguire SQL Server Standard su istanze VM create con qualsiasi tipo di macchina, ma i tipi di macchine con core condivisi non offrono prestazioni ottimali. Google consiglia di utilizzare istanze VM con almeno una vCPU per eseguire SQL Server Standard.
SQL Server Enterprise
Le istanze VM che eseguono SQL Server Enterprise devono avere almeno 4 vCPU. Per
prestazioni ottimali, Google consiglia di eseguire SQL Server Enterprise su istanze VM
con capacità di memoria maggiori. A seconda del tuo workload, devi utilizzare tipi di macchine predefinite highmem con 8 vCPU o più, ad esempio per N2. I tipi di macchine predefiniti highmem massimizzano il rapporto tra memoria e vCPU disponibile su Compute Engine, il che è ottimale per le VM SQL Server Enterprise.
Puoi utilizzare SQL Server Enterprise su Compute Engine per creare gruppi di disponibilità SQL Server.
Componenti predefiniti
Le immagini di SQL Server includono diversi componenti per impostazione predefinita. I componenti predefiniti dipendono dalla versione di SQL Server che hai selezionato.
Per informazioni sui componenti predefiniti inclusi nella tua versione di SQL Server, consulta Versioni e funzionalità supportate di SQL Server 2019.
Per informazioni sulla modifica dei componenti di SQL Server, consulta Aggiungere funzionalità a un'istanza di SQL Server.
Prima di iniziare
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione verifica la tua identità per l'accesso ad API e servizi Google Cloud . Per eseguire
codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su
Compute Engine selezionando una delle seguenti opzioni:
Seleziona la scheda relativa a come intendi utilizzare i campioni in questa pagina:
Console
Quando utilizzi la console Google Cloud per accedere ai servizi Google Cloud e alle API, non devi configurare l'autenticazione.
gcloud
-
Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:
gcloud initSe utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
- Imposta una regione e una zona predefinite.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Se utilizzi una shell locale, crea le credenziali di autenticazione locali per il tuo account utente:
gcloud auth application-default login
Non è necessario eseguire questa operazione se utilizzi Cloud Shell.
Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.
Terraform
Per utilizzare gli esempi di Terraform in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI.
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Autenticati per usare REST nella documentazione sull'autenticazione di Google Cloud .
Crea 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 famiglie di immagini SQL Server, consulta Dettagli del sistema operativo.
Per prestazioni ottimali, le piattaforme server di database richiedono tipi di macchine con più CPU virtuali e quantità maggiori di memoria. Google consiglia di utilizzare tipi di macchine con almeno 2 vCPU e almeno 4 GB di memoria quando esegui istanze SQL Server. Puoi utilizzare tipi di macchine personalizzate per configurare le istanze SQL Server in modo che corrispondano ai requisiti di prestazioni del tuo carico di lavoro. Puoi utilizzare dischi più grandi o tipi di dischi più veloci per migliorare le prestazioni delle tue applicazioni.
Devi impostare regole firewall specifiche per consentire il traffico SQL Server nella rete VPC o nella subnet di cui fa parte la tua istanza VM. Per maggiori informazioni, vedi Best practice per SQL Server.
Console
Per creare un'istanza SQL Server:
Nella console Google Cloud , vai alla pagina Crea un'istanza.
Specifica i dettagli dell'istanza VM.
Fai clic sulla scheda verticale Sistema operativo e spazio di archiviazione.
Fai clic su Cambia, quindi esegui queste operazioni:
- Nella scheda Immagini pubbliche, fai clic sull'elenco Sistema operativo, quindi seleziona SQL Server su Windows Server.
- Nell'elenco Versione, seleziona una versione.
- Nell'elenco Tipo di disco di avvio, seleziona un tipo di disco di avvio.
- Nel campo Dimensioni (GB), imposta le dimensioni del disco di avvio.
- (Facoltativo) Per modificare la configurazione avanzata del disco di avvio, fai clic su Mostra configurazione avanzata e specifica le impostazioni.
- Per salvare la configurazione del disco di avvio, fai clic su Seleziona.
Nella finestra Crea un'istanza, fai clic su Crea.
Dopo aver creato l'istanza VM, crea una regola firewall per consentire l'accesso a
SQL Server sull'istanza. La porta SQL Server predefinita è 1433.
Nella console Google Cloud , vai alla pagina Regole firewall.
Nella parte superiore della pagina, fai clic su Crea regola firewall.
Specifica i dettagli di 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 o tag di destinazione o service account specificati. Ad esempio, puoi selezionare l'opzione Tutte le istanze nella rete. Se hai configurato un tag o un service account per l'istanza SQL Server, puoi limitare la regola firewall al tag o al account di servizio specifico.
- Nel campo Filtro di origine, seleziona l'intervallo di indirizzi IP a cui vuoi consentire l'accesso su questa porta. Per una regola di ingresso, puoi selezionare intervalli IPv4 di origine, intervalli IPv6 di origine, tag di origine o service account. Utilizza i campi dopo Filtro origine per fornire ulteriori informazioni sulla tua scelta.
- Nella sezione Protocolli e porte, scegli
Protocolli e porte specificati e inserisci la porta utilizzata da SQL Server. Per questo esempio, scegli TCP e inserisci
1433, che è la porta predefinita.
Fai clic su Crea per creare questa regola firewall e consentire l'accesso all'istanza SQL Server tramite la porta specificata.
Se devi aggiungere altre regole firewall alla tua istanza VM, consulta la documentazione sulle 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 Windows Server o SQL Server.
- MACHINE_TYPE: uno dei tipi di macchina disponibili.
- BOOT_DISK_SIZE: le dimensioni del disco di avvio in GB. I dischi permanenti più grandi hanno velocità effettiva più elevata.
- 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 SQL Server sulla VM. La porta SQL Server predefinita è 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 tua VM, consulta la documentazione sulle regole firewall.
Terraform
Per creare le istanze VM SQL Server, utilizza la
risorsa google_compute_instance.
Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.
REST
Per creare una VM con l'API, includi la
proprietà initializeParams
nella richiesta di creazione della VM e specifica 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 macchina disponibili.
- IMAGE_PROJECT:
windows-cloudper le immagini Windows Server owindows-sql-cloudper le immagini Windows Server con SQL Server preinstallato. - IMAGE_FAMILY: le famiglie di immagini pubbliche per le immagini Windows Server o SQL Server.
- BOOT_DISK_SIZE: le dimensioni del disco di avvio in GB. I dischi permanenti più grandi hanno una velocità effettiva più elevata.
- BOOT_DISK_TYPE: il tipo
del disco di avvio per la VM. Ad esempio:
pd-ssd.
Dopo aver creato la VM, utilizza il
metodo firewalls.insert
per creare una regola firewall che consenta l'accesso a SQL Server sulla VM. La porta
SQL Server predefinita è 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 poter connetterti alla VM utilizzando RDP. Esegui SQL Server Management Studio come amministratore per gestire i database nell'istanza SQL Server.
Puoi migliorare l'installazione di SQL Server con uno o più dei seguenti elementi:
- Installa SQL Server Data Tools (SSDT) sull'istanza SQL Server in modo da poter creare e gestire i database SQL Server utilizzando Visual Studio. Connettiti alle VM Windows utilizzando RDP e scarica e installa SSDT dal sito web Microsoft.
- Le immagini SQL Server includono diversi
componenti predefiniti.
Puoi
aggiungere funzionalità all'installazione di SQL Server.
Le immagini di SQL Server includono sempre l'eseguibile di configurazione in
C:\sql_server_install\setup.exe. - Per installare SQL Server su un disco secondario,
aggiungi un disco non di avvio alla VM.
Poi, connettiti all'istanza VM ed esegui il programma di installazione
C:\sql_server_install\setup.exee seleziona un nuovo percorso di installazione sul disco secondario. - Se hai bisogno di spazio di archiviazione aggiuntivo sul disco di avvio o su eventuali dischi di archiviazione secondari, puoi modificare un Hyperdisk o modificare le dimensioni di un Persistent Disk, anche mentre l'istanza VM è in esecuzione.
Gestisci i 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 tua istanza VM.
Se non riesci a installare Management Studio sulla tua workstation locale, connettiti alle VM Windows utilizzando RDP ed esegui Management Studio sull'istanza VM stessa. SQL Server 2012 e SQL Server 2014 includono SQL Server Management Studio per impostazione predefinita. Per SQL Server 2016, devi scaricare SQL Server Management Studio dal sito web Microsoft e installarlo sull'istanza VM.
Per impostazione predefinita, SQL Server utilizza la modalità di autenticazione di Windows per controllare l'accesso a SQL Server stesso. Per utilizzare la modalità di autenticazione SQL Server, puoi modificare la modalità di autenticazione.
Aggiorna i nomi delle istanze SQL Server
Se rinomini una VM che ospita SQL Server, devi aggiornare il nome dell'istanza SQL Server. Per ulteriori informazioni, vedi Rinominare un computer che ospita un'istanza autonoma di SQL Server.
Passaggi successivi
- Verifica che un'istanza sia stata avviata correttamente.
- Crea un nuovo volume Hyperdisk o crea un nuovo volume Persistent Disk e collegalo alla tua istanza VM per archiviare i dati separatamente dal disco di avvio.
- Scopri le best practice per SQL Server su Google Cloud.
- Crea e configura un'istanza SQL Server ad alte prestazioni.
- Utilizza HammerDB per eseguire test di carico su SQL Server.
- Utilizza SQL Server con applicazioni .NET.