Procedimentos armazenados do Cloud SQL

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 mais informações, consulte a página de referência EXECUTE (Transact-SQL).

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:

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

  • BUCKET_NAME: especifica o nome do contentor do Cloud Storage.
  • FILE_PATH: especifica o caminho para o ficheiro armazenado no contentor do Cloud Storage.

Além disso, o Cloud SQL cria um ficheiro com a extensão .ERROR.txt. Este ficheiro contém referências a cada linha no ficheiro de erros e fornece diagnósticos de erros.

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

  • COLUMN_NAME: o nome da coluna.
  • ORDER: a ordem de ordenação. O valor deste parâmetro pode ser asc para ordem ascendente ou desc para ordem descendente.
@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 " como valor predefinido.

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

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