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 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:
|
@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:
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 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:
|
@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 |
@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:
|
@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 oFalse
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_addpushsubscriptions_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?
- Obtén más información sobre cómo habilitar la captura de datos modificados (CDC).
- Obtén información sobre cómo configurar réplicas externas.