Setelah membuat instans ApsaraDB RDS for SQL Server, Anda perlu membuat database pada instans tersebut untuk aplikasi Anda. Topik ini menjelaskan cara membuat database dan merencanakan jumlah database sesuai kebutuhan bisnis.
Batas database
Jumlah maksimum database
Batas database untuk instans SQL Server 2008 R2 tetap sebesar 50. Untuk versi lainnya, batas tersebut bergantung pada tipe instans.
RDS Cluster Edition dan RDS High-availability Edition
Rumus: min(floor(√CPU cores) × 50, 300)
-
Ambil akar kuadrat dari jumlah core CPU.
-
Bulatkan ke bawah ke bilangan bulat terdekat.
-
Kalikan dengan 50.
-
Hasilnya, dibatasi maksimal 300, merupakan jumlah maksimum database.
Contoh: Instans 4-core yang menjalankan SQL Server 2016 Standard Edition mendukung hingga floor(√4) × 50 = 2 × 50 = 100 database.
RDS Basic Edition
Rumus: min(floor(√CPU cores) × 100, 400)
-
Ambil akar kuadrat dari jumlah core CPU.
-
Bulatkan ke bawah ke bilangan bulat terdekat.
-
Kalikan dengan 100.
-
Hasilnya, dibatasi maksimal 400, merupakan jumlah maksimum database.
Contoh: Instans 4-core yang menjalankan SQL Server 2019 Standard Edition mendukung hingga floor(√4) × 100 = 2 × 100 = 200 database.
Fungsi min mengembalikan nilai terkecil dari dua nilai. Misalnya, min(100, 300) adalah 100.
Buat database
Buka halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instans RDS berada. Lalu, temukan instans RDS tersebut dan klik ID instansnya.
Di panel navigasi kiri, klik .
Klik Create Database, konfigurasikan parameter berikut, lalu klik Create.
Parameter | Deskripsi |
Database Name | Masukkan nama untuk database. Nama harus terdiri dari 2 hingga 64 karakter, dimulai dengan huruf, dan diakhiri dengan huruf atau angka. Nama dapat berisi huruf besar, huruf kecil, angka, garis bawah (_), dan tanda hubung (-). Karakter Tionghoa tidak didukung. |
Supported Character Set | Pilih character set untuk database. |
Description | Masukkan deskripsi untuk database. Panjang deskripsi maksimal 256 karakter. |
Operasi terkait
Anda juga dapat memanggil operasi API CreateDatabase untuk membuat database pada instans ApsaraDB RDS for SQL Server.
Anda dapat menggunakan berbagai metode untuk menghubungkan ke instans SQL Server Anda, seperti Data Management (DMS) atau client SQL Server Management Studio (SSMS).
FAQ
Apa yang harus saya lakukan jika muncul pesan kesalahan Specified DB name already exists in the This instance. saat membuat database?
Masalah
Saat membuat database di halaman Databases instans ApsaraDB RDS for SQL Server, muncul pesan kesalahan Specified DB name already exists in the This instance.. Kode kesalahannya adalah InvalidDBName.Duplicate.
Penyebab
Database dengan nama yang sama sudah ada pada instans tersebut. Anda tidak dapat membuat database dengan nama yang sama seperti database yang sudah ada.
Selain itu, halaman Databases instans ApsaraDB RDS for SQL Server hanya menampilkan database dengan status ONLINE. Database yang tidak dalam status ONLINE (seperti RESTORING, RECOVERING, atau OFFLINE) tidak ditampilkan di konsol. Oleh karena itu, Anda mungkin salah mengira bahwa database tersebut tidak ada, sehingga menyebabkan kegagalan pembuatan.
Solusi
Hubungkan ke instans ApsaraDB RDS for SQL Server menggunakan SSMS.
Jalankan pernyataan SQL berikut untuk menanyakan database non-sistem pada instans dan statusnya:
SELECT
[name] AS DatabaseName, -- Nama database
state_desc AS StateDescription, -- Status saat ini dari database, seperti ONLINE, OFFLINE, atau RECOVERING
recovery_model_desc AS RecoveryModel -- Model pemulihan database, seperti SIMPLE atau FULL
FROM
sys.databases
WHERE
database_id > 4; -- Menyaring database sistem
Hasil contoh berikut dikembalikan. Anda dapat memeriksa apakah database dengan nama yang sama sudah ada dan melihat status saat ini dari database tersebut.
DatabaseName StateDescription RecoveryModel
jmdb ONLINE FULL
jmdb200 RECOVERING FULL
Jika database dengan nama yang sama sudah ada tetapi tidak dalam status ONLINE, selesaikan masalah berdasarkan skenario berikut:
Skenario 1: Anda memilih untuk tidak membawa database online saat memulihkan data cadangan dari OSS
Penyebab
Saat Anda memulihkan data cadangan dari OSS ke instans ApsaraDB RDS for SQL Server, jika Anda memilih opsi Do not bring the database online (for additional differential or log backups), database akan tetap dalam status non-ONLINE.
Opsi ini terletak di bagian Migration Plan pada langkah 3. Import Data di Import Guide, yang muncul setelah Anda mengklik Migrate OSS Backup Data to RDS di halaman Backup and Restoration di panel navigasi kiri konsol RDS.
Solusi
Jika Anda masih perlu mengunggah file cadangan inkremental, bawa database online di tab Cloud Migration Records of Backup Data setelah pemulihan selesai. Jika Anda tidak lagi perlu memulihkan data inkremental, Anda dapat langsung membawa database online.
Dalam kasus ini, di tab Cloud Migration Records of Backup Data, status tugas adalah Waiting, jenis tugas adalah Do not bring the database online (for additional differential or log backups), dan deskripsi tugas adalah Waiting for online.
Jika database tersebut tidak lagi diperlukan dan harus dibuat ulang, Anda dapat membawa database online, menghapus database, lalu membuat database tersebut kembali.
Skenario 2: Database masuk ke status RECOVERING karena ruang log penuh
Penyebab
Ruang log penuh dan log tidak dapat ditulis. Akibatnya, database masuk ke status RECOVERING. Anda dapat memeriksa log kesalahan instans untuk mengonfirmasi masalah ini:
3/16/2024 2:05:35 AM spid128 During undoing of a logged operation in database 'db_logistics', an error occurred at log record ID (1:88854:14712:2). Typically, the specific failure is logged previously as an error in...
3/16/2024 2:05:35 AM spid128 Error: 3314, Severity: 21, State: 3.
3/16/2024 2:05:35 AM spid128 The transaction log for database 'xxx' is full due to 'LOG_BACKUP'.
3/16/2024 2:05:35 AM spid128 Error: 9002, Severity: 17, State: 2.
3/16/2024 2:05:35 AM spid128 The transaction log for database 'xxx' is full due to 'LOG_BACKUP'.
Solusi
Jika kapasitas penyimpanan instans penuh dan ruang log tidak dapat diperluas, Anda harus memperluas kapasitas penyimpanan instans lalu me-restart instans secara manual. Setelah restart, database akan melanjutkan proses RECOVERING. Setelah pemulihan selesai, database akan kembali ke status ONLINE.
Jika batas pertumbuhan telah diatur untuk file log database dan ruang log penuh tetapi kapasitas penyimpanan instans belum penuh, Anda hanya perlu menambah batas ukuran file log. Anda tidak perlu me-restart instans. Untuk menyesuaikan batas ukuran file log, lakukan langkah-langkah berikut:
Di Object Explorer SQL Server Management Studio (SSMS), klik kanan database, misalnya jmdb, lalu pilih Properties.
Di panel navigasi kiri kotak dialog Database Properties, pilih halaman Files. Di tabel Database files, temukan file log yang File Type-nya LOG, lalu klik tombol ... di kolom Autogrowth / Maxsize untuk menyesuaikan pengaturan pertumbuhan otomatis dan ukuran maksimum file log.
Di kotak dialog Change Autogrowth for jmdb_log, pilih Enable Autogrowth, atur File Growth ke In Megabytes dan masukkan nilai pertumbuhan, misalnya 64, atur Maximum File Size ke Limited to (MB) dan masukkan ukuran file maksimum, misalnya 2.097.152 (yang berarti 2 TB), lalu klik OK.
Jika database tersebut tidak lagi diperlukan dan harus dibuat ulang, Anda dapat menunggu hingga database masuk ke status ONLINE, menghapus database, lalu membuat database tersebut kembali.
Skenario 3: Database diatur secara manual ke status OFFLINE
Penyebab
Database mungkin diatur secara manual ke status OFFLINE oleh administrator.
Solusi
Gunakan prosedur tersimpan sp_rds_set_db_online untuk membawa database kembali ke status ONLINE:
USE master;
GO
EXEC sp_rds_set_db_online 'Database name';
GO
Jika database tersebut tidak lagi diperlukan dan harus dibuat ulang, Anda dapat menunggu hingga database masuk ke status ONLINE, menghapus database, lalu membuat database tersebut kembali.
Apa yang harus saya lakukan jika muncul pesan kesalahan Due to the limit number you can't create a database saat membuat database?
Penyebab: Kesalahan ini menunjukkan bahwa instans ApsaraDB RDS for SQL Server Anda telah mencapai jumlah maksimum database yang diizinkan berdasarkan spesifikasinya. Untuk informasi tentang cara menghitung batas tersebut, lihat bagian Batas database dalam topik ini.
Solusi: Untuk meningkatkan batas jumlah database, Anda dapat meningkatkan spesifikasi instans.
Apakah saya dapat menggunakan karakter Tionghoa dalam nama database ApsaraDB RDS for SQL Server?
Tidak. Penggunaan karakter Tionghoa dalam nama database dapat menyebabkan masalah kompatibilitas, kesulitan penguraian skrip, risiko migrasi, dan kompleksitas manajemen. Di ApsaraDB RDS for SQL Server, nama database harus terdiri dari 2 hingga 64 karakter, dimulai dengan huruf, diakhiri dengan huruf atau angka, serta hanya boleh berisi huruf besar, huruf kecil, angka, garis bawah (_), atau tanda hubung (-). Mengikuti konvensi penamaan ini menjamin stabilitas dan kemudahan pemeliharaan sistem.