Questa sezione descrive le stored procedure per le istanze Cloud SQL.
Una stored procedure contiene codice SQL che puoi riutilizzare.
Per eseguire una stored procedure, utilizza il comando EXEC e sostituisci le seguenti variabili:
- procedure_name è il nome della stored procedure.
- database_name è il nome del database in cui vuoi eseguire la procedura.
- schema_name è il nome dello schema in cui vuoi eseguire la procedura.
EXEC database_name.schema_name.procedure_name @param1, @param2;
Per creare una tua stored procedure, consulta Crea una stored procedure.
Stored procedure di Cloud SQL per SQL Server
Stored procedure per l'utilizzo dell'inserimento collettivo
Per informazioni sull'inserimento collettivo, consulta Utilizza l'inserimento collettivo per importare i dati.
msdb.dbo.gcloudsql_bulk_insert
Sintassi
EXEC msdb.dbo.gcloudsql_bulk_insert @database @schema @object @file ...
Descrizione
Questa stored procedure ha parametri e comportamento simili al comando BULK INSERT.
La stored procedure importa i dati in un'istanza Cloud SQL da un file archiviato in un bucket Cloud Storage. Utilizza l'API interoperabile di Cloud Storage e le chiavi HMAC per autenticare l'accesso al bucket Cloud Storage.
Questa stored procedure ha i seguenti parametri:
| Parametro | Tipo | Descrizione |
|---|---|---|
@database |
SYSNAME |
Specifica il nome del database di destinazione in cui importare i dati. |
@schema |
SYSNAME |
Specifica il nome dello schema a cui appartiene la tabella. |
@object |
NVARCHAR |
Specifica il nome della tabella in cui inserire i dati. |
@file |
NVARCHAR |
Specifica il percorso del file di importazione nel bucket Cloud Storage.
Il percorso deve avere il seguente formato: s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH Sostituisci quanto segue:
|
@batchsize |
INT |
Specifica il numero di righe in un batch. |
@checkconstraints |
BIT |
Specifica che devono essere controllati tutti i vincoli sulla tabella di destinazione. |
@codepage |
NVARCHAR |
Specifica la tabella codici dei dati nel file.
RAW è l'unica opzione predefinita. |
@datafiletype |
NVARCHAR |
Specifica il tipo di file di inserimento collettivo. |
@datasource |
NVARCHAR |
Specifica il nome dell'origine dati esterna da cui vuoi importare i dati. |
@errorfile |
NVARCHAR |
Specifica il percorso del file utilizzato per raccogliere le righe con errori di formattazione.
Il percorso deve avere il seguente formato: s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH Sostituisci quanto segue:
Inoltre, Cloud SQL crea un file con l'estensione |
@errorfiledatasource |
NVARCHAR |
Specifica il nome dell'origine dati esterna in cui vuoi creare il file di errore. |
@firstrow |
INT |
Specifica l'identificatore numerico della prima riga da caricare. |
@firetriggers |
BIT |
Indica che tutti i trigger di inserimento definiti nella tabella di destinazione verranno eseguiti durante le operazioni di inserimento collettivo. |
@formatfiledatasource |
NVARCHAR |
Specifica il nome dell'origine dati esterna da cui caricare il file di formato. |
@keepidentity |
BIT |
Specifica l'utilizzo dei dati di identità del file di importazione per la colonna di identità. I valori sono 0, che significa falso, e 1, che significa vero. |
@keepnulls |
BIT |
Specifica se le colonne vuote devono mantenere un valore null durante l'operazione di importazione collettiva, anziché avere valori predefiniti per le colonne inserite. I valori sono 0, che significa false, e 1, che significa true. |
@kilobytesperbatch |
INT |
Specifica la quantità di dati per batch, in kB. |
@lastrow |
INT |
Specifica l'identificatore numerico dell'ultima riga da caricare. |
@maxerrors |
INT |
Specifica il numero di errori consentiti prima che Cloud SQL annulli l'operazione. |
@ordercolumnsjson |
NVARCHAR |
Specifica l'ordinamento e le colonne in formato JSON. Ad esempio:
[{"name": "COLUMN_NAME","order": "ORDER"},{"name": "COLUMN_NAME","order": "ORDER"}] Sostituisci quanto segue:
|
@rowsperbatch |
INT |
Specifica il numero di righe per batch.
Per ulteriori informazioni sulla selezione di una dimensione del batch, consulta Considerazioni sul rendimento |
@tablock |
BIT |
Specifica che viene applicato un blocco della tabella per la durata dell'operazione di inserimento collettivo. |
@format |
NVARCHAR |
Specifica il formato del file. Utilizza CSV come valore di questo parametro. |
@fieldquote |
NVARCHAR |
Specifica il carattere da utilizzare come virgolette nel file CSV.
Se non specifichi un valore, Cloud SQL utilizza |
@formatfile |
NVARCHAR |
Specifica il percorso del file in Cloud Storage che descrive il formato dei dati da importare.
Il percorso deve avere il seguente formato: s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH Sostituisci quanto segue:
|
@fieldterminator |
NVARCHAR |
Specifica il terminatore di campo per i file di dati char e widechar. |
@rowterminator |
NVARCHAR |
Specifica il terminatore di riga per i file di dati char e widechar. |
Stored procedure per la funzionalità di audit di SQL Server
Per informazioni sull'utilizzo della funzionalità di controllo di SQL Server, consulta Controllo dei database SQL Server.
msdb.dbo.gcloudsql_fn_get_audit_file
Sintassi
msdb.dbo.gcloudsql_fn_get_audit_file
Descrizione
Recupera i dati da un file di controllo creato dalla funzionalità di controllo di SQL Server.
Questa stored procedure accetta gli stessi parametri della funzione sys.fn_get_audit_file. Per saperne di più su msdb.dbo.gcloudsql_fn_get_audit_file, consulta la documentazione relativa a questa funzione.
Stored procedure per Change Data Capture (CDC)
Per saperne di più su CDC, consulta Abilita Change Data Capture.
msdb.dbo.gcloudsql_cdc_enable_db
Sintassi
exec msdb.dbo.gcloudsql_cdc_enable_db databaseName
Descrizione
Attiva Change Data Capture per un database.
databaseName: il nome del database su cui eseguire questa stored procedure.
msdb.dbo.gcloudsql_cdc_disable_db
Sintassi
exec msdb.dbo.gcloudsql_cdc_disable_db databaseName
Descrizione
Disattiva CDC per un database.
databaseName: il nome del database su cui eseguire questa stored procedure.
Stored procedure per la replica esterna con Cloud SQL come publisher
Per saperne di più sulla pubblicazione per un sottoscrittore esterno o per un'altra istanza Cloud SQL, consulta Configura le repliche esterne.
msdb.dbo.gcloudsql_transrepl_setup_distribution
Sintassi
exec msdb.dbo.gcloudsql_transrepl_setup_distribution @login,@password
Descrizione
Una stored procedure wrapper che configura un database di distribuzione. Il wrapper chiama quanto segue: sp_adddistributor, sp_adddistributiondb e sp_adddistpublisher.
- login: un accesso esistente utilizzato per connettersi e creare il database di distribuzione.
- password: la password utilizzata per la connessione al distributore.
msdb.dbo.gcloudsql_transrepl_replicationdboption
Sintassi
exec msdb.dbo.gcloudsql_transrepl_replicationdboption @db,@value
Descrizione
Attiva o disattiva l'opzione di pubblicazione di un database per il publisher che utilizza sp_replicationdboption.
- db: il database per cui viene impostata l'opzione di replica.
- value: consente di specificare
Trueper attivare l'opzione di pubblicazione oFalseper disattivarla.
msdb.dbo.gcloudsql_transrepl_addlogreader_agent
Sintassi
exec msdb.dbo.gcloudsql_transrepl_addlogreader_agent @db,@login,@password
Descrizione
Configura l'agente di lettura dei log per un database che utilizza sp_addlogreader_agent.
- db: il database da pubblicare.
- login: l'accesso utilizzato per la connessione all'editore.
- password: la password utilizzata per la connessione.
msdb.dbo.gcloudsql_transrepl_addpublication
Sintassi
exec msdb.dbo.gcloudsql_transrepl_addpublication @db,@publication
Descrizione
Crea la pubblicazione transazionale e funge da stored procedure wrapper per sp_addpublication.
- db: il database in fase di pubblicazione.
- publication: nome della nuova pubblicazione creata.
msdb.dbo.gcloudsql_transrepl_droppublication
Sintassi
exec msdb.dbo.gcloudsql_transrepl_droppublication @db,@publication
Descrizione
Elimina la pubblicazione transazionale e funge da stored procedure wrapper per sp_droppublication.
- db: database per cui viene eliminata la pubblicazione.
- publication: il nome della pubblicazione eliminata.
msdb.dbo.gcloudsql_transrepl_addpublication_snapshot
Sintassi
exec msdb.dbo.gcloudsql_transrepl_addpublication_snapshot @db,@publication,@login,@password
Descrizione
Crea un agente snapshot per il database in fase di pubblicazione, fungendo da stored procedure wrapper per sp_addpublication_snapshot.
- db: database per cui viene eliminata la pubblicazione.
- publication: il nome della pubblicazione eliminata.
- login: l'accesso utilizzato per la connessione all'editore.
- password: la password utilizzata per la connessione.
msdb.dbo.gcloudsql_transrepl_addpushsubscription_agent
Sintassi
exec msdb.dbo.gcloudsql_transrepl_addpushsubscription_agent
@db,@publication,@subscriber_db,@subscriber_login,
@subscriber_password,@subscriber
Descrizione
Crea un nuovo job dell'agente pianificato per sincronizzare la sottoscrizione push, fungendo da stored procedure wrapper per sp_addpushsubscription_agent.
- db: il database pubblicato.
- publication: nome della pubblicazione a cui aggiungere un agente di sottoscrizione push.
- subscriber_db: il database sul sottoscrittore.
- subscriber_login: l'accesso utilizzato per la connessione al sottoscrittore.
- subscriber_password: la password utilizzata per la connessione al sottoscrittore.
- subscriber: il nome IP dell'istanza del sottoscrittore. Questo valore può essere specificato come:
<Hostname>,<PortNumber>
msdb.dbo.gcloudsql_transrepl_addmonitoraccess
Sintassi
exec msdb.dbo.gcloudsql_transrepl_addmonitoraccess @login
Descrizione
Fornisce l'accesso a Monitoraggio replica e all'istruzione SELECT sulle tabelle relative alla replica nel database di distribuzione.
- login: il login utilizzato per accedere al monitoraggio della replica.
msdb.dbo.gcloudsql_transrepl_changedistributor_property
Sintassi
exec msdb.dbo.gcloudsql_transrepl_changedistributor_property @property,@value
Descrizione
Questa stored procedure modifica heartbeat_interval e
unisce sp_changedistributor_property. Per saperne di più, consulta la documentazione per sp_changedistributor_property. Consulta anche la documentazione per ulteriori informazioni sul valore heartbeat_interval.
- property: la proprietà di un database di distribuzione.
- value: il valore da fornire per la proprietà specificata.
msdb.dbo.gcloudsql_transrepl_dropsubscriber
Sintassi
exec msdb.dbo.gcloudsql_transrepl_dropsubscriber @subscriber
Descrizione
Rimuove il sottoscrittore, fungendo da stored procedure wrapper per sp_dropsubscriber.
- subscriber: il nome IP del sottoscrittore da eliminare. Questo valore può essere specificato come:
<Hostname>,<PortNumber>
msdb.dbo.gcloudsql_transrepl_remove_distribution
Sintassi
exec msdb.dbo.gcloudsql_transrepl_remove_distribution
Descrizione
Rimuove la configurazione della distribuzione, fungendo da stored procedure wrapper per: sp_dropdistpublisher, sp_dropdistributiondb e sp_dropdistributor.
Stored procedure per la configurazione dei livelli di compatibilità del database
Per informazioni sui livelli di compatibilità del database, consulta Livello di compatibilità ALTER DATABASE (Transact-SQL).
msdb.dbo.gcloudsql_set_compat_level_for_master_db
Sintassi
EXEC msdb.dbo.gcloudsql_set_compat_level_for_master_db @compatibility_level
Descrizione
Imposta il livello di compatibilità per il database master. In Cloud SQL per SQL Server, gli utenti non dispongono delle autorizzazioni necessarie per modificare direttamente il database master. Questa stored procedure consente di modificare il livello di compatibilità, fungendo da wrapper per il comando ALTER DATABASE [master] SET COMPATIBILITY_LEVEL.
- compatibility_level: un valore intero che specifica il livello di compatibilità da applicare (ad esempio 130, 140 o 150). Il valore deve essere almeno 130.
Stored procedure per l'esportazione dei dati di accesso
Per informazioni sull'esportazione degli accessi, consulta Esporta gli accessi SQL Server.
msdb.dbo.sp_help_revlogin
Sintassi
EXEC msdb.dbo.sp_help_revlogin [@login_name = 'LOGIN_NAME']
Descrizione
Genera script Transact-SQL (T-SQL) contenenti istruzioni CREATE LOGIN per trasferire login, identificatori di sicurezza (SID) e hash delle password da un'istanza Cloud SQL per SQL Server.
Per installare la stored procedure sp_help_revlogin nel database msdb,
attiva il flag di database cloud sql enable sp_help_revlogin nell'istanza.
- login_name: (facoltativo) specifica il nome di un login specifico da esportare. Se omesso o impostato su
NULL, la stored procedure genera script per tutti gli accessi idonei.
La stored procedure genera script utilizzando istruzioni T-SQL PRINT anziché set di risultati tabulari. Poiché Cloud SQL Studio mostra solo i risultati delle query tabulari, utilizza uno strumento client come SQL Server Management Studio (SSMS), Visual Studio Code con l'estensione MSSQL o sqlcmd per visualizzare ed esportare gli script generati.
sp_help_revlogin esclude automaticamente i service account Google Cloud ,
gli account di sistema SQL Server interni (come gli accessi con prefisso ##)
e gli accessi assegnati a sysadmin o ad altri ruoli del server amministrativo
con restrizioni.
Passaggi successivi
- Scopri come esportare gli accessi SQL Server.
- Scopri come abilitare Change Data Capture (CDC).
- Scopri come configurare le repliche esterne.