Esta secção descreve os procedimentos armazenados para instâncias do Cloud SQL.
Um procedimento armazenado contém código SQL que pode reutilizar.
Para executar um procedimento armazenado, use o comando EXEC
e substitua as seguintes variáveis:
- procedure_name é o nome do procedimento armazenado.
- database_name é o nome da base de dados onde quer executar o procedimento.
- schema_name é o nome do esquema onde quer executar o procedimento.
EXEC database_name.schema_name.procedure_name @param1, @param2;
Para criar o seu próprio procedimento armazenado, consulte o artigo Crie um procedimento armazenado.
Procedimentos armazenados do Cloud SQL para SQL Server
Procedimento armazenado para usar a inserção em massa
Para obter informações sobre a inserção em massa, consulte o artigo Use a inserção em massa para importar dados.
msdb.dbo.gcloudsql_bulk_insert
Sintaxe
EXEC msdb.dbo.gcloudsql_bulk_insert @database @schema @object @file ...
Descrição
Este procedimento armazenado tem parâmetros e comportamento semelhantes ao comando BULK INSERT.
O procedimento armazenado importa dados para uma instância do Cloud SQL a partir de um ficheiro armazenado num contentor do Cloud Storage. Usa a API interoperável do Cloud Storage e as chaves HMAC para autenticar o acesso ao contentor do Cloud Storage.
Este procedimento armazenado tem os seguintes parâmetros:
Parâmetro | Tipo | Descrição |
---|---|---|
@database |
SYSNAME |
Especifica o nome da base de dados de destino para a qual os dados vão ser importados. |
@schema |
SYSNAME |
Especifica o nome do esquema ao qual a tabela pertence. |
@object |
NVARCHAR |
Especifica o nome da tabela onde os dados devem ser inseridos. |
@file |
NVARCHAR |
Especifica o caminho para o ficheiro de importação no contentor do Cloud Storage.
O caminho tem de ter o seguinte formato: s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH Substitua o seguinte:
|
@batchsize |
INT |
Especifica o número de linhas num lote. |
@checkconstraints |
BIT |
Especifica que todas as restrições na tabela de destino têm de ser verificadas. |
@codepage |
NVARCHAR |
Especifica a página de códigos dos dados no ficheiro.
RAW é a opção predefinida e única. |
@datafiletype |
NVARCHAR |
Especifica o tipo de ficheiro de inserção em massa. |
@datasource |
NVARCHAR |
Especifica o nome da origem de dados externa a partir da qual quer importar os dados. |
@errorfile |
NVARCHAR |
Especifica o caminho para o ficheiro usado para recolher linhas com erros de formatação.
O caminho tem de ter o seguinte formato: s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH Substitua o seguinte:
Além disso, o Cloud SQL cria um ficheiro com a extensão
|
@errorfiledatasource |
NVARCHAR |
Especifica o nome da origem de dados externa na qual quer criar o ficheiro de erros. |
@firstrow |
INT |
Especifica o identificador numérico da primeira linha a carregar. |
@firetriggers |
BIT |
Indica que quaisquer acionadores de inserção definidos na tabela de destino seriam executados durante as operações de inserção em massa. |
@formatfiledatasource |
NVARCHAR |
Especifica o nome da origem de dados externa a partir da qual deve carregar o ficheiro de formato. |
@keepidentity |
BIT |
Especifica a utilização de dados de identidade do ficheiro de importação para a coluna de identidade. Os valores são 0 , que significa falso, e 1 , que significa verdadeiro. |
@keepnulls |
BIT |
Especifica se as colunas vazias devem manter um valor nulo durante a operação de importação em massa, em vez de terem valores predefinidos para as colunas inseridas. Os valores são 0 , que significa falso, e 1 , que significa verdadeiro. |
@kilobytesperbatch |
INT |
Especifica a quantidade de dados por lote, em KB. |
@lastrow |
INT |
Especifica o identificador numérico da última linha a carregar. |
@maxerrors |
INT |
Especifica o número de erros permitidos antes de o Cloud SQL cancelar a operação. |
@ordercolumnsjson |
NVARCHAR |
Especifica a ordem de ordenação e as colunas no formato JSON. Por exemplo:
[{"name": "COLUMN_NAME","order": "ORDER"},{"name": "COLUMN_NAME","order": "ORDER"}] Substitua o seguinte:
|
@rowsperbatch |
INT |
Especifica o número de linhas por lote.
Para mais informações sobre a seleção de um tamanho do lote, consulte o artigo Considerações sobre o desempenho |
@tablock |
BIT |
Especifica que é feito um bloqueio da tabela durante a operação de inserção em massa. |
@format |
NVARCHAR |
Especifica o formato do ficheiro. Use CSV como o valor deste parâmetro. |
@fieldquote |
NVARCHAR |
Especifica o caráter a usar como caráter de aspas no ficheiro CSV.
Se não especificar um valor, o Cloud SQL usa |
@formatfile |
NVARCHAR |
Especifica o caminho do ficheiro no Cloud Storage que descreve o formato dos dados a importar.
O caminho deve ter o seguinte formato: s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH Substitua o seguinte:
|
@fieldterminator |
NVARCHAR |
Especifica o terminador de campo para ficheiros de dados char e widechar. |
@rowterminator |
NVARCHAR |
Especifica o terminador de linhas para ficheiros de dados char e widechar. |
Procedimentos armazenados para a funcionalidade de auditoria do SQL Server
Para obter informações sobre a utilização da funcionalidade de auditoria do SQL Server, consulte o artigo Auditoria da base de dados do SQL Server.
msdb.dbo.gcloudsql_fn_get_audit_file
Sintaxe
msdb.dbo.gcloudsql_fn_get_audit_file
Descrição
Obtém os dados de um ficheiro de auditoria criado pela funcionalidade de auditoria do SQL Server.
Este procedimento armazenado aceita os mesmos parâmetros que a função
sys.fn_get_audit_file
. Consulte a
documentação dessa função
para mais informações relacionadas com
msdb.dbo.gcloudsql_fn_get_audit_file
.
Procedimentos armazenados para a captura de dados de alterações (CDC)
Para mais informações sobre a CDC, consulte o artigo Ative a captura de dados de alterações.
msdb.dbo.gcloudsql_cdc_enable_db
Sintaxe
exec msdb.dbo.gcloudsql_cdc_enable_db databaseName
Descrição
Ativa a captura de dados de alterações para uma base de dados.
databaseName
– Nome da base de dados na qual executar este procedimento armazenado.
msdb.dbo.gcloudsql_cdc_disable_db
Sintaxe
exec msdb.dbo.gcloudsql_cdc_disable_db databaseName
Descrição
Desativa a CDC para uma base de dados.
databaseName
– Nome da base de dados na qual executar este procedimento armazenado.
Procedimentos armazenados para replicação externa com o Cloud SQL como publicador
Para mais informações sobre a publicação num subscritor externo ou noutra instância do Cloud SQL, consulte o artigo Configure réplicas externas.
msdb.dbo.gcloudsql_transrepl_setup_distribution
Sintaxe
exec msdb.dbo.gcloudsql_transrepl_setup_distribution @login,@password
Descrição
Um procedimento armazenado de wrapper que configura uma base de dados de distribuição. O wrapper chama o seguinte: sp_adddistributor, sp_adddistributiondb, e sp_adddistpublisher.
- login: um início de sessão existente usado para estabelecer ligação e criar a base de dados de distribuição.
- password: a palavra-passe usada ao estabelecer ligação ao distribuidor.
msdb.dbo.gcloudsql_transrepl_replicationdboption
Sintaxe
exec msdb.dbo.gcloudsql_transrepl_replicationdboption @db,@value
Descrição
Ativa ou desativa a opção de publicação de uma base de dados para o publicador que usa sp_replicationdboption.
- db: a base de dados para a qual a opção de replicação está a ser definida.
- value: permite especificar
True
para ativar a opção de publicação ouFalse
para desativar a opção de publicação.
msdb.dbo.gcloudsql_transrepl_addlogreader_agent
Sintaxe
exec msdb.dbo.gcloudsql_transrepl_addlogreader_agent @db,@login,@password
Descrição
Configura o agente do leitor de registos para uma base de dados que usa sp_addlogreader_agent.
- db: base de dados a publicar.
- login: início de sessão usado quando se estabelece ligação ao publicador.
- password: a palavra-passe usada quando se liga.
msdb.dbo.gcloudsql_transrepl_addpublication
Sintaxe
exec msdb.dbo.gcloudsql_transrepl_addpublication @db,@publication
Descrição
Cria a publicação transacional e funciona como um procedimento armazenado de wrapper para sp_addpublication.
- db: base de dados a ser publicada.
- publication: nome da nova publicação criada.
msdb.dbo.gcloudsql_transrepl_droppublication
Sintaxe
exec msdb.dbo.gcloudsql_transrepl_droppublication @db,@publication
Descrição
Elimina a publicação transacional e atua como um procedimento armazenado de wrapper para sp_droppublication.
- db: base de dados para a qual a publicação é ignorada.
- publication: nome da publicação removida.
msdb.dbo.gcloudsql_transrepl_addpublication_snapshot
Sintaxe
exec msdb.dbo.gcloudsql_transrepl_addpublication_snapshot @db,@publication,@login,@password
Descrição
Cria um agente de instantâneo para a base de dados que está a ser publicada, atuando como um procedimento armazenado de wrapper para sp_addpublication_snapshot.
- db: base de dados para a qual a publicação é ignorada.
- publication: nome da publicação removida.
- login: início de sessão usado quando se estabelece ligação ao publicador.
- password: a palavra-passe usada quando se liga.
msdb.dbo.gcloudsql_transrepl_addpushsubscription_agent
Sintaxe
exec msdb.dbo.gcloudsql_transrepl_addpushsubscription_agent
@db,@publication,@subscriber_db,@subscriber_login,
@subscriber_password,@subscriber
Descrição
Cria uma nova tarefa de agente agendada para sincronizar a subscrição de envio, atuando como um procedimento armazenado de wrapper para sp_addpushsubscription_agent.
- db: base de dados publicada.
- publication: nome da publicação à qual adicionar um agente de subscrição push.
- subscriber_db: a base de dados no subscritor.
- subscriber_login: o início de sessão usado quando se liga ao subscritor.
- subscriber_password: a palavra-passe usada ao estabelecer ligação ao subscritor.
- subscriber: o nome do IP da instância do subscritor. Este valor pode ser
especificado como:
<Hostname>,<PortNumber>
msdb.dbo.gcloudsql_transrepl_addmonitoraccess
Sintaxe
exec msdb.dbo.gcloudsql_transrepl_addmonitoraccess @login
Descrição
Fornece acesso ao Replication Monitor e à declaração SELECT
sobre tabelas relacionadas com a replicação na base de dados de distribuição.
- login: o início de sessão usado para aceder ao monitor de replicação.
msdb.dbo.gcloudsql_transrepl_changedistributor_property
Sintaxe
exec msdb.dbo.gcloudsql_transrepl_changedistributor_property @property,@value
Descrição
Este procedimento armazenado altera o heartbeat_interval
e
encapsula sp_changedistributor_property
. Para mais informações, consulte a
documentação
para sp_changedistributor_property
. Consulte também essa documentação para obter mais informações sobre o valor heartbeat_interval
.
- property: a propriedade de uma base de dados de distribuição.
- valor: o valor a fornecer para a propriedade especificada.
msdb.dbo.gcloudsql_transrepl_dropsubscriber
Sintaxe
exec msdb.dbo.gcloudsql_transrepl_dropsubscriber @subscriber
Descrição
Remove o subscritor, atuando como um procedimento armazenado de wrapper para sp_dropsubscriber.
- subscriber: o nome IP do subscritor a ser eliminado. Este valor pode ser
especificado como:
<Hostname>,<PortNumber>
msdb.dbo.gcloudsql_transrepl_remove_distribution
Sintaxe
exec msdb.dbo.gcloudsql_transrepl_remove_distribution
Descrição
Remove a configuração de distribuição, atuando como um procedimento armazenado de wrapper para o seguinte: sp_dropdistpublisher, sp_dropdistributiondb, e sp_dropdistributor.
O que se segue?
- Saiba como ativar a captura de dados de alterações (CDC).
- Saiba como configurar réplicas externas.