Procedimientos almacenados de Cloud SQL

En esta sección, se describen los procedimientos almacenados para las instancias de Cloud SQL.

Un procedimiento almacenado contiene un código SQL que puedes volver a usar.

Para ejecutar el procedimiento almacenado, usa el comando EXEC y reemplaza las siguientes variables:

  • procedure_name es el nombre del procedimiento almacenado.
  • database_name es el nombre de la base de datos en la que deseas ejecutar el procedimiento.
  • schema_name es el nombre del esquema en el que deseas ejecutar el procedimiento.
EXEC database_name.schema_name.procedure_name @param1, @param2;
Para obtener más información, consulta la página de referencia de EXECUTE (Transact-SQL).

Para crear tu propio procedimiento almacenado, consulta Crea un procedimiento almacenado.

Procedimientos almacenados de Cloud SQL para SQL Server

Procedimiento almacenado para usar la inserción masiva

Si deseas obtener información sobre la inserción masiva, consulta Usa la inserción masiva para importar datos.

msdb.dbo.gcloudsql_bulk_insert

Sintaxis

EXEC msdb.dbo.gcloudsql_bulk_insert @database @schema @object @file ...

Descripción

Este procedimiento almacenado tiene parámetros y comportamientos similares al comando BULK INSERT.

El procedimiento almacenado importa datos a una instancia de Cloud SQL desde un archivo almacenado en un bucket de Cloud Storage. Usa una API interoperable de Cloud Storage y claves HMAC para autenticar el acceso al bucket de Cloud Storage.

Este procedimiento almacenado tiene los siguientes parámetros:

Parámetro Tipo Descripción
@database SYSNAME Especifica el nombre de la base de datos de destino a la que se importarán los datos.
@schema SYSNAME Especifica el nombre del esquema al que pertenece la tabla.
@object NVARCHAR Especifica el nombre de la tabla en la que se insertarán los datos.
@file NVARCHAR Especifica la ruta de acceso al archivo de importación en el bucket de Cloud Storage.

La ruta de acceso debe tener el siguiente formato:

 s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH
 

Reemplaza lo siguiente:

  • BUCKET_NAME: Especifica el nombre del bucket de Cloud Storage.
  • FILE_PATH: Especifica la ruta al archivo almacenado en el bucket de Cloud Storage.
@batchsize INT Especifica el número de filas en un lote.
@checkconstraints BIT Especifica que se deben verificar todas las restricciones de la tabla de destino.
@codepage NVARCHAR Especifica la página de código de los datos en el archivo. RAW es la opción predeterminada y única.
@datafiletype NVARCHAR Especifica el tipo de archivo de inserción masiva.
@datasource NVARCHAR Especifica el nombre de la fuente de datos externa desde la que deseas importar los datos.
@errorfile NVARCHAR Especifica la ruta de acceso al archivo que se usa para recopilar filas que tienen errores de formato.

La ruta de acceso debe tener el siguiente formato:

 s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH
 

Reemplaza lo siguiente:

  • BUCKET_NAME: Especifica el nombre del bucket de Cloud Storage.
  • FILE_PATH: Especifica la ruta al archivo almacenado en el bucket de Cloud Storage.

Además, Cloud SQL crea un archivo con la extensión .ERROR.txt. Este archivo contiene referencias a cada fila en el archivo de error y proporciona diagnósticos de errores.

@errorfiledatasource NVARCHAR Especifica el nombre de la fuente de datos externa en la que deseas crear el archivo de error.
@firstrow INT Especifica el identificador numérico de la primera fila que se cargará.
@firetriggers BIT Indica que los activadores de inserción definidos en la tabla de destino se ejecutarán durante las operaciones de inserción masiva.
@formatfiledatasource NVARCHAR Especifica el nombre de la fuente de datos externa desde la que debes cargar el archivo de formato.
@keepidentity BIT Especifica el uso de los datos de identidad del archivo de importación para la columna de identidad. Los valores son 0, que significa falso, y 1, que significa verdadero.
@keepnulls BIT Especifica si las columnas vacías deben conservar un valor nulo durante la operación de importación masiva, en lugar de tener cualquier valor predeterminado para las columnas insertadas. Los valores son 0, que significa falso, y 1, que significa verdadero.
@kilobytesperbatch INT Especifica la cantidad de datos por lote en KB.
@lastrow INT Especifica el identificador numérico de la última fila que se cargará.
@maxerrors INT Especifica la cantidad de errores permitidos antes de que Cloud SQL cancele la operación.
@ordercolumnsjson NVARCHAR Especifica el orden y las columnas en formato JSON. Por ejemplo:
[{"name": "COLUMN_NAME","order": "ORDER"},{"name": "COLUMN_NAME","order": "ORDER"}]

Reemplaza lo siguiente:

  • COLUMN_NAME: el nombre de la columna.
  • ORDER: el orden de clasificación. El valor de este parámetro puede ser asc (ascendente) o desc (descendente).
@rowsperbatch INT Especifica el número de filas por lote.

Para obtener más información sobre cómo seleccionar un tamaño del lote, consulta Consideraciones de rendimiento.

@tablock BIT Especifica que se toma un bloqueo de tabla durante la operación de inserción masiva.
@format NVARCHAR Especifica el formato del archivo. Usa CSV como el valor de este parámetro.
@fieldquote NVARCHAR Especifica el carácter que se utilizará como carácter de comillas en el archivo CSV.

Si no especificas un valor, Cloud SQL usa " como valor predeterminado.

@formatfile NVARCHAR Especifica la ruta del archivo en Cloud Storage que describe el formato de los datos que se importarán.

La ruta de acceso debe tener el siguiente formato:

 s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH
 

Reemplaza lo siguiente:

  • BUCKET_NAME: Especifica el nombre del bucket de Cloud Storage.
  • FILE_PATH: Especifica la ruta al archivo almacenado en el bucket de Cloud Storage.
@fieldterminator NVARCHAR Especifica el terminador de campos para los archivos de datos de char y widechar.
@rowterminator NVARCHAR Especifica el terminador de filas para los archivos de datos de char y widechar.

Procedimientos almacenados para la funcionalidad de auditoría de SQL Server

Para obtener información sobre el uso de la funcionalidad de Auditoría de SQL Server, consulta Auditoría de bases de datos de SQL Server.

msdb.dbo.gcloudsql_fn_get_audit_file

Sintaxis

msdb.dbo.gcloudsql_fn_get_audit_file

Descripción

Recupera los datos de un archivo de auditoría que creó la funcionalidad de auditoría de SQL Server.

Este procedimiento almacenado acepta los mismos parámetros que la función sys.fn_get_audit_file. Consulta la documentación de esa función para obtener más información relacionada con msdb.dbo.gcloudsql_fn_get_audit_file.

Procedimientos almacenados para la captura de datos modificados (CDC)

Para obtener más información sobre los CDC, consulta Habilita la captura de datos modificados.

msdb.dbo.gcloudsql_cdc_enable_db

Sintaxis

exec msdb.dbo.gcloudsql_cdc_enable_db databaseName

Descripción

Activa la captura de datos modificados para una base de datos.

  • databaseName: Nombre de la base de datos en la que se ejecutará este procedimiento almacenado.

msdb.dbo.gcloudsql_cdc_disable_db

Sintaxis

exec msdb.dbo.gcloudsql_cdc_disable_db databaseName

Descripción

Desactiva la CDC para una base de datos.

  • databaseName: Nombre de la base de datos en la que se ejecutará este procedimiento almacenado.

Procedimientos almacenados para la replicación externa con Cloud SQL como publicador

Para obtener más información sobre la publicación en un suscriptor externo o en otra instancia de Cloud SQL, consulta Configura réplicas externas.

msdb.dbo.gcloudsql_transrepl_setup_distribution

Sintaxis

    exec msdb.dbo.gcloudsql_transrepl_setup_distribution @login,@password

Descripción

Procedimiento almacenado de wrapper que configura una base de datos de distribución. El wrapper llama a lo siguiente: sp_adddistributor, sp_adddistributiondb y sp_adddistpublisher.

  • login: un acceso existente que se usa para conectar y crear la base de datos de distribución.
  • contraseña: La contraseña que se usa para conectarse al distribuidor.

msdb.dbo.gcloudsql_transrepl_replicationdboption

Sintaxis

    exec msdb.dbo.gcloudsql_transrepl_replicationdboption @db,@value

Descripción

Habilita o inhabilita la opción de publicación de una base de datos para el publicador que usa sp_replicationdboption.

  • db: la base de datos para la que se configura la opción de replicación.
  • value: Te permite especificar True para habilitar la opción de publicación o False para inhabilitar la opción de publicación.

msdb.dbo.gcloudsql_transrepl_addlogreader_agent

Sintaxis

    exec msdb.dbo.gcloudsql_transrepl_addlogreader_agent @db,@login,@password

Descripción

Configura el agente de lector de registros para una base de datos que usa sp_addlogreader_agent.

  • db: base de datos que se publicará.
  • login: acceso que se usa cuando se conecta al publicador.
  • contraseña: la contraseña que se usa para la conexión.

msdb.dbo.gcloudsql_transrepl_addpublication

Sintaxis

    exec msdb.dbo.gcloudsql_transrepl_addpublication @db,@publication

Descripción

Crea la publicación transaccional y actúa como un procedimiento almacenado de wrapper para sp_addpublication.

  • db: base de datos publicada.
  • publication: el nombre de la publicación nueva creada.

msdb.dbo.gcloudsql_transrepl_droppublication

Sintaxis

    exec msdb.dbo.gcloudsql_transrepl_droppublication @db,@publication

Descripción

Descarta la publicación transaccional y actúa como un procedimiento almacenado de wrapper para sp_droppublication.

  • db: la base de datos para la que se descarta la publicación.
  • publication: el nombre de la publicación que se descartó.

msdb.dbo.gcloudsql_transrepl_addpublication_snapshot

Sintaxis

    exec msdb.dbo.gcloudsql_transrepl_addpublication_snapshot  @db,@publication,@login,@password

Descripción

Crea un agente de instantáneas para la base de datos que se publica y actúa como un procedimiento de wrapper almacenado para sp_addpublication_snapshot.

  • db: la base de datos para la que se descarta la publicación.
  • publication: el nombre de la publicación que se descartó.
  • login: acceso que se usa cuando se conecta al publicador.
  • contraseña: la contraseña que se usa para la conexión.

msdb.dbo.gcloudsql_transrepl_addpushsubscription_agent

Sintaxis

    exec msdb.dbo.gcloudsql_transrepl_addpushsubscription_agent
      @db,@publication,@subscriber_db,@subscriber_login,
        @subscriber_password,@subscriber

Descripción

Crea un nuevo trabajo de agente programado para sincronizar la suscripción de envío, lo que actúa como un procedimiento almacenado de wrapper para sp_addpushsubscription_agent.

  • db: la base de datos publicada.
  • publication: el nombre de la publicación a la que se agrega un agente de suscripción de envío.
  • subscriber_db: la base de datos en el suscriptor.
  • subscriber_login: el acceso que se usa cuando te conectas al suscriptor.
  • subscriber_password: la contraseña que se usa para conectarte al suscriptor.
  • subscriber: el nombre de IP de la instancia de suscriptor. Este valor se puede especificar de la siguiente manera: <Hostname>,<PortNumber>

msdb.dbo.gcloudsql_transrepl_addmonitoraccess

Sintaxis

    exec msdb.dbo.gcloudsql_transrepl_addmonitoraccess @login

Descripción

Proporciona acceso al monitor de replicación y a la declaración SELECT en las tablas relacionadas con la replicación en la base de datos de distribución.

  • login: el acceso que se usa para acceder al monitor de replicación.

msdb.dbo.gcloudsql_transrepl_changedistributor_property

Sintaxis

    exec msdb.dbo.gcloudsql_transrepl_changedistributor_property @property,@value

Descripción

En este procedimiento almacenado, se cambia el heartbeat_interval y se une sp_changedistributor_property. Para obtener más información, consulta la documentación de sp_changedistributor_property. Consulta también esa documentación para obtener más información sobre el valor de heartbeat_interval.

  • propiedad: la propiedad para una base de datos de distribución.
  • valor: valor que se proporcionará a la propiedad especificada.

msdb.dbo.gcloudsql_transrepl_dropsubscriber

Sintaxis

    exec msdb.dbo.gcloudsql_transrepl_dropsubscriber @subscriber

Descripción

Quita el suscriptor, que actúa como un procedimiento almacenado de wrapper para sp_dropsubscriber.

  • subscriber - El nombre de IP del suscriptor que se descartará. Este valor se puede especificar de la siguiente manera: <Hostname>,<PortNumber>

msdb.dbo.gcloudsql_transrepl_remove_distribution

Sintaxis

     exec msdb.dbo.gcloudsql_transrepl_remove_distribution

Descripción

Quita la configuración de distribución y actúa como un procedimiento almacenado de wrapper para lo siguiente: sp_dropdistpublisher, sp_dropdistributiondb y sp_dropdistributor.

¿Qué sigue?