Procédures stockées dans Cloud SQL

Cette section décrit les procédures stockées pour les instances Cloud SQL.

Une procédure stockée contient un code SQL que vous pouvez réutiliser.

.

Pour exécuter la procédure stockée, utilisez la commande EXEC et remplacez les variables suivantes :

  • procedure_name est le nom de la procédure stockée.
  • database_name est le nom de la base de données sur laquelle vous souhaitez exécuter la procédure.
  • schema_name est le nom du schéma sur lequel vous souhaitez exécuter la procédure.
EXEC database_name.schema_name.procedure_name @param1, @param2;
Pour en savoir plus, consultez la page de référence de la commande EXECUTE (Transact-SQL).

Pour créer votre propre procédure stockée, consultez la page Créer une procédure stockée.

Procédures stockées dans Cloud SQL pour SQL Server

Procédure stockée pour l'insertion groupée

Pour en savoir plus sur l'insertion groupée, consultez la section Importer des données à l'aide de l'insertion groupée.

msdb.dbo.gcloudsql_bulk_insert

Syntaxe

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

Description

Cette procédure stockée présente des paramètres et un comportement similaires à ceux de la commande BULK INSERT.

La procédure stockée importe des données dans une instance Cloud SQL à partir d'un fichier stocké dans un bucket Cloud Storage. Il utilise l'API interopérable Cloud Storage et des clés HMAC pour authentifier l'accès au bucket Cloud Storage.

Cette procédure stockée comporte les paramètres suivants :

Paramètre Type Description
@database SYSNAME Indique le nom de la base de données cible vers laquelle les données doivent être importées.
@schema SYSNAME Indique le nom du schéma auquel la table appartient.
@object NVARCHAR Indique le nom de la table dans laquelle les données doivent être insérées.
@file NVARCHAR Spécifie le chemin d'accès au fichier d'importation dans le bucket Cloud Storage.

Le chemin d'accès doit respecter le format suivant :

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

Remplacez les éléments suivants :

  • BUCKET_NAME : spécifie le nom du bucket Cloud Storage.
  • FILE_PATH : spécifie le chemin d'accès au fichier stocké dans le bucket Cloud Storage.
@batchsize INT Spécifie le nombre de lignes dans un lot.
@checkconstraints BIT Indique que toutes les contraintes de la table cible doivent être vérifiées.
@codepage NVARCHAR Spécifie la page de code des données du fichier. RAW est l'option par défaut et la seule.
@datafiletype NVARCHAR Spécifie le type de fichier d'insertion groupée.
@datasource NVARCHAR Indique le nom de la source de données externe à partir de laquelle vous souhaitez importer les données.
@errorfile NVARCHAR Indique le chemin d'accès au fichier utilisé pour collecter les lignes contenant des erreurs de mise en forme.

Le chemin d'accès doit respecter le format suivant :

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

Remplacez les éléments suivants :

  • BUCKET_NAME : spécifie le nom du bucket Cloud Storage.
  • FILE_PATH : spécifie le chemin d'accès au fichier stocké dans le bucket Cloud Storage.

De plus, Cloud SQL crée un fichier avec l'extension .ERROR.txt. Ce fichier contient des références à chaque ligne du fichier d'erreur et fournit des diagnostics d'erreur.

@errorfiledatasource NVARCHAR Indique le nom de la source de données externe dans laquelle vous souhaitez créer le fichier d'erreur.
@firstrow INT Spécifie l'identifiant numérique de la première ligne à charger.
@firetriggers BIT Indique que tous les déclencheurs d'insertion définis sur la table cible s'exécutent lors des opérations d'insertion groupée.
@formatfiledatasource NVARCHAR Spécifie le nom de la source de données externe à partir de laquelle vous devez charger le fichier de format.
@keepidentity BIT Spécifie l'utilisation des données d'identité du fichier d'importation pour la colonne d'identité. Les valeurs sont 0, qui signifie "false", et 1, qui signifie "true".
@keepnulls BIT Indique si les colonnes vides doivent conserver une valeur nulle lors de l'opération d'importation groupée, au lieu d'avoir des valeurs par défaut pour les colonnes insérées. Les valeurs sont 0, qui signifie "false", et 1, qui signifie "true".
@kilobytesperbatch INT Spécifie la quantité de données par lot, en ko.
@lastrow INT Spécifie l'identifiant numérique de la dernière ligne à charger.
@maxerrors INT Spécifie le nombre d'erreurs autorisées avant que Cloud SQL n'annule l'opération.
@ordercolumnsjson NVARCHAR Spécifie l'ordre de tri et les colonnes, au format JSON. Par exemple :
[{"name": "COLUMN_NAME","order": "ORDER"},{"name": "COLUMN_NAME","order": "ORDER"}]

Remplacez les éléments suivants :

  • COLUMN_NAME : nom de la colonne.
  • ORDER : ordre de tri. La valeur de ce paramètre peut être asc pour croissant ou desc pour décroissant.
@rowsperbatch INT Spécifie le nombre de lignes par lot.

Pour en savoir plus sur la sélection d'une taille de lot, consultez la section Considérations sur les performances.

@tablock BIT Spécifie qu'un verrouillage de table est effectué pendant toute la durée de l'opération d'insertion groupée.
@format NVARCHAR Spécifie le format du fichier. Utilisez CSV comme valeur de ce paramètre.
@fieldquote NVARCHAR Spécifie le caractère à utiliser comme guillemet dans le fichier CSV.

Si vous ne spécifiez pas de valeur, Cloud SQL utilise " comme valeur par défaut.

@formatfile NVARCHAR Spécifie le chemin d'accès du fichier dans Cloud Storage décrivant le format des données à importer.

Le chemin d'accès doit respecter le format suivant :

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

Remplacez les éléments suivants :

  • BUCKET_NAME : spécifie le nom du bucket Cloud Storage.
  • FILE_PATH : spécifie le chemin d'accès au fichier stocké dans le bucket Cloud Storage.
@fieldterminator NVARCHAR Spécifie le terminateur de champ pour les fichiers de données char et widechar.
@rowterminator NVARCHAR Spécifie le terminateur de ligne pour les fichiers de données char et widechar.

Procédures stockées pour la fonctionnalité d'audit SQL Server

Pour en savoir plus sur l'utilisation de la fonctionnalité d'audit SQL Server, consultez la page Audit de la base de données SQL Server.

msdb.dbo.gcloudsql_fn_get_audit_file

Syntaxe

msdb.dbo.gcloudsql_fn_get_audit_file

Description

Récupère les données d'un fichier d'audit créé par la fonctionnalité d'audit SQL Server.

Cette procédure stockée accepte les mêmes paramètres que la fonction sys.fn_get_audit_file. Consultez la documentation de cette fonction pour plus d'informations sur msdb.dbo.gcloudsql_fn_get_audit_file.

Procédures stockées pour la capture de données modifiées (CDC, Change Data Capture)

Pour en savoir plus sur la CDC, consultez la page Activer la capture des données modifiées.

msdb.dbo.gcloudsql_cdc_enable_db

Syntaxe

exec msdb.dbo.gcloudsql_cdc_enable_db databaseName

Description

Active la capture de données modifiées (CDC, Change Data Capture) pour une base de données.

  • databaseName : nom de la base de données sur laquelle exécuter cette procédure stockée.

msdb.dbo.gcloudsql_cdc_disable_db

Syntaxe

exec msdb.dbo.gcloudsql_cdc_disable_db databaseName

Description

Désactive la CDC pour une base de données.

  • databaseName : nom de la base de données sur laquelle exécuter cette procédure stockée.

Procédures stockées pour la réplication externe avec Cloud SQL en tant qu'éditeur

Pour en savoir plus sur la publication sur un abonné externe ou sur une autre instance Cloud SQL, consultez la page Configurer des instances dupliquées externes.

msdb.dbo.gcloudsql_transrepl_setup_distribution

Syntaxe

    exec msdb.dbo.gcloudsql_transrepl_setup_distribution @login,@password

Description

Procédure stockée dans le wrapper qui configure une base de données de distribution. Le wrapper appelle les éléments suivants : sp_adddistributor, sp_adddistributiondb et sp_adddistpublisher.

  • login : connexion existante permettant de connecter et de créer la base de données de distribution.
  • password : mot de passe utilisé lors de la connexion au distributeur.

msdb.dbo.gcloudsql_transrepl_replicationdboption

Syntaxe

    exec msdb.dbo.gcloudsql_transrepl_replicationdboption @db,@value

Description

Active ou désactive l'option de publication d'une base de données pour l'éditeur qui utilise sp_replicationdboption.

  • db : base de données pour laquelle l'option de réplication est définie.
  • value : permet de spécifier True pour activer l'option de publication ou False pour désactiver l'option de publication.

msdb.dbo.gcloudsql_transrepl_addlogreader_agent

Syntaxe

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

Description

Configure l'agent de lecteur de journaux pour une base de données qui utilise sp_addlogreader_agent.

  • db : base de données à publier.
  • login : connexion utilisée lors de la connexion à l'éditeur.
  • password : mot de passe utilisé lors de la connexion.

msdb.dbo.gcloudsql_transrepl_addpublication

Syntaxe

    exec msdb.dbo.gcloudsql_transrepl_addpublication @db,@publication

Description

Crée la publication transactionnelle et sert de procédure stockée pour le wrapper pour sp_addpublication.

  • db : base de données en cours de publication.
  • publication : nom de la nouvelle publication créée.

msdb.dbo.gcloudsql_transrepl_droppublication

Syntaxe

    exec msdb.dbo.gcloudsql_transrepl_droppublication @db,@publication

Description

Supprime la publication transactionnelle et sert de procédure stockée pour le wrapper pour sp_droppublication.

  • db : base de données pour laquelle la publication est supprimée
  • publication : nom de la publication supprimée.

msdb.dbo.gcloudsql_transrepl_addpublication_snapshot

Syntaxe

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

Description

Crée un agent d'instantané pour la base de données en cours de publication, agissant comme une procédure stockée de wrapper pour sp_addpublication_snapshot.

  • db : base de données pour laquelle la publication est supprimée
  • publication : nom de la publication supprimée.
  • login : connexion utilisée lors de la connexion à l'éditeur.
  • password : mot de passe utilisé lors de la connexion.

msdb.dbo.gcloudsql_transrepl_addpushsubscription_agent

Syntaxe

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

Description

Crée une tâche d'agent planifié pour synchroniser l'abonnement push, agissant comme une procédure stockée de wrapper pour sp_addpushsubscription_agent.

  • db : base de données publiée.
  • publication : nom de la publication à laquelle ajouter un agent d'abonnement push.
  • subscriber_db : base de données de l'abonné.
  • subscriber_login : connexion utilisée lors de la connexion à l'abonné.
  • subscriber_password : mot de passe utilisé pour se connecter à l'abonné.
  • subscriber : nom de l'instance d'abonné. Cette valeur peut être spécifiée comme suit : <Hostname>,<PortNumber>.

msdb.dbo.gcloudsql_transrepl_addmonitoraccess

Syntaxe

    exec msdb.dbo.gcloudsql_transrepl_addmonitoraccess @login

Description

Fournit un accès à l'outil de surveillance des réplications et à l'instruction SELECT sur les tables liées à la réplication dans la base de données de distribution.

  • login : connexion utilisée pour accéder au moniteur de réplication.

msdb.dbo.gcloudsql_transrepl_changedistributor_property

Syntaxe

    exec msdb.dbo.gcloudsql_transrepl_changedistributor_property @property,@value

Description

Cette procédure stockée modifie heartbeat_interval et encapsule sp_changedistributor_property. Pour en savoir plus, consultez la documentation de sp_changedistributor_property. Consultez également cette documentation pour en savoir plus sur la valeur heartbeat_interval.

  • property : propriété d'une base de données de distribution.
  • value : valeur à fournir pour la propriété spécifiée.

msdb.dbo.gcloudsql_transrepl_dropsubscriber

Syntaxe

    exec msdb.dbo.gcloudsql_transrepl_dropsubscriber @subscriber

Description

Supprime l'abonné, agissant en tant que procédure stockée pour le wrapper pour sp_dropsubscriber.

  • subscriber : nom de l'adresse IP de l'abonné à supprimer. Cette valeur peut être spécifiée comme suit : <Hostname>,<PortNumber>.

msdb.dbo.gcloudsql_transrepl_remove_distribution

Syntaxe

     exec msdb.dbo.gcloudsql_transrepl_remove_distribution

Description

Supprime la configuration de distribution, agissant comme une procédure stockée pour le wrapper pour les éléments suivants : sp_dropdistpublisher, sp_dropdistributiondb et sp_dropdistributor.

Étape suivante