En esta página, encontrarás información sobre cómo crear, enumerar y borrar bases de datos de SQL Server en una instancia de Cloud SQL.
Una instancia recién creada tiene una base de datos sqlserver.
A fin de obtener información sobre la configuración de un valor predeterminado para el tipo de intercalación que se usa en las bases de datos de una instancia, consulta Crea instancias.
Antes de comenzar
Antes de completar las tareas de esta página, debes haber hecho lo siguiente:
- Crear una instancia de Cloud SQL. Para obtener más información, consulta la sección sobre cómo crear instancias.
Si planeas usar el cliente sqlcmd para crear o administrar las bases de datos, debes haber hecho lo siguiente:
- Configurar el acceso y haberte conectado a la instancia con un cliente
sqlcmd.
Crea una base de datos en la instancia de Cloud SQL
Console
-
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
- Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
- Selecciona Bases de datos en el menú de navegación de SQL.
- Haga clic en Create database.
- 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 acerca de las intercalaciones en SQL Server, consulta Asistencia para la intercalación 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.
Aplique los cambios
Para aplicar tu configuración de Terraform en un proyecto de Google Cloud , completa los pasos de las siguientes secciones.
Prepara Cloud Shell
- Inicia Cloud Shell
-
Establece el proyecto Google Cloud predeterminado en el que deseas aplicar tus configuraciones de Terraform.
Solo necesitas ejecutar este comando una vez por proyecto y puedes ejecutarlo en cualquier directorio.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Las variables de entorno se anulan si configuras valores explícitos en el archivo de configuración de Terraform.
Prepara 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 dentro de ese directorio. El nombre del archivo debe tener la extensión
.tf, por ejemplo,main.tf. En este instructivo, el archivo se denominamain.tf.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Si sigues un instructivo, puedes copiar el código de muestra en cada sección o paso.
Copia el código de muestra en el
main.tfrecién creado.De manera opcional, copia el código de GitHub. Esto se recomienda cuando el fragmento de Terraform es parte de una solución de extremo a extremo.
- Revisa y modifica los parámetros de muestra que se aplicarán a tu entorno.
- Guarda los cambios.
-
Inicializa Terraform. Solo debes hacerlo una vez por directorio.
terraform init
De manera opcional, incluye la opción
-upgradepara usar la última versión del proveedor de Google:terraform init -upgrade
Aplica los cambios
-
Revisa la configuración y verifica que los recursos que creará o actualizará Terraform coincidan con tus expectativas:
terraform plan
Corrige la configuración según sea necesario.
-
Para aplicar la configuración de Terraform, ejecuta el siguiente comando y, luego, escribe
yescuando se te solicite:terraform apply
Espera hasta que Terraform muestre el mensaje “¡Aplicación completa!”.
- Abre tu proyecto Google Cloud para ver los resultados. En la consola de Google Cloud , navega a tus recursos en la IU para asegurarte de que Terraform los haya creado o actualizado.
Borra los cambios
Para borrar tus cambios, haz lo siguiente:
- Para inhabilitar la protección contra la eliminación, en tu archivo de configuración de Terraform, establece el argumento
deletion_protectionenfalse.deletion_protection = "false"
- Para aplicar la configuración actualizada de Terraform, ejecuta el siguiente comando y, luego, ingresa
yescuando se te solicite:terraform apply
-
Quita los recursos que se aplicaron antes con tu configuración de Terraform a través de la ejecución del siguiente comando y, luego, ingresa
yescuando se te solicite:terraform destroy
REST v1
La siguiente solicitud usa el método databases:insert para crear una base de datos nueva en la instancia especificada.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: el ID del proyecto
- instance-id: El ID de la instancia
- database-name: El nombre de una base de datos dentro 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, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
REST v1beta4
La siguiente solicitud usa el método databases:insert para crear una base de datos nueva en la instancia especificada.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: el ID del proyecto
- instance-id: El ID de la instancia
- database-name: El nombre de una base de datos dentro 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, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Enumera tus bases de datos
Para hacer una lista de todas las bases de datos en una instancia, haz lo siguiente:
Console
-
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
- Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
- Haz clic en Bases de datos en el menú lateral izquierdo. La página Bases de datos muestra las bases de datos junto con su tipo de intercalación, grupo de caracteres y 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 hacer una lista de las bases de datos de una instancia.
Cuando haces una lista de las bases de datos con la API, verás bases de datos de plantillas adicionales y una base de datos del sistema que la consola no muestra. No puedes borrar o administrar la base de datos del sistema.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: el ID del proyecto
- instance-id: Es el ID de la instancia.
Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
REST v1beta4
La siguiente solicitud usa el método databases:list para hacer una lista de las bases de datos de una instancia.
Cuando haces una lista de las bases de datos con la API, verás bases de datos de plantillas adicionales y una base de datos del sistema que la consola no muestra. No puedes borrar o administrar la base de datos del sistema.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: el ID del proyecto
- instance-id: Es el ID de la instancia.
Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Cómo cambiar el propietario de una base de datos
Si deseas quitar el acceso del usuario asociado a un propietario de la base de datos que ya no está activo, primero debes asignar un nuevo propietario de la base de datos.
Para agregar un propietario de base de datos nuevo, completa los siguientes 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]
Realiza los siguientes reemplazos:
- TEST_LOGIN: Es el nombre de la cuenta de prueba, como
test-login. - TEST_PASSWORD: La contraseña de la cuenta de prueba
- REPORT_USER: Es el nombre de una segunda cuenta de usuario, como
report-user. Esta cuenta se convierte en la nueva propietaria de la base de datos. - REPORT_USER_PASSWORD: La contraseña de la segunda cuenta de usuario.
- TEST_LOGIN: Es el nombre de la cuenta de prueba, como
- Conéctate a tu base de datos con la cuenta de prueba que acabas de crear. Luego, crea una base de datos de prueba con el siguiente comando:
CREATE DATABASE TEST_DB
Realiza los siguientes reemplazos:
- TEST_DB: El nombre de la base de datos de prueba que deseas crear, como
test-database - TEST_LOGIN: Es el nombre de la cuenta de prueba, como
test-login.
El propietario de la base de datos se establece automáticamente en la cuenta de prueba.
- TEST_DB: El nombre de la base de datos de prueba que deseas crear, como
- Conéctate a la base de datos con el acceso de SQL Server. Luego, ejecuta el siguiente comando para intentar descartar el inicio de sesión
TEST_LOGIN:drop login TEST_LOGIN
Reemplaza 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 la cuentaREPORT_USERy otorga a la cuenta los permisos para que coincidan con el propietario existente.GRANT IMPERSONATE on LOGIN::REPORT_USER to TEST_LOGIN
- Conéctate a la base de datos como la cuenta de prueba. Luego, 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 quita los permisos otorgados.REVOKE IMPERSONATE on LOGIN::REPORT_USER to TEST_LOGIN
- Conéctate a la base de datos como la cuenta de SQL Server. Luego, ejecuta el siguiente comando para descartar el acceso
TEST_LOGIN: Cuando finalice, se mostrará el siguiente mensaje:DROP LOGIN TEST_LOGIN
DROP LOGIN for TEST_LOGIN by sqlserver(sqlserver) is successful.
Borrar una base de datos
Para borrar una base de datos en la instancia de Cloud SQL, haz lo siguiente:
Console
-
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
- Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
- Haz clic en Bases de datos en el menú lateral izquierdo.
- En la lista de bases de datos, busca la base de datos que deseas borrar y haz clic en el ícono de la papelera.
- En el diálogo Borrar base de datos, ingresa el nombre de la base de datos y, luego, haz clic en Borrar.
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 borrar la base de datos especificada.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: el ID del proyecto
- instance-id: El ID de la instancia
- database-name: El nombre de una base de datos dentro 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, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
REST v1beta4
La siguiente solicitud usa el método databases:delete para borrar la base de datos especificada.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: el ID del proyecto
- instance-id: El ID de la instancia
- database-name: El nombre de una base de datos dentro 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, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
¿Qué sigue?
- Administra usuarios para tu instancia.
- Importa datos a tu instancia.
- Crea tablas (motor de base de datos)
Pruébalo tú mismo
Si es la primera vez que usas Google Cloud, crea una cuenta para evaluar el rendimiento de Cloud SQL en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar e implementar cargas de trabajo.
Probar Cloud SQL gratis