En esta sección se describen los procedimientos almacenados de las instancias de Cloud SQL.
Un procedimiento almacenado contiene código SQL que puedes reutilizar.
Para ejecutar un procedimiento almacenado, usa el comando EXEC
y sustituye las siguientes variables:
- procedure_name es el nombre del procedimiento almacenado.
- database_name es el nombre de la base de datos en la que quieres ejecutar el procedimiento.
- schema_name es el nombre del esquema en el que quieres ejecutar el procedimiento.
EXEC database_name.schema_name.procedure_name @param1, @param2;
Para crear tu propio procedimiento almacenado, consulta Crear un procedimiento almacenado.
Procedimientos almacenados de Cloud SQL para SQL Server
Procedimiento almacenado para usar la inserción en bloque
Para obtener información sobre la inserción en bloque, consulta el artículo Usar la inserción en bloque 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 un comportamiento similares al comando BULK INSERT.
El procedimiento almacenado importa datos a una instancia de Cloud SQL desde un archivo almacenado en un segmento de Cloud Storage. Utiliza la API interoperable de Cloud Storage y las claves HMAC para autenticar el acceso al segmento 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 al archivo de importación en el segmento de Cloud Storage.
La ruta debe tener el siguiente formato: s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH Haz los cambios siguientes:
|
@batchsize |
INT |
Especifica el número de filas de un lote. |
@checkconstraints |
BIT |
Especifica que se deben comprobar todas las restricciones de la tabla de destino. |
@codepage |
NVARCHAR |
Especifica la página de códigos de los datos del archivo.
RAW es la opción predeterminada y la única. |
@datafiletype |
NVARCHAR |
Especifica el tipo de archivo de inserción en bloque. |
@datasource |
NVARCHAR |
Especifica el nombre de la fuente de datos externa de la que quieres importar los datos. |
@errorfile |
NVARCHAR |
Especifica la ruta al archivo que se usa para recoger las filas que tienen errores de formato.
La ruta debe tener el siguiente formato: s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH Haz los cambios siguientes:
Además, Cloud SQL crea un archivo con la extensión |
@errorfiledatasource |
NVARCHAR |
Especifica el nombre de la fuente de datos externa en la que quieres crear el archivo de errores. |
@firstrow |
INT |
Especifica el identificador numérico de la primera fila que se va a cargar. |
@firetriggers |
BIT |
Indica que cualquier activador de inserción definido en la tabla de destino se ejecutará durante las operaciones de inserción en bloque. |
@formatfiledatasource |
NVARCHAR |
Especifica el nombre de la fuente de datos externa desde la que debe cargar el archivo de formato. |
@keepidentity |
BIT |
Especifica el uso de datos de identidad del archivo de importación en la columna de identidad. Los valores son 0 (false) y 1 (true). |
@keepnulls |
BIT |
Especifica si las columnas vacías deben conservar un valor nulo durante la operación de importación en bloque, en lugar de tener valores predeterminados para las columnas insertadas. Los valores son 0 (false) y 1 (true). |
@kilobytesperbatch |
INT |
Especifica la cantidad de datos por lote, en KB. |
@lastrow |
INT |
Especifica el identificador numérico de la última fila que se va a cargar. |
@maxerrors |
INT |
Especifica el número de errores permitidos antes de que Cloud SQL cancele la operación. |
@ordercolumnsjson |
NVARCHAR |
Especifica el orden y las columnas de ordenación en formato JSON. Por ejemplo:
[{"name": "COLUMN_NAME","order": "ORDER"},{"name": "COLUMN_NAME","order": "ORDER"}] Haz los cambios siguientes:
|
@rowsperbatch |
INT |
Especifica el número de filas por lote.
Para obtener más información sobre cómo seleccionar el tamaño de un lote, consulta Consideraciones sobre el 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. Utiliza CSV como valor de este parámetro. |
@fieldquote |
NVARCHAR |
Especifica el carácter que se usará como carácter de comillas en el archivo CSV.
Si no especifica ningún valor, Cloud SQL usará |
@formatfile |
NVARCHAR |
Especifica la ruta del archivo de Cloud Storage que describe el formato de los datos que se van a importar.
La ruta debe tener el siguiente formato: s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH Haz los cambios siguientes:
|
@fieldterminator |
NVARCHAR |
Especifica el terminador de campo de los archivos de datos char y widechar. |
@rowterminator |
NVARCHAR |
Especifica el terminador de filas de los archivos de datos char y widechar. |
Procedimientos almacenados para la función de auditoría de SQL Server
Para obtener información sobre cómo usar la función 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
Obtiene los datos de un archivo de auditoría creado por la función 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 sobre msdb.dbo.gcloudsql_fn_get_audit_file
.
Procedimientos almacenados para la captura de datos de cambios (CDC)
Para obtener más información sobre la CDC, consulta Habilitar la captura de datos de cambios.
msdb.dbo.gcloudsql_cdc_enable_db
Sintaxis
exec msdb.dbo.gcloudsql_cdc_enable_db databaseName
Descripción
Activa la captura de datos de cambios en 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 CDC en 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 editor
Para obtener más información sobre cómo publicar en un suscriptor externo o en otra instancia de Cloud SQL, consulta Configurar réplicas externas.
msdb.dbo.gcloudsql_transrepl_setup_distribution
Sintaxis
exec msdb.dbo.gcloudsql_transrepl_setup_distribution @login,@password
Descripción
Un procedimiento almacenado de envoltorio que configura una base de datos de distribución. El envoltorio llama a lo siguiente: sp_adddistributor, sp_adddistributiondb y sp_adddistpublisher.
- login: un inicio de sesión que se usa para conectarse y crear la base de datos de distribución.
- password: la contraseña que se usa al 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 editor que usa sp_replicationdboption.
- db la base de datos para la que se está configurando la opción de replicación.
- value: te permite especificar
True
para habilitar la opción de publicación oFalse
para inhabilitarla.
msdb.dbo.gcloudsql_transrepl_addlogreader_agent
Sintaxis
exec msdb.dbo.gcloudsql_transrepl_addlogreader_agent @db,@login,@password
Descripción
Configura el agente de lectura de registros de una base de datos que usa sp_addlogreader_agent.
- db base de datos que se va a publicar.
- login: inicio de sesión usado al conectarse con el editor.
- password: la contraseña que se usa al conectarse.
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 envoltorio para sp_addpublication.
- db base de datos que se está publicando.
- publication: nombre de la nueva publicación creada.
msdb.dbo.gcloudsql_transrepl_droppublication
Sintaxis
exec msdb.dbo.gcloudsql_transrepl_droppublication @db,@publication
Descripción
Elimina la publicación transaccional y actúa como un procedimiento almacenado de envoltorio para sp_droppublication.
- db base de datos de la que se elimina la publicación.
- publication: nombre de la publicación que se ha retirado.
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 está publicando, que actúa como un procedimiento almacenado de envoltorio para sp_addpublication_snapshot.
- db base de datos de la que se elimina la publicación.
- publication: nombre de la publicación que se ha retirado.
- login: inicio de sesión usado al conectarse con el editor.
- password: la contraseña que se usa al conectarse.
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 una tarea de agente programada para sincronizar la suscripción de inserción, que actúa como un procedimiento almacenado de envoltorio para sp_addpushsubscription_agent.
- db base de datos publicada.
- publication: nombre de la publicación a la que se va a añadir un agente de suscripción push.
- subscriber_db: la base de datos del suscriptor.
- subscriber_login el nombre de inicio de sesión que se usa al conectarse al suscriptor.
- subscriber_password la contraseña que se usa al conectarse al suscriptor.
- subscriber: nombre IP de la instancia de suscriptor. Este valor se puede especificar de las siguientes formas:
<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 instrucción SELECT
en las tablas relacionadas con la replicación de la base de datos de distribución.
- login: el inicio de sesión 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
Este procedimiento almacenado cambia heartbeat_interval
y
envuelve 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
.
- property: propiedad de una base de datos de distribución.
- value: valor que se va a proporcionar para la propiedad especificada.
msdb.dbo.gcloudsql_transrepl_dropsubscriber
Sintaxis
exec msdb.dbo.gcloudsql_transrepl_dropsubscriber @subscriber
Descripción
Quita el suscriptor y actúa como un procedimiento almacenado de envoltorio para sp_dropsubscriber.
- subscriber: nombre IP del suscriptor que se va a eliminar. Este valor se puede especificar de las siguientes formas:
<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 envoltorio para lo siguiente: sp_dropdistpublisher, sp_dropdistributiondb y sp_dropdistributor.
Siguientes pasos
- Consulta cómo habilitar la captura de datos de cambios (CDC).
- Consulte cómo configurar réplicas externas.