Topik ini menjelaskan cara menggunakan perintah SQL untuk membuat dan menghapus database pada instans ApsaraDB RDS for SQL Server. Topik ini juga mencakup penggunaan prosedur tersimpan khusus untuk mengubah nama database serta operasi berisiko tinggi yang dilarang selama pengelolaan database.
Prasyarat
Instans ApsaraDB RDS for SQL Server harus menjalankan SQL Server 2012 atau versi yang lebih baru.
Buat database
Eksekusi pernyataan berikut untuk membuat database:
CREATE DATABASE TestDbSaat membuat database pada instans RDS, sistem secara otomatis menghasilkan jalur file. Jangan tentukan jalur file.
Anda dapat mengeksekusi pernyataan berikut untuk memeriksa informasi jalur file data dan file log dari semua database pada instans SQL Server:
SELECT db_name(database_id), physical_name
FROM sys.master_files;Hapus database
Eksekusi pernyataan berikut untuk menghapus database:
DROP DATABASE [TestDb]Jika Anda tidak mencadangkan database sebelum menghapusnya, sistem akan menampilkan pesan kesalahan berikut:
DROP DATABASE [TestDb]
-------------------------------------------------------------------------------------------------
Pengingat:
database Anda [TestDb] tidak memiliki set cadangan.
-------------------------------------------------------------------------------------------------
Pengguna Login [Test11] telah menghapus database [TestDb].Ubah nama database
ApsaraDB RDS for SQL Server menyediakan prosedur tersimpan sp_rds_modify_db_name untuk mengubah nama database dengan aman. Prosedur tersimpan ini tidak memerlukan otorisasi tambahan dan dapat dieksekusi oleh akun standar.
Perintah T-SQL
sp_rds_modify_db_name
Instans RDS yang Didukung
Seri Ketersediaan Tinggi (HA)
Edisi Kluster
Seri Dasar
Deskripsi
Prosedur tersimpan ini digunakan untuk mengganti nama database. Setelah Anda mengganti nama database pada instans RDS yang menjalankan Edisi Ketersediaan Tinggi RDS atau Edisi Kluster RDS, sistem secara otomatis membangun ulang konfigurasi replikasi antara instans RDS dan instans sekundernya. Selama proses pembangunan ulang, data instans RDS dicadangkan dan dipulihkan. Jika database menempati banyak penyimpanan, pastikan bahwa penyimpanan yang tersedia pada instans RDS cukup.
Penggunaan
USE db
GO
EXEC sp_rds_modify_db_name 'db','new_db'
GOParameter pertama menentukan nama asli database.
Parameter kedua menentukan nama baru database.
Pembatasan modifikasi database
Anda dapat memodifikasi sebagian besar atribut database. Perhatikan poin-poin berikut:
Jangan pindahkan database ke jalur file yang tidak valid.
Sebagai contoh, jika Anda mengeksekusi pernyataan berikut tetapi menentukan jalur file yang tidak valid dalam pernyataan tersebut:
ALTER DATABASE [TestDb]MODIFY FILE( NAME = N'TestDb', FILENAME = N'E:\KKKK\DDD\DATA\TestDb.mdf' )Sistem akan menampilkan pesan kesalahan berikut:
Msg 50000, Level 16, State 1, Procedure ******, Line 152 Jalur file [ E:\KKKK\DDD\DATA\TestDb.mdf ] tidak valid, silakan tentukan folder jalur yang benar [ E:\mmm\gggg\ ]. Msg 3609, Level 16, State 2, Line 2 Transaksi berakhir di pemicu. Batch telah dibatalkan.Jangan atur model pemulihan ke model selain FULL.
Sebagai contoh, jika Anda mengeksekusi pernyataan berikut untuk mengatur model pemulihan ke SIMPLE:
ALTER DATABASE [TestDb] --[TestDb] adalah nama database. SET RECOVERY SIMPLETindakan ini memutus rantai log database. Sistem mengatur ulang model pemulihan ke FULL, mencegah perubahan ke SIMPLE, dan mengembalikan pesan kesalahan berikut:
Msg 50000, Level 16, State 1, Procedure ******, Line 46 Pengguna Login [Test11] tidak dapat mengubah model pemulihan database [TestDb]. Msg 3609, Level 16, State 2, Line 2 Transaksi berakhir di pemicu. Batch telah dibatalkan.PentingJika log penuh, Anda hanya dapat memotong rantai log untuk penyusutan. Kami merekomendasikan agar Anda tidak mengubah model pemulihan database menjadi SIMPLE. Jika Anda mengubah model pemulihan database menjadi SIMPLE, rantai cadangan instans RDS tempat database tersebut dimiliki terputus, dan semua tugas pemulihan yang dilakukan pada titik waktu ketika rantai cadangan terputus gagal. Untuk mengubah mode pemulihan database menjadi SIMPLE dan memotong rantai log database dalam situasi darurat, Anda harus memahami dan bertanggung jawab atas risiko di atas. Setelah Anda mengeksekusi pernyataan di atas, Anda dapat mengabaikan pesan kesalahan yang ditampilkan, dan rantai log database terputus.
Setelah Anda mengatur database ke OFFLINE, jangan langsung menjalankan perintah ONLINE.
Sebagai contoh, jika Anda mengeksekusi pernyataan berikut untuk mengubah status database dari OFFLINE menjadi ONLINE:
USE [master] GO --set offline --ALTER DATABASE [TestDb] --SET OFFLINE --WITH ROLLBACK AFTER 0 ALTER DATABASE [TestDb] SET ONLINESistem akan menampilkan pesan kesalahan berikut:
Msg 5011, Level 14, State 9, Line 1 Pengguna tidak memiliki izin untuk mengubah database 'TestDb', database tidak ada, atau database tidak dalam keadaan yang memungkinkan pemeriksaan akses. Msg 5069, Level 16, State 1, Line 1 Pernyataan ALTER DATABASE gagal.Untuk mengubah status database dari
OFFLINEkeONLINE, jalankan prosedur tersimpan sp_rds_set_db_online:EXEC sp_rds_set_db_online 'TestDb'
Kesalahan umum
Kesalahan saat memodifikasi nama database RDS SQL Server dengan perintah SQL asli ALTER DATABASE atau antarmuka grafis SSMS?
Referensi
Untuk informasi lebih lanjut tentang cara membuat atau menghapus database di Konsol ApsaraDB RDS, lihat Buat Database dan Hapus Database. Untuk melakukan operasi ini menggunakan API, lihat CreateDatabase dan DeleteDatabase.
Untuk informasi lebih lanjut tentang cara melihat atau mengubah aturan pengurutan set karakter dan zona waktu di Konsol ApsaraDB RDS, lihat Ubah Aturan Pengurutan Set Karakter dan Zona Waktu. Untuk melakukan operasi ini menggunakan API, lihat DescribeCollationTimeZones.
Untuk informasi lebih lanjut tentang cara melihat atau mengubah properti database, secara manual menyusutkan log transaksi, atau memperbarui statistik database di Konsol ApsaraDB RDS, lihat Kelola Properti Database. Untuk melakukan operasi ini menggunakan API, lihat ModifyDatabaseConfig.

