Halaman ini berisi informasi tentang cara membuat, mencantumkan, dan menghapus database SQL Server di instance Cloud SQL.
Instance yang baru dibuat memiliki database sqlserver.
Untuk mengetahui informasi tentang cara menetapkan nilai default untuk jenis pemeriksaan yang digunakan untuk database dalam instance, baca artikel Membuat instance.
Sebelum memulai
Sebelum menyelesaikan tugas di halaman ini, Anda harus sudah:
- Membuat instance Cloud SQL. Untuk informasi selengkapnya lihat Membuat instances.
Jika berencana menggunakan klien sqlcmd untuk membuat atau mengelola database, Anda harus memiliki:
- Akses telah dikonfigurasi dan terhubung ke instance dengan klien
sqlcmd.
Membuat database pada instance Cloud SQL
Konsol
-
Di konsol Google Cloud , buka halaman Instance Cloud SQL.
- Untuk membuka halaman Ringkasan instance, klik nama instance.
- Pilih Database dari menu navigasi SQL.
- Klik Create database.
- Pada dialog New database, tentukan nama database.
- Klik Buat.
gcloud
Untuk informasi referensi, lihat gcloud
sql databases create.
Untuk informasi tentang kolase di SQL Server, lihat Dukungan Unicode dan Kolaborasi dalam dokumentasi SQL Server.
gcloud sql databases create DATABASE_NAME \ --instance=INSTANCE_NAME \ [--charset=CHARSET] \ [--collation=COLLATION]
Terraform
Untuk membuat database, gunakan resource Terraform .
Menerapkan perubahan
Untuk menerapkan konfigurasi Terraform di project, selesaikan langkah-langkah di bagian berikut. Google Cloud
Menyiapkan Cloud Shell
- Luncurkan Cloud Shell.
-
Tetapkan project Google Cloud default tempat Anda ingin menerapkan konfigurasi Terraform.
Anda hanya perlu menjalankan perintah ini sekali per project, dan dapat dijalankan di direktori mana pun.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Variabel lingkungan akan diganti jika Anda menetapkan nilai eksplisit dalam file konfigurasi Terraform.
Menyiapkan direktori
Setiap file konfigurasi Terraform harus memiliki direktorinya sendiri (juga disebut modul root).
-
Di Cloud Shell, buat direktori dan file baru di dalam direktori tersebut. Nama file harus memiliki
ekstensi
.tf—misalnyamain.tf. Dalam tutorial ini, file ini disebut sebagaimain.tf.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Jika mengikuti tutorial, Anda dapat menyalin kode contoh di setiap bagian atau langkah.
Salin kode contoh ke dalam
main.tfyang baru dibuat.Atau, salin kode dari GitHub. Tindakan ini direkomendasikan jika cuplikan Terraform adalah bagian dari solusi menyeluruh.
- Tinjau dan ubah contoh parameter untuk diterapkan pada lingkungan Anda.
- Simpan perubahan Anda.
-
Lakukan inisialisasi Terraform. Anda hanya perlu melakukan ini sekali per direktori.
terraform init
Secara opsional, untuk menggunakan versi penyedia Google terbaru, sertakan opsi
-upgrade:terraform init -upgrade
Menerapkan perubahan
-
Tinjau konfigurasi dan pastikan resource yang akan dibuat atau
diupdate oleh Terraform sesuai yang Anda inginkan:
terraform plan
Koreksi konfigurasi jika diperlukan.
-
Terapkan konfigurasi Terraform dengan menjalankan perintah berikut dan memasukkan
yespada prompt:terraform apply
Tunggu hingga Terraform menampilkan pesan "Apply complete!".
- Buka Google Cloud project Anda untuk melihat hasilnya. Di konsol Google Cloud , buka resource Anda di UI untuk memastikan bahwa Terraform telah membuat atau mengupdatenya.
Menghapus perubahan
Untuk menghapus perubahan Anda, lakukan langkah-langkah berikut:
- Untuk menonaktifkan perlindungan penghapusan, di file konfigurasi Terraform Anda, tetapkan
argumen
deletion_protectionkefalse.deletion_protection = "false"
- Terapkan konfigurasi Terraform dengan menjalankan perintah berikut dan
memasukkan
yespada prompt:terraform apply
-
Hapus resource yang sebelumnya diterapkan dengan konfigurasi Terraform Anda dengan menjalankan perintah berikut dan memasukkan
yespada prompt:terraform destroy
REST v1
Permintaan berikut menggunakan metode databases:insert untuk membuat database baru pada instance yang diterapkan.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-id: ID project
- instance-id: ID instance
- database-name: Nama database di dalam instance Cloud SQL
Metode HTTP dan URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases
Meminta isi JSON:
{
"project": "project-id",
"instance": "instance-id",
"name": "database-name"
}
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
REST v1beta4
Permintaan berikut menggunakan metode databases:insert untuk membuat database baru pada instance yang diterapkan.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-id: ID project
- instance-id: ID instance
- database-name: Nama database di dalam instance Cloud SQL
Metode HTTP dan URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases
Meminta isi JSON:
{
"project": "project-id",
"instance": "instance-id",
"name": "database-name"
}
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
Menyantumkan database Anda
Untuk mencantumkan semua database di instance:
Konsol
-
Di konsol Google Cloud , buka halaman Instance Cloud SQL.
- Untuk membuka halaman Ringkasan instance, klik nama instance.
- Klik Database dari menu sebelah kiri. Halaman Database mencantumkan database bersama jenis kolasi, himpunan karakter, dan jenis database-nya.
gcloud
Untuk informasi referensi, lihat gcloud
sql databases list.
gcloud sql databases list \ --instance=INSTANCE_NAME
REST v1
Permintaan berikut menggunakan metode databases:list untuk mencantumkan database ke sebuah instance.
Saat mencantumkan database menggunakan API, Anda akan melihat database template tambahan dan database sistem yang tidak ditampilkan oleh konsol. Anda tidak dapat menghapus atau mengelola database sistem.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-id: ID project
- instance-id: ID instance
Metode HTTP dan URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
REST v1beta4
Permintaan berikut menggunakan metode databases:list untuk mencantumkan database ke sebuah instance.
Saat mencantumkan database menggunakan API, Anda akan melihat database template tambahan dan database sistem yang tidak ditampilkan oleh konsol. Anda tidak dapat menghapus atau mengelola database sistem.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-id: ID project
- instance-id: ID instance
Metode HTTP dan URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
Mengubah pemilik database
Jika Anda ingin menghapus login pengguna yang terkait dengan pemilik database yang tidak lagi aktif, Anda harus menetapkan pemilik database baru terlebih dahulu.
Untuk menambahkan pemilik database baru, selesaikan langkah-langkah berikut:
gcloud
- Hubungkan ke database Anda dan buat dua akun demo:
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]
Lakukan penggantian berikut:
- TEST_LOGIN: nama akun pengujian, seperti
test-login. - TEST_PASSWORD: sandi untuk akun pengujian.
- REPORT_USER: nama akun pengguna kedua, seperti
report-user. Akun ini akan menjadi pemilik database baru. - REPORT_USER_PASSWORD: sandi untuk akun pengguna kedua.
- TEST_LOGIN: nama akun pengujian, seperti
- Hubungkan ke database Anda menggunakan akun pengujian yang baru saja Anda buat. Kemudian,
buat database pengujian menggunakan perintah berikut:
CREATE DATABASE TEST_DB
Lakukan penggantian berikut:
- TEST_DB: nama database pengujian yang ingin Anda buat,
seperti
test-database - TEST_LOGIN: Nama akun pengujian, seperti
test-login.
Pemilik database otomatis ditetapkan ke akun pengujian.
- TEST_DB: nama database pengujian yang ingin Anda buat,
seperti
- Hubungkan ke database menggunakan login SQL Server. Kemudian, jalankan perintah
berikut untuk mencoba menghapus login
TEST_LOGIN:drop login TEST_LOGIN
Ganti TEST_LOGIN dengan nama akun pengujian, seperti
test-login.Operasi gagal dan error berikut ditampilkan:
- Hubungkan ke database
TEST_DBsebagai akunREPORT_USERdan berikan izin akun agar sesuai dengan pemilik yang ada.GRANT IMPERSONATE on LOGIN::REPORT_USER to TEST_LOGIN
- Hubungkan ke database sebagai akun pengujian. Kemudian, jalankan perintah
berikut untuk memberi otorisasi akun kedua sebagai pemilik database:
ALTER AUTHORIZATION ON DATABASE::TEST_DB TO REPORT_USER
- Hubungkan ke database sebagai
REPORT_USERdan hapus izin yang diberikan.REVOKE IMPERSONATE on LOGIN::REPORT_USER to TEST_LOGIN
- Hubungkan ke database sebagai akun SQL Server. Kemudian, jalankan perintah
berikut untuk menghentikan login
TEST_LOGIN: Setelah selesai, pesan berikut akan ditampilkan:DROP LOGIN TEST_LOGIN
DROP LOGIN for TEST_LOGIN by sqlserver(sqlserver) is successful.
Menghapus database
Untuk menghapus database di instance Cloud SQL:
Konsol
-
Di konsol Google Cloud , buka halaman Instance Cloud SQL.
- Untuk membuka halaman Ringkasan instance, klik nama instance.
- Klik Database dari menu sebelah kiri.
- Dalam daftar database, temukan database yang ingin Anda hapus, lalu klik ikon tempat sampah.
- Pada dialog Hapus database, masukkan nama database lalu klik Hapus.
gcloud
Untuk informasi referensi, lihat gcloud
sql databases delete.
gcloud sql databases delete DATABASE_NAME \ --instance=INSTANCE_NAME
REST v1
Permintaan berikut menggunakan metode databases:delete untuk menghapus database yang ditentukan.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-id: ID project
- instance-id: ID instance
- database-name: Nama database di dalam instance Cloud SQL
Metode HTTP dan URL:
DELETE https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases/database-name
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
REST v1beta4
Permintaan berikut menggunakan metode databases:delete untuk menghapus database yang ditentukan.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-id: ID project
- instance-id: ID instance
- database-name: Nama database di dalam instance Cloud SQL
Metode HTTP dan URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases/database-name
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
Langkah selanjutnya
- Mengelola pengguna untuk instance Anda.
- Impor data ke instance Anda.
- Membuat Tabel (Database Engine).
Coba sendiri
Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa Cloud SQL dalam skenario dunia nyata. Pelanggan baru juga akan mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
Coba Cloud SQL gratis