Nesta seção, descrevemos os procedimentos armazenados para instâncias do Cloud SQL.
Um procedimento armazenado é um código SQL que pode ser reutilizado
Para executar o procedimento armazenado, use o comando EXEC
e substitua as
seguintes variáveis.
- procedure_name é o nome do procedimento armazenado.
- database_name é o nome do banco de dados em que você quer executar o procedimento.
- schema_name é o nome do esquema em que você quer executar o procedimento.
EXEC database_name.schema_name.procedure_name @param1, @param2;Para mais informações, consulte a página de referência EXECUTE (Transact-SQL).
Para criar seu próprio procedimento armazenado, consulte Criar um procedimento armazenado.
Procedimentos armazenados do Cloud SQL para SQL Server
Procedimento armazenado para uso da inserção em massa
Para informações sobre a inserção em massa, consulte Usar 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 comportamentos semelhantes ao comando BULK INSERT.
O procedimento armazenado importa dados para uma instância do Cloud SQL de um arquivo armazenado em um bucket do Cloud Storage. Ele usa a API Cloud Storage interoperável e as chaves HMAC para autenticar o acesso ao bucket do Cloud Storage.
Esse procedimento armazenado tem os seguintes parâmetros:
Parâmetro | Tipo | Descrição |
---|---|---|
@database |
SYSNAME |
Especifica o nome do banco de dados de destino para o qual os dados serão importados. |
@schema |
SYSNAME |
Especifica o nome do esquema a que a tabela pertence. |
@object |
NVARCHAR |
Especifica o nome da tabela em que os dados devem ser inseridos. |
@file |
NVARCHAR |
Especifica o caminho do arquivo de importação no bucket do Cloud Storage.
O caminho precisa ter o seguinte formato: s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH Substitua:
|
@batchsize |
INT |
Especifica o número de linhas em um lote. |
@checkconstraints |
BIT |
Especifica que todas as restrições na tabela de destino precisam ser verificadas. |
@codepage |
NVARCHAR |
Especifica a página de código dos dados no arquivo.
RAW é a única opção padrão. |
@datafiletype |
NVARCHAR |
Especifica o tipo de arquivo de inserção em massa. |
@datasource |
NVARCHAR |
Especifica o nome da fonte de dados externa da qual você quer importar os dados. |
@errorfile |
NVARCHAR |
Especifica o caminho do arquivo usado para coletar linhas com erros de formatação.
O caminho precisa ter o seguinte formato: s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH Substitua:
Além disso, o Cloud SQL cria um arquivo com a extensão
|
@errorfiledatasource |
NVARCHAR |
Especifica o nome da fonte de dados externa na qual você quer criar o arquivo de erro. |
@firstrow |
INT |
Especifica o identificador numérico da primeira linha a ser carregada. |
@firetriggers |
BIT |
Indica que qualquer gatilho de inserção definido na tabela de destino será executado durante as operações de inserção em massa. |
@formatfiledatasource |
NVARCHAR |
Especifica o nome da fonte de dados externa da qual você deve carregar o arquivo de formato. |
@keepidentity |
BIT |
Especifica o uso de dados de identidade do arquivo 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 colunas vazias devem manter um valor nulo durante a operação de importação em massa, em vez de ter valores padrão 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 ser carregada. |
@maxerrors |
INT |
Especifica o número de erros permitidos antes que o Cloud SQL cancele a operação. |
@ordercolumnsjson |
NVARCHAR |
Especifica a ordem de classificação e as colunas, no formato JSON. Exemplo:
[{"name": "COLUMN_NAME","order": "ORDER"},{"name": "COLUMN_NAME","order": "ORDER"}] Substitua:
|
@rowsperbatch |
INT |
Especifica o número de linhas por lote.
Para mais informações sobre como selecionar um tamanho de lote, consulte Considerações sobre desempenho. |
@tablock |
BIT |
Especifica que um bloqueio de tabela é usado durante a operação de inserção em massa. |
@format |
NVARCHAR |
Especifica o formato do arquivo. Use CSV como o valor desse parâmetro. |
@fieldquote |
NVARCHAR |
Especifica o caractere a ser usado como aspas no arquivo CSV.
Se você não especificar um valor, o Cloud SQL usará |
@formatfile |
NVARCHAR |
Especifica o caminho do arquivo no Cloud Storage que descreve o formato dos dados a serem importados.
Ele precisa ter o seguinte formato: s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH Substitua:
|
@fieldterminator |
NVARCHAR |
Especifica o terminador de campo para arquivos de dados char e widechar. |
@rowterminator |
NVARCHAR |
Especifica o terminador de linha para arquivos de dados char e widechar. |
Procedimentos armazenados para o recurso de auditoria do SQL Server
Para mais informações sobre como usar a funcionalidade de auditoria do SQL Server, consulte Auditoria do banco de dados do SQL Server.
msdb.dbo.gcloudsql_fn_get_audit_file
Sintaxe
msdb.dbo.gcloudsql_fn_get_audit_file
Descrição
Recupera os dados de um arquivo de auditoria criado pela funcionalidade de auditoria do SQL Server.
Esse 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 a
msdb.dbo.gcloudsql_fn_get_audit_file
.
Procedimentos armazenados para captura de dados alterados (CDC)
Para mais informações sobre a CDC, consulte Ativar a captura de dados alterados.
msdb.dbo.gcloudsql_cdc_enable_db
Sintaxe
exec msdb.dbo.gcloudsql_cdc_enable_db databaseName
Descrição
Ativa a captura de dados alterados de um banco de dados.
databaseName
: nome do banco de dados em que o procedimento será armazenado.
msdb.dbo.gcloudsql_cdc_disable_db
Sintaxe
exec msdb.dbo.gcloudsql_cdc_disable_db databaseName
Descrição
Desativa o CDC para um banco de dados.
databaseName
: nome do banco de dados em que o procedimento será armazenado.
Procedimentos armazenados para replicação externa com o Cloud SQL como editor
Para mais informações sobre como publicar em um assinante externo ou em outra instância do Cloud SQL, consulte Configurar 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 um banco de dados de distribuição. O wrapper chama o seguinte: sp_adddistributor, sp_adddistributiondb e sp_adddistpublisher.
- login: um login existente usado para conectar e criar o banco de dados de distribuição.
- senha: é a senha usada ao se conectar 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 um banco de dados para o editor que usa sp_replicationdboption.
- db: o banco de dados em que a opção de replicação está sendo definida.
- valor: permite que você especifique
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 registros para um banco de dados que usa sp_addlogreader_agent.
- db: banco de dados a ser publicado.
- login: login usado ao se conectar ao editor.
- senha: a senha usada ao se conectar.
msdb.dbo.gcloudsql_transrepl_addpublication
Sintaxe
exec msdb.dbo.gcloudsql_transrepl_addpublication @db,@publication
Descrição
Cria a publicação transacional e atua como um procedimento armazenado de wrapper para sp_addpublication.
- db: banco de dados que está sendo publicado.
- publicação: nome da nova publicação criada.
msdb.dbo.gcloudsql_transrepl_droppublication
Sintaxe
exec msdb.dbo.gcloudsql_transrepl_droppublication @db,@publication
Descrição
Descarta a publicação transacional e atua como um procedimento armazenado de wrapper para sp_droppublication.
- db: banco de dados em que a publicação é lançada.
- publicação: nome da publicação descartada.
msdb.dbo.gcloudsql_transrepl_addpublication_snapshot
Sintaxe
exec msdb.dbo.gcloudsql_transrepl_addpublication_snapshot @db,@publication,@login,@password
Descrição
Cria um agente de snapshot para o banco de dados que está sendo publicado, agindo como um procedimento armazenado de wrapper para sp_addpublication_snapshot.
- db: banco de dados em que a publicação é lançada.
- publicação: nome da publicação descartada.
- login: login usado ao se conectar ao editor.
- senha: a senha usada ao se conectar.
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 um novo job do agente programado para sincronizar a assinatura de push, agindo como um procedimento armazenado de wrapper para sp_addpushsubscription_agent.
- db: banco de dados publicado.
- publicação: nome da publicação a que o agente de assinatura de push será adicionado.
- subscriber_db: o banco de dados no assinante.
- subscriber_login: o login usado na conexão com o assinante.
- subscriber_password: a senha usada ao se conectar ao assinante.
- subscriber: o nome do IP da instância do assinante. Esse 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 monitor de replicação e à instrução SELECT
nas
tabelas relacionadas à replicação no banco de dados de distribuição.
- login: o login usado para acessar o monitor de replicação.
msdb.dbo.gcloudsql_transrepl_changedistributor_property
Sintaxe
exec msdb.dbo.gcloudsql_transrepl_changedistributor_property @property,@value
Descrição
Esse procedimento armazenado muda a heartbeat_interval
e
encapsula sp_changedistributor_property
. Para mais informações, consulte a documentação de sp_changedistributor_property
. Consulte também a documentação para ver mais informações sobre o valor de heartbeat_interval
.
- propriedade: a propriedade de um banco de dados de distribuição.
- value: o valor da propriedade especificada.
msdb.dbo.gcloudsql_transrepl_dropsubscriber
Sintaxe
exec msdb.dbo.gcloudsql_transrepl_dropsubscriber @subscriber
Descrição
Remove o assinante, agindo como um procedimento armazenado de wrapper para sp_dropsubscriber.
- assinante: o nome IP do assinante a ser descartado. Esse 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, agindo como um procedimento armazenado de wrapper para o seguinte: sp_dropdistpublisher, sp_dropdistributiondb e sp_dropdistributor.
A seguir
- Saiba como ativar a captura de dados alterados (CDC, na sigla em inglês).
- Saiba como configurar réplicas externas.