Cloud SQL stored procedures

MySQL  |  PostgreSQL  |  SQL Server

This section describes stored procedures for Cloud SQL instances.

A stored procedure contains SQL code that you can reuse.

You cannot drop or alter system stored procedures.

To execute a stored procedure, you use theEXEC command and replace thefollowing variables:

  • procedure_name is the name of the stored procedure.
  • database_name is the name of the database where you want to run theprocedure.
  • schema_name is the name of the schema where you want to run theprocedure.
EXECdatabase_name.schema_name.procedure_name@param1,@param2;
For more information, see the
EXECUTE (Transact-SQL)reference page.

To create your own stored procedure, seeCreate a Stored Procedure.

Note: You cannot run some stored procedures because they require asysadmin role, which isn't available in Cloud SQL.

Cloud SQL for SQL Server stored procedures

Stored procedure for using bulk insert

For information about bulk insert, seeUse bulk insert for importing data.

msdb.dbo.gcloudsql_bulk_insert

Syntax

EXECmsdb.dbo.gcloudsql_bulk_insert@database@schema@object@file...

Description

This stored procedure has similar parameters and behavior to theBULK INSERT command.

The stored procedure imports data to a Cloud SQL instance from a file stored in aCloud Storage bucket. It usesCloud Storage interoperable APIandHMAC keys to authenticate access to the Cloud Storage bucket.

This stored procedure has the following parameters:

ParameterTypeDescription
@databaseSYSNAMESpecifies the name of the target database to which the data is to be imported.
@schemaSYSNAMESpecifies the name of the schema to which the table belongs.
@objectNVARCHARSpecifies the name of the table where the data is to be inserted.
@fileNVARCHARSpecifies the path to the import file in the Cloud Storage bucket.

The path must have the following format:

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

Replace the following:

  • BUCKET_NAME: specifies the Cloud Storage bucket name.
  • FILE_PATH: specifies the path to the file stored in the Cloud Storage bucket.
@batchsizeINTSpecifies the number of rows in a batch.
@checkconstraintsBITSpecifies that all constraints on the target table must be checked.
@codepageNVARCHARSpecifies the code page of the data in the file.RAW is the default and only option.
@datafiletypeNVARCHARSpecifies the bulk insert file type.
@datasourceNVARCHARSpecifies the name of the external data source from which you want to import the data.
@errorfileNVARCHARSpecifies the path to the file used to collect rows that have formatting errors.

The path must have the following format:

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

Replace the following:

  • BUCKET_NAME: specifies the Cloud Storage bucket name.
  • FILE_PATH: specifies the path to the file stored in the Cloud Storage bucket.

Additionally, Cloud SQL creates a file with the extension.ERROR.txt. This file contains references to each row in the error file and provides error diagnostics.

@errorfiledatasourceNVARCHARSpecifies the name of the external data source in which you want to create the error file.
@firstrowINTSpecifies the numeric identifier of the first row to load.
@firetriggersBITIndicates that any insert triggers defined on the target table would execute during the bulk insert operations.
@formatfiledatasourceNVARCHARSpecifies the name of the external data source from which you should load the format file.
@keepidentityBITSpecifies the use of identity data from the import file for the identity column. The values are0, which means false, and1, which means true.
@keepnullsBITSpecifies whether empty columns should retain a null value during the bulk import operation, instead of having any default values for the columns inserted. The values are0, which means false, and1, which means true.
@kilobytesperbatchINTSpecifies the amount of data per batch, in KB.
@lastrowINTSpecifies the numeric identifier of the last row to load.
@maxerrorsINTSpecifies the number of errors allowed, before Cloud SQL cancels the operation.
@ordercolumnsjsonNVARCHARSpecifies the sort order and columns, in JSON format. For example:
[{"name":"COLUMN_NAME","order":"ORDER"},{"name":"COLUMN_NAME","order":"ORDER"}]

Replace the following:

  • COLUMN_NAME: the name of the column.
  • ORDER: the sort order. The value of this parameter can beasc for ascending ordesc for descending.
@rowsperbatchINTSpecifies the number of rows per batch.

For more information about selecting a batch size, seePerformance considerations

@tablockBITSpecifies that a table lock is taken for the duration of the bulk insert operation.
@formatNVARCHARSpecifies the format of the file. UseCSV as the value of this parameter.
@fieldquoteNVARCHARSpecifies the character to be used as the quote character in the CSV file.

If you don't specify a value, then Cloud SQL uses" as the default value.

@formatfileNVARCHARSpecifies the path of the file in Cloud Storage describing the format of the data to be imported.

The path should have the following format:

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

Replace the following:

  • BUCKET_NAME: specifies the Cloud Storage bucket name.
  • FILE_PATH: specifies the path to the file stored in the Cloud Storage bucket.
@fieldterminatorNVARCHARSpecifies the field terminator for char and widechar data files.
@rowterminatorNVARCHARSpecifies the row terminator for char and widechar data files.

Stored procedures for SQL Server Audit functionality

For information about using the functionality of SQL Server Audit, seeSQL Server database auditing.

msdb.dbo.gcloudsql_fn_get_audit_file

Syntax

msdb.dbo.gcloudsql_fn_get_audit_file

Description

Retrieves the data from an audit file that was created by SQL Server Auditfunctionality.

This stored procedure accepts the same parameters as thesys.fn_get_audit_file function. See thedocumentation for that functionfor more information related tomsdb.dbo.gcloudsql_fn_get_audit_file.

Stored procedures for change data capture (CDC)

For more information about CDC, seeEnable change data capture.

msdb.dbo.gcloudsql_cdc_enable_db

Syntax

execmsdb.dbo.gcloudsql_cdc_enable_dbdatabaseName

Description

Turns change data capture on for a database.

  • databaseName - Name of the database to run this stored procedure on.

msdb.dbo.gcloudsql_cdc_disable_db

Syntax

execmsdb.dbo.gcloudsql_cdc_disable_dbdatabaseName

Description

Turns CDC off for a database.

  • databaseName - Name of the database to run this stored procedure on.

Stored procedures for external replication with Cloud SQL as a publisher

For more information about publishing to an external subscriber, or to anotherCloud SQL instance, seeConfigure external replicas.

msdb.dbo.gcloudsql_transrepl_setup_distribution

Syntax

execmsdb.dbo.gcloudsql_transrepl_setup_distribution@login,@password

Description

A wrapper stored procedure that sets up a distribution database. The wrappercalls the following:sp_adddistributor,sp_adddistributiondb,andsp_adddistpublisher.

  • login - An existing login used to connect and create the distributiondatabase.
  • password - The password used when connecting to the distributor.

msdb.dbo.gcloudsql_transrepl_replicationdboption

Syntax

execmsdb.dbo.gcloudsql_transrepl_replicationdboption@db,@value

Description

Enables or disables the publishing option of a database for the publisher thatusessp_replicationdboption.

  • db - The database for which the replication option is being set.
  • value - Allows you to specifyTrue to enable the publishing option, orFalse to disable the publishing option.

msdb.dbo.gcloudsql_transrepl_addlogreader_agent

Syntax

execmsdb.dbo.gcloudsql_transrepl_addlogreader_agent@db,@login,@password

Description

Sets up the log reader agent for a database that usessp_addlogreader_agent.

  • db - Database to be published.
  • login - Login used when connecting to the publisher.
  • password - The password used when connecting.

msdb.dbo.gcloudsql_transrepl_addpublication

Syntax

execmsdb.dbo.gcloudsql_transrepl_addpublication@db,@publication

Description

Creates the transactional publication, and acts as a wrapper stored procedureforsp_addpublication.

  • db - Database being published.
  • publication - Name of the new publication created.

msdb.dbo.gcloudsql_transrepl_droppublication

Syntax

execmsdb.dbo.gcloudsql_transrepl_droppublication@db,@publication

Description

Drops the transactional publication, and acts as a wrapper stored procedure forsp_droppublication.

  • db - Database for which publication is dropped.
  • publication - Name of the publication dropped.

msdb.dbo.gcloudsql_transrepl_addpublication_snapshot

Syntax

execmsdb.dbo.gcloudsql_transrepl_addpublication_snapshot@db,@publication,@login,@password

Description

Creates a snapshot agent for the database that is being published, acting as awrapper stored procedure forsp_addpublication_snapshot.

  • db - Database for which publication is dropped.
  • publication - Name of the publication dropped.
  • login - Login used when connecting to the publisher.
  • password - The password used when connecting.

msdb.dbo.gcloudsql_transrepl_addpushsubscription_agent

Syntax

execmsdb.dbo.gcloudsql_transrepl_addpushsubscription_agent@db,@publication,@subscriber_db,@subscriber_login,@subscriber_password,@subscriber

Description

Creates a new scheduled agent job to synchronize the push subscription, actingas a wrapper stored procedure forsp_addpushsubscription_agent.

  • db - Database that is published.
  • publication - Name of the publication to which to add a pushsubscription agent.
  • subscriber_db - The database on the subscriber.
  • subscriber_login - The login used when connecting to the subscriber.
  • subscriber_password - The password used when connecting to thesubscriber.
  • subscriber - The IP name of the subscriber instance. This value canspecified as:<Hostname>,<PortNumber>

msdb.dbo.gcloudsql_transrepl_addmonitoraccess

Syntax

execmsdb.dbo.gcloudsql_transrepl_addmonitoraccess@login

Description

Provides access to the Replication Monitor and theSELECT statement onreplication-related tables on the distribution database.

  • login - The login used to access the replication monitor.

msdb.dbo.gcloudsql_transrepl_changedistributor_property

Syntax

execmsdb.dbo.gcloudsql_transrepl_changedistributor_property@property,@value

Description

This stored procedure changes theheartbeat_interval, andwrapssp_changedistributor_property. For more information, see thedocumentationforsp_changedistributor_property. Also see that documentation for moreinformation about theheartbeat_interval value.

  • property - The property for a distribution database.
  • value - The value to provide for the specified property.

msdb.dbo.gcloudsql_transrepl_dropsubscriber

Syntax

execmsdb.dbo.gcloudsql_transrepl_dropsubscriber@subscriber

Description

Removes the subscriber, acting as a wrapper stored procedure forsp_dropsubscriber.

  • subscriber - The IP name of the subscriber to be dropped. This value canspecified as:<Hostname>,<PortNumber>

msdb.dbo.gcloudsql_transrepl_remove_distribution

Syntax

execmsdb.dbo.gcloudsql_transrepl_remove_distribution

Description

Removes the distribution setup, acting as a wrapper stored procedure for thefollowing:sp_dropdistpublisher,sp_dropdistributiondb,andsp_dropdistributor.

What's next

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-12-17 UTC.