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 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 :
|
@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 :
De plus, Cloud SQL crée un fichier avec l'extension |
@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 :
|
@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 |
@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 :
|
@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 ouFalse
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
- Découvrez comment activer la capture des données modifiées (CDC).
- Apprenez à configurer des instances dupliquées externes.