Procedimentos armazenados do Cloud SQL

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:

  • BUCKET_NAME: especifica o nome do bucket do Cloud Storage.
  • FILE_PATH: especifica o caminho para o arquivo armazenado no bucket do Cloud Storage.
@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:

  • BUCKET_NAME: especifica o nome do bucket do Cloud Storage.
  • FILE_PATH: especifica o caminho para o arquivo armazenado no bucket do Cloud Storage.

Além disso, o Cloud SQL cria um arquivo com a extensão .ERROR.txt. Ele contém referências a cada linha do arquivo de erro e fornece diagnósticos de erro.

@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. Por exemplo:
[{"name": "COLUMN_NAME","order": "ORDER"},{"name": "COLUMN_NAME","order": "ORDER"}]

Substitua:

  • COLUMN_NAME: o nome da coluna.
  • ORDER: a ordem de classificação. O valor desse parâmetro pode ser asc para crescente ou desc para decrescente.
@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á " como padrão.

@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:

  • BUCKET_NAME: especifica o nome do bucket do Cloud Storage.
  • FILE_PATH: especifica o caminho para o arquivo armazenado no bucket do Cloud Storage.
@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 ou False 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