Cette page explique comment créer, répertorier et supprimer des bases de données SQL Server sur une instance Cloud SQL.
Une nouvelle instance possède une base de données sqlserver.
Pour en savoir plus sur la définition d'une valeur par défaut pour le type de classement utilisé pour les bases de données d'une instance, consultez la page Créer des instances.
Avant de commencer
Avant d'effectuer les tâches indiquées sur cette page :
- Créé une instance Cloud SQL. Pour en savoir plus, consultez la page Créer des instances.
Si vous prévoyez de créer ou de gérer vos bases de données à l'aide du client sqlcmd, vous devez avoir :
- configuré l'accès et vous être connecté à l'instance avec un client
sqlcmd.
Créer une base de données sur l'instance Cloud SQL
Console
-
Dans la console Google Cloud , accédez à la page Instances Cloud SQL.
- Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
- Dans le menu de navigation SQL, sélectionnez Bases de données.
- Cliquez sur Create database.
- Dans la boîte de dialogue Nouvelle base de données, spécifiez le nom de la base de données.
- Cliquez sur Créer.
gcloud
Pour plus d'informations, consultez la page sur gcloud
sql databases create.
Pour en savoir plus sur les classements dans SQL Server, reportez-vous à la page Compatibilité d’Unicode et des classements dans la documentation de SQL Server.
gcloud sql databases create DATABASE_NAME \ --instance=INSTANCE_NAME \ [--charset=CHARSET] \ [--collation=COLLATION]
Terraform
Pour créer une base de données, utilisez une ressource Terraform.
Appliquer les modifications
Pour appliquer votre configuration Terraform dans un projet Google Cloud , suivez les procédures des sections suivantes.
Préparer Cloud Shell
- Lancez Cloud Shell.
-
Définissez le projet Google Cloud par défaut dans lequel vous souhaitez appliquer vos configurations Terraform.
Vous n'avez besoin d'exécuter cette commande qu'une seule fois par projet et vous pouvez l'exécuter dans n'importe quel répertoire.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Les variables d'environnement sont remplacées si vous définissez des valeurs explicites dans le fichier de configuration Terraform.
Préparer le répertoire
Chaque fichier de configuration Terraform doit avoir son propre répertoire (également appelé module racine).
-
Dans Cloud Shell, créez un répertoire et un nouveau fichier dans ce répertoire. Le nom du fichier doit comporter l'extension
.tf, par exemplemain.tf. Dans ce tutoriel, le fichier est appelémain.tf.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Si vous suivez un tutoriel, vous pouvez copier l'exemple de code dans chaque section ou étape.
Copiez l'exemple de code dans le fichier
main.tfque vous venez de créer.Vous pouvez également copier le code depuis GitHub. Cela est recommandé lorsque l'extrait Terraform fait partie d'une solution de bout en bout.
- Examinez et modifiez les exemples de paramètres à appliquer à votre environnement.
- Enregistrez les modifications.
-
Initialisez Terraform. Cette opération n'est à effectuer qu'une seule fois par répertoire.
terraform init
Vous pouvez également utiliser la dernière version du fournisseur Google en incluant l'option
-upgrade:terraform init -upgrade
Appliquer les modifications
-
Examinez la configuration et vérifiez que les ressources que Terraform va créer ou mettre à jour correspondent à vos attentes :
terraform plan
Corrigez les modifications de la configuration si nécessaire.
-
Appliquez la configuration Terraform en exécutant la commande suivante et en saisissant
yeslorsque vous y êtes invité :terraform apply
Attendez que Terraform affiche le message "Apply completed!" (Application terminée).
- Ouvrez votre projet Google Cloud pour afficher les résultats. Dans la console Google Cloud , accédez à vos ressources dans l'interface utilisateur pour vous assurer que Terraform les a créées ou mises à jour.
Supprimer les modifications
Pour supprimer vos modifications, procédez comme suit :
- Pour désactiver la protection contre la suppression, définissez l'argument
deletion_protectionsurfalsedans le fichier de configuration Terraform.deletion_protection = "false"
- Appliquez la configuration Terraform mise à jour en exécutant la commande suivante et en saisissant
yeslorsque vous y êtes invité :terraform apply
-
Supprimez les ressources précédemment appliquées à votre configuration Terraform en exécutant la commande suivante et en saisissant
yesà la requête :terraform destroy
REST v1
La requête suivante exécute la méthode databases:insert pour créer une base de données sur l'instance spécifiée.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance.
- database-name : nom d'une base de données dans l'instance Cloud SQL.
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases
Corps JSON de la requête :
{
"project": "project-id",
"instance": "instance-id",
"name": "database-name"
}
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
REST v1beta4
La requête suivante exécute la méthode databases:insert pour créer une base de données sur l'instance spécifiée.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance.
- database-name : nom d'une base de données dans l'instance Cloud SQL.
Méthode HTTP et URL :
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases
Corps JSON de la requête :
{
"project": "project-id",
"instance": "instance-id",
"name": "database-name"
}
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
Lister les bases de données
Pour répertorier toutes les bases de données d'une instance :
Console
-
Dans la console Google Cloud , accédez à la page Instances Cloud SQL.
- Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
- Cliquez sur Bases de données dans le menu de gauche. La page Bases de données répertorie les bases de données ainsi que leur type de classement, leur jeu de caractères et leur type de base de données.
gcloud
Pour plus d'informations, consultez la page sur gcloud
sql databases list.
gcloud sql databases list \ --instance=INSTANCE_NAME
REST v1
La requête suivante exécute la méthode databases:list pour répertorier les bases de données d'une instance.
Lorsque vous répertoriez les bases de données à l'aide de l'API, vous voyez des bases de données de modèles supplémentaires ainsi qu'une base de données système qui ne sont pas affichées par la console. Vous ne pouvez pas supprimer ni gérer la base de données système.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance.
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
REST v1beta4
La requête suivante exécute la méthode databases:list pour répertorier les bases de données d'une instance.
Lorsque vous répertoriez les bases de données à l'aide de l'API, vous voyez des bases de données de modèles supplémentaires ainsi qu'une base de données système qui ne sont pas affichées par la console. Vous ne pouvez pas supprimer ni gérer la base de données système.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance.
Méthode HTTP et URL :
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
Modifier le propriétaire d'une base de données
Si vous souhaitez supprimer l'identifiant de connexion utilisateur associé à un propriétaire de base de données qui n'est plus actif, vous devez d'abord attribuer un nouveau propriétaire de base de données.
Pour ajouter un propriétaire de base de données, procédez comme suit :
gcloud
- Connectez-vous à votre base de données et créez deux comptes de démonstration :
create login TEST_LOGIN with password='TEST_PASSWORD' create login REPORT_USER with password='REPORT_USER_PASSWORD' GRANT CREATE ANY DATABASE TO TEST_LOGIN AS [CustomerDbRootRole]
Effectuez les remplacements suivants :
- TEST_LOGIN : nom du compte de test, par exemple
test-login. - TEST_PASSWORD : mot de passe du compte de test.
- REPORT_USER : nom d'un deuxième compte utilisateur, tel que
report-user. Ce compte devient le nouveau propriétaire de la base de données. - REPORT_USER_PASSWORD : mot de passe du deuxième compte utilisateur.
- TEST_LOGIN : nom du compte de test, par exemple
- Connectez-vous à votre base de données à l'aide du compte de test que vous venez de créer. Créez ensuite une base de données de test à l'aide de la commande suivante :
CREATE DATABASE TEST_DB
Effectuez les remplacements suivants :
- TEST_DB : nom de la base de données de test que vous souhaitez créer, par exemple
test-database - TEST_LOGIN : nom du compte de test, tel que
test-login.
Le propriétaire de la base de données est automatiquement défini sur le compte de test.
- TEST_DB : nom de la base de données de test que vous souhaitez créer, par exemple
- Connectez-vous à la base de données à l'aide de l'identifiant de connexion SQL Server. Exécutez ensuite la commande suivante pour essayer de supprimer la connexion
TEST_LOGIN:drop login TEST_LOGIN
Remplacez TEST_LOGIN par le nom du compte de test, par exemple
test-login.L'opération échoue et l'erreur suivante est renvoyée :
- Connectez-vous à la base de données
TEST_DBen tant que compteREPORT_USERet accordez-lui les autorisations correspondant au propriétaire existant.GRANT IMPERSONATE on LOGIN::REPORT_USER to TEST_LOGIN
- Connectez-vous à la base de données avec le compte de test. Exécutez ensuite la commande suivante pour autoriser le deuxième compte en tant que propriétaire de la base de données :
ALTER AUTHORIZATION ON DATABASE::TEST_DB TO REPORT_USER
- Connectez-vous à la base de données en tant qu'utilisateur
REPORT_USERet supprimez toutes les autorisations accordées.REVOKE IMPERSONATE on LOGIN::REPORT_USER to TEST_LOGIN
- Connectez-vous à la base de données en tant que compte SQL Server. Exécutez ensuite la commande suivante pour supprimer la connexion
TEST_LOGIN: Une fois l'opération terminée, le message suivant s'affiche :DROP LOGIN TEST_LOGIN
DROP LOGIN for TEST_LOGIN by sqlserver(sqlserver) is successful.
Supprimer une base de données
Pour supprimer une base de données sur l'instance Cloud SQL :
Console
-
Dans la console Google Cloud , accédez à la page Instances Cloud SQL.
- Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
- Cliquez sur Bases de données dans le menu de gauche.
- Dans la liste des bases de données, recherchez celle que vous souhaitez supprimer et cliquez sur l'icône de la corbeille.
- Dans la boîte de dialogue Supprimer la base de données, saisissez le nom de la base de données, puis cliquez sur Supprimer.
gcloud
Pour plus d'informations, consultez la page sur gcloud
sql databases delete.
gcloud sql databases delete DATABASE_NAME \ --instance=INSTANCE_NAME
REST v1
La requête suivante exécute la méthode databases:delete pour supprimer la base de données spécifiée.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance.
- database-name : nom d'une base de données dans l'instance Cloud SQL.
Méthode HTTP et URL :
DELETE https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases/database-name
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
REST v1beta4
La requête suivante exécute la méthode databases:delete pour supprimer la base de données spécifiée.
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- project-id : ID du projet
- instance-id : ID de l'instance.
- database-name : nom d'une base de données dans l'instance Cloud SQL.
Méthode HTTP et URL :
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases/database-name
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
Étape suivante
- Gérez les utilisateurs de l'instance.
- Importez des données dans l'instance.
- Créez des tables (moteur de base de données).
Faites l'essai
Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de Cloud SQL en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits offerts pour exécuter, tester et déployer des charges de travail.
Profiter d'un essai gratuit de Cloud SQL