En esta página se ofrece información sobre cómo crear, mostrar y eliminar bases de datos de SQL Server en una instancia de Cloud SQL.
Una instancia recién creada tiene una base de datos sqlserver.
Para obtener información sobre cómo definir un valor predeterminado para el tipo de orden de clasificación que se utiliza en las bases de datos de una instancia, consulta el artículo Crear instancias.
Antes de empezar
Para efectuar las tareas indicadas en esta página, debes haber hecho antes lo siguiente:
- Has creado una instancia de Cloud SQL. Para obtener más información, consulta Crear instancias.
Si tienes previsto usar el cliente sqlcmd para crear o gestionar tus bases de datos, debes tener lo siguiente:
- Acceso configurado y conexión a la instancia con un cliente
sqlcmd.
Crear una base de datos en la instancia de Cloud SQL
Consola
-
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
- Para abrir la página Overview (Resumen) de una instancia, haz clic en su nombre.
- En el menú de navegación de SQL, selecciona Bases de datos.
- Haz clic en Crear base de datos.
- En el cuadro de diálogo Nueva base de datos, especifica el nombre de la base de datos.
- Haz clic en Crear.
gcloud
Para obtener información de referencia, consulta gcloud
sql databases create.
Para obtener información sobre las intercalaciones en SQL Server, consulta el artículo Compatibilidad con intercalaciones y Unicode en la documentación de SQL Server.
gcloud sql databases create DATABASE_NAME \ --instance=INSTANCE_NAME \ [--charset=CHARSET] \ [--collation=COLLATION]
Terraform
Para crear una base de datos, usa un recurso de Terraform.
Aplica los cambios
Para aplicar la configuración de Terraform en un Google Cloud proyecto, sigue los pasos que se indican en las siguientes secciones.
Preparar Cloud Shell
- Abre Cloud Shell.
-
Define el Google Cloud proyecto predeterminado en el que quieras aplicar tus configuraciones de Terraform.
Solo tienes que ejecutar este comando una vez por proyecto y puedes hacerlo en cualquier directorio.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Las variables de entorno se anulan si defines valores explícitos en el archivo de configuración de Terraform.
Preparar el directorio
Cada archivo de configuración de Terraform debe tener su propio directorio (también llamado módulo raíz).
-
En Cloud Shell, crea un directorio y un archivo nuevo en ese directorio. El nombre del archivo debe tener la extensión
.tf. Por ejemplo,main.tf. En este tutorial, nos referiremos al archivo comomain.tf.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Si estás siguiendo un tutorial, puedes copiar el código de ejemplo de cada sección o paso.
Copia el código de ejemplo en el archivo
main.tfque acabas de crear.También puedes copiar el código de GitHub. Se recomienda cuando el fragmento de Terraform forma parte de una solución integral.
- Revisa y modifica los parámetros de ejemplo para aplicarlos a tu entorno.
- Guarda los cambios.
-
Inicializa Terraform. Solo tienes que hacerlo una vez por directorio.
terraform init
Si quieres usar la versión más reciente del proveedor de Google, incluye la opción
-upgrade:terraform init -upgrade
Aplica los cambios
-
Revisa la configuración y comprueba que los recursos que va a crear o actualizar Terraform se ajustan a tus expectativas:
terraform plan
Haz las correcciones necesarias en la configuración.
-
Aplica la configuración de Terraform ejecutando el siguiente comando e introduciendo
yesen la petición:terraform apply
Espera hasta que Terraform muestre el mensaje "Apply complete!".
- Abre tu Google Cloud proyecto para ver los resultados. En la Google Cloud consola, ve a tus recursos en la interfaz de usuario para comprobar que Terraform los ha creado o actualizado.
Eliminar los cambios
Para eliminar los cambios, sigue estos pasos:
- Para inhabilitar la protección contra eliminación, en el archivo de configuración de Terraform, asigna el valor
falseal argumentodeletion_protection.deletion_protection = "false"
- Aplica la configuración de Terraform actualizada ejecutando el siguiente comando e introduciendo
yesen la petición:terraform apply
-
Para quitar los recursos que se hayan aplicado anteriormente con tu configuración de Terraform, ejecuta el siguiente comando e introduce
yesen la petición:terraform destroy
REST v1
En la siguiente solicitud se usa el método databases:insert para crear una base de datos en la instancia especificada.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- project-id: el ID del proyecto
- instance-id: el ID de instancia.
- database-name: nombre de una base de datos de la instancia de Cloud SQL
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases
Cuerpo JSON de la solicitud:
{
"project": "project-id",
"instance": "instance-id",
"name": "database-name"
}
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
REST v1beta4
En la siguiente solicitud se usa el método databases:insert para crear una base de datos en la instancia especificada.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- project-id: el ID del proyecto
- instance-id: el ID de instancia.
- database-name: nombre de una base de datos de la instancia de Cloud SQL
Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases
Cuerpo JSON de la solicitud:
{
"project": "project-id",
"instance": "instance-id",
"name": "database-name"
}
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
Mostrar tus bases de datos
Para mostrar una lista con todas las bases de datos en una instancia, efectúa los pasos siguientes:
Consola
-
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
- Para abrir la página Overview (Resumen) de una instancia, haz clic en su nombre.
- En el menú de la izquierda, haz clic en Bases de datos. En la página Bases de datos se muestran las bases de datos junto con su tipo de ordenación, su conjunto de caracteres y su tipo de base de datos.
gcloud
Para obtener información de referencia, consulta gcloud
sql databases list.
gcloud sql databases list \ --instance=INSTANCE_NAME
REST v1
La siguiente solicitud usa el método databases:list para enumerar las bases de datos de una instancia.
Cuando generes la lista de bases de datos mediante la API, verás otras bases de datos de plantilla y una base de datos del sistema que la consola no muestra. No puedes eliminar ni administrar la base de datos del sistema.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- project-id: el ID del proyecto
- instance-id: el ID de instancia.
Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
REST v1beta4
La siguiente solicitud usa el método databases:list para enumerar las bases de datos de una instancia.
Cuando generes la lista de bases de datos mediante la API, verás otras bases de datos de plantilla y una base de datos del sistema que la consola no muestra. No puedes eliminar ni administrar la base de datos del sistema.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- project-id: el ID del proyecto
- instance-id: el ID de instancia.
Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
Cambiar el propietario de una base de datos
Si quieres eliminar el inicio de sesión de usuario asociado a un propietario de una base de datos que ya no está activo, primero debes asignar un nuevo propietario a la base de datos.
Para añadir un nuevo propietario de la base de datos, sigue estos pasos:
gcloud
- Conéctate a tu base de datos y crea dos cuentas de demostración:
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]
Haz las siguientes sustituciones:
- TEST_LOGIN: el nombre de la cuenta de prueba, como
test-login. - TEST_PASSWORD: la contraseña de la cuenta de prueba.
- REPORT_USER: el nombre de una segunda cuenta de usuario, como
report-user. Esta cuenta se convierte en el nuevo propietario de la base de datos. - REPORT_USER_PASSWORD: la contraseña de la segunda cuenta de usuario.
- TEST_LOGIN: el nombre de la cuenta de prueba, como
- Conéctate a tu base de datos con la cuenta de prueba que acabas de crear. A continuación,
crea una base de datos de prueba con el siguiente comando:
CREATE DATABASE TEST_DB
Haz las siguientes sustituciones:
- TEST_DB: el nombre de la base de datos de prueba que quieras crear, como
test-database - TEST_LOGIN: el nombre de la cuenta de prueba, como
test-login.
El propietario de la base de datos se asigna automáticamente a la cuenta de prueba.
- TEST_DB: el nombre de la base de datos de prueba que quieras crear, como
- Conéctate a la base de datos con el inicio de sesión de SQL Server. Después, ejecuta el siguiente comando para intentar eliminar el inicio de sesión
TEST_LOGIN:drop login TEST_LOGIN
Sustituye TEST_LOGIN por el nombre de la cuenta de prueba, como
test-login.La operación falla y se devuelve el siguiente error:
- Conéctate a la base de datos
TEST_DBcomo cuentaREPORT_USERy concede a la cuenta los permisos necesarios para que coincidan con los del propietario actual.GRANT IMPERSONATE on LOGIN::REPORT_USER to TEST_LOGIN
- Conéctate a la base de datos con la cuenta de prueba. A continuación, ejecuta el siguiente comando para autorizar la segunda cuenta como propietaria de la base de datos:
ALTER AUTHORIZATION ON DATABASE::TEST_DB TO REPORT_USER
- Conéctate a la base de datos como
REPORT_USERy elimina los permisos concedidos.REVOKE IMPERSONATE on LOGIN::REPORT_USER to TEST_LOGIN
- Conéctate a la base de datos con la cuenta de SQL Server. A continuación, ejecuta el siguiente comando para eliminar el inicio de sesión de
TEST_LOGIN: Cuando termine, se devolverá el siguiente mensaje:DROP LOGIN TEST_LOGIN
DROP LOGIN for TEST_LOGIN by sqlserver(sqlserver) is successful.
Eliminar una base de datos
Para eliminar una base de datos de la instancia de Cloud SQL, efectúa los pasos siguientes:
Consola
-
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
- Para abrir la página Overview (Resumen) de una instancia, haz clic en su nombre.
- En el menú de la izquierda, haz clic en Bases de datos.
- En la lista de bases de datos, busca la base de datos que quieres eliminar y haz clic en el icono de papelera.
- En el cuadro de diálogo Eliminar base de datos, introduce el nombre de la base de datos y, a continuación, haz clic en Eliminar.
gcloud
Para obtener información de referencia, consulta gcloud
sql databases delete.
gcloud sql databases delete DATABASE_NAME \ --instance=INSTANCE_NAME
REST v1
La siguiente solicitud usa el método databases:delete para eliminar la base de datos especificada.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- project-id: el ID del proyecto
- instance-id: el ID de instancia.
- database-name: nombre de una base de datos de la instancia de Cloud SQL
Método HTTP y URL:
DELETE https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases/database-name
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
REST v1beta4
La siguiente solicitud usa el método databases:delete para eliminar la base de datos especificada.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- project-id: el ID del proyecto
- instance-id: el ID de instancia.
- database-name: nombre de una base de datos de la instancia de Cloud SQL
Método HTTP y URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases/database-name
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
Siguientes pasos
- Administra usuarios para tu instancia.
- Importa datos a la instancia.
- Crear tablas (motor de base de datos)
Pruébalo
Si es la primera vez que utilizas Google Cloud, crea una cuenta para evaluar el rendimiento de Cloud SQL en situaciones reales. Los nuevos clientes también reciben 300 USD en crédito gratuito para ejecutar, probar y desplegar cargas de trabajo.
Probar Cloud SQL gratis