

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Upgrade mesin Microsoft SQL Server DB
<a name="USER_UpgradeDBInstance.SQLServer"></a>

Ketika Amazon RDS mendukung versi baru mesin basis data, Anda dapat meningkatkan instans DB Anda ke versi baru. Ada dua jenis peningkatan untuk instans DB SQL Server: peningkatan versi mayor dan versi minor. 

*Peningkatan versi mayor* dapat berisi perubahan basis data yang tidak memiliki kompatibilitas mundur dengan aplikasi yang ada. Akibatnya, Anda harus *secara manual* melakukan upgrade versi utama dari instans DB Anda. Anda dapat memulai peningkatan versi mayor dengan mengubah instans DB Anda. Namun, sebelum melakukan peningkatan versi mayor, kami sarankan agar Anda menguji peningkatan tersebut dengan mengikuti langkah-langkah yang dijelaskan dalam [Menguji upgrade RDS untuk SQL Server](USER_UpgradeDBInstance.SQLServer.UpgradeTesting.md). 

*Upgrade versi minor* hanya berisi perubahan yang kompatibel dengan aplikasi yang ada. Anda dapat memutakhirkan versi minor untuk instans DB Anda dengan dua cara:
+ *Secara manual* - Ubah instans DB Anda untuk memulai pemutakhiran
+ *Secara otomatis* - Aktifkan upgrade versi minor otomatis untuk instans DB Anda

Saat Anda mengaktifkan upgrade versi minor otomatis, RDS untuk SQL Server secara otomatis memutakhirkan instans database Anda selama jendela pemeliharaan terjadwal ketika pembaruan keamanan penting tersedia dalam versi minor yang lebih baru.

Untuk versi mesin minor setelah`16.00.4120.1`,`15.00.4365.2`,`14.00.3465.1`,`13.00.6435.1`, protokol keamanan berikut dinonaktifkan secara default:
+ `rds.tls10`(Protokol TLS 1.0)
+ `rds.tls11`(Protokol TLS 1.1)
+ `rds.rc4`(RC4 sandi)
+ `rds.curve25519`(Enkripsi Curve25519)
+ `rds.3des168`(Enkripsi Triple DES)

Untuk versi engine sebelumnya, Amazon RDS mengaktifkan protokol keamanan ini secara default.

```
...

"ValidUpgradeTarget": [
    {
        "Engine": "sqlserver-se",
        "EngineVersion": "14.00.3281.6.v1",
        "Description": "SQL Server 2017 14.00.3281.6.v1",
        "AutoUpgrade": false,
        "IsMajorVersionUpgrade": false
    }
...
```

Untuk informasi selengkapnya tentang cara melakukan peningkatan, lihat [Meningkatkan instans DB SQL Server](#USER_UpgradeDBInstance.SQLServer.Upgrading). Untuk informasi tentang versi SQL Server yang tersedia di Amazon RDS, lihat [Amazon RDS for Microsoft SQL Server](CHAP_SQLServer.md).

Amazon RDS juga mendukung kebijakan peluncuran pemutakhiran untuk mengelola peningkatan versi minor otomatis di beberapa sumber daya database dan. Akun AWS Untuk informasi selengkapnya, lihat [Menggunakan kebijakan peluncuran AWS Organizations pemutakhiran untuk peningkatan versi minor otomatis](RDS.Maintenance.AMVU.UpgradeRollout.md).

**Topics**
+ [Upgrade versi utama RDS untuk Server SQL](USER_UpgradeDBInstance.SQLServer.Major.md)
+ [Pertimbangan untuk peningkatan SQL Server](USER_UpgradeDBInstance.SQLServer.Considerations.md)
+ [Menguji upgrade RDS untuk SQL Server](USER_UpgradeDBInstance.SQLServer.UpgradeTesting.md)
+ [Meningkatkan instans DB SQL Server](#USER_UpgradeDBInstance.SQLServer.Upgrading)
+ [Meningkatkan instans DB yang dihentikan sebelum dukungan berakhir](#USER_UpgradeDBInstance.SQLServer.DeprecatedVersions)

# Upgrade versi utama RDS untuk Server SQL
<a name="USER_UpgradeDBInstance.SQLServer.Major"></a>

Amazon RDS saat ini mendukung upgrade versi utama berikut ke instans Microsoft SQL Server DB.

Anda dapat memutakhirkan instans DB yang ada ke SQL Server 2017 atau 2019 dari versi apa pun kecuali SQL Server 2008. Untuk meng-upgrade dari SQL Server 2008, pertama upgrade ke salah satu versi lainnya.


****  

| Versi saat ini | Versi peningkatan yang didukung | 
| --- | --- | 
|  SQLServer 2019  |  SQLServer 2022  | 
|  SQLServer 2017  |  SQLServer 2022 SQLServer 2019  | 
|  SQLServer 2016  |  SQLServer 2022 SQLServer 2019 SQLServer 2017  | 

Anda dapat menggunakan AWS CLI kueri, seperti contoh berikut, untuk menemukan peningkatan yang tersedia untuk versi mesin database tertentu.

**Example**  
Untuk Linux, macOS, atau Unix:  

```
aws rds describe-db-engine-versions \
    --engine sqlserver-se \
    --engine-version 14.00.3281.6.v1 \
    --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" \
    --output table
```
Untuk Windows:  

```
aws rds describe-db-engine-versions ^
    --engine sqlserver-se ^
    --engine-version 14.00.3281.6.v1 ^
    --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" ^
    --output table
```
Output menunjukkan bahwa Anda dapat memutakhirkan versi 14.00.3281.6 ke versi SQL Server 2017 atau 2019 terbaru yang tersedia.  

```
--------------------------
|DescribeDBEngineVersions|
+------------------------+
|      EngineVersion     |
+------------------------+
|  14.00.3294.2.v1       |
|  14.00.3356.20.v1      |
|  14.00.3381.3.v1       |
|  14.00.3401.7.v1       | 
|  14.00.3421.10.v1      |
|  14.00.3451.2.v1       |
|  15.00.4043.16.v1      |
|  15.00.4073.23.v1      |
|  15.00.4153.1.v1       |
|  15.00.4198.2.v1       |
|  15.00.4236.7.v1       |
+------------------------+
```

## Tingkat kompatibilitas basis data
<a name="USER_UpgradeDBInstance.SQLServer.Major.Compatibility"></a>

Anda dapat menggunakan tingkat kompatibilitas database Microsoft SQL Server untuk menyesuaikan beberapa perilaku database untuk meniru versi SQL Server sebelumnya. Untuk informasi selengkapnya, lihat [Compatibility level](https://msdn.microsoft.com/en-us/library/bb510680.aspx) dalam dokumentasi Microsoft. Saat Anda meningkatkan instans DB, semua basis data yang ada tetap memiliki tingkat kompatibilitas aslinya. 

Anda dapat mengubah tingkat kompatibilitas database dengan menggunakan ALTER DATABASE perintah. Misalnya, untuk mengubah database bernama `customeracct` agar kompatibel dengan SQL Server 2016, keluarkan perintah berikut: 

```
1. ALTER DATABASE customeracct SET COMPATIBILITY_LEVEL = 130
```

# Pertimbangan untuk peningkatan SQL Server
<a name="USER_UpgradeDBInstance.SQLServer.Considerations"></a>

Amazon RDS mengambil dua snapshot DB selama proses peningkatan. Snapshot DB pertama adalah snapshot dari instans DB sebelum perubahan peningkatan dibuat. Snapshot DB kedua diambil setelah peningkatan selesai.

**catatan**  
Amazon RDS hanya mengambil snapshot DB jika Anda telah mengatur periode retensi cadangan untuk instans DB Anda ke angka yang lebih besar dari 0. Untuk mengubah periode retensi cadangan Anda, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md).

Setelah peningkatan selesai, Anda tidak dapat kembali ke versi mesin basis data sebelumnya. Jika Anda ingin kembali ke versi yang lebih lama, pulihkan snapshot DB yang diambil sebelum peningkatan untuk membuat instans DB baru. 

Selama peningkatan SQL Server versi minor atau mayor, metrik **Ruang Penyimpanan Kosong** dan **Kedalaman Antrean Disk** akan menampilkan `-1`. Setelah peningkatan selesai, kedua metrik ini akan kembali normal.

Sebelum Anda meng-upgrade instance SQL Server Anda, tinjau informasi berikut.

**Topics**
+ [Praktik terbaik sebelum memulai upgrade](#USER_UpgradeDBInstance.SQLServer.BestPractices)
+ [Pertimbangan Multi-AZ](#USER_UpgradeDBInstance.SQLServer.MAZ)
+ [Pertimbangan replika baca](#USER_UpgradeDBInstance.SQLServer.readreplica)
+ [Pertimbangan grup opsi](#USER_UpgradeDBInstance.SQLServer.OGPG.OG)
+ [Pertimbangan grup parameter](#USER_UpgradeDBInstance.SQLServer.OGPG.PG)

## Praktik terbaik sebelum memulai upgrade
<a name="USER_UpgradeDBInstance.SQLServer.BestPractices"></a>

Sebelum memulai proses pemutakhiran, terapkan stpes persiapan berikut untuk memungkinkan kinerja peningkatan yang optimal dan meminimalkan potensi masalah:

Manajemen waktu dan beban kerja  
+ Jadwalkan peningkatan selama periode volume transaksi rendah.
+ Minimalkan operasi tulis selama jendela upgrade.
Hal ini memungkinkan Amazon RDS untuk menyelesaikan peningkatan lebih cepat dengan mengurangi jumlah file cadangan log transaksi yang perlu dipulihkan RDS selama pemasangan. secondary-to-primary

Manajemen transaksi  
+ Identifikasi dan pantau transaksi jangka panjang.
+ Pastikan semua transaksi penting dilakukan sebelum memulai peningkatan.
+ Cegah transaksi yang berjalan lama selama jendela upgrade.

Pengoptimalan file log  
Tinjau dan optimalkan file log transaksi:  
+ Kecilkan file log besar.
+ Kurangi pola konsumsi log yang tinggi.
+ Kelola File Log Virtual (VLFs).
+ Pertahankan ruang kosong yang memadai untuk operasi normal.

## Pertimbangan Multi-AZ
<a name="USER_UpgradeDBInstance.SQLServer.MAZ"></a>

Amazon RDS mendukung penerapan Multi-AZ untuk instans DB yang menjalankan Microsoft SQL Server dengan menggunakan SQL Server Database Mirroring (DBM) atau Always On Availability Groups (). AGs Untuk informasi selengkapnya, lihat [Deployment Multi-AZ untuk Amazon RDS for Microsoft SQL Server](USER_SQLServerMultiAZ.md).

Dalam penerapan Multi-AZ (Mirroring/AlwaysOn), ketika pemutakhiran diminta, RDS mengikuti strategi peningkatan bergulir untuk instance primer dan sekunder. Upgrade bergulir memastikan setidaknya satu instance tersedia untuk transaksi sementara instance sekunder ditingkatkan. Pemadaman diharapkan hanya berlangsung selama failover.

Selama upgrade, RDS menghapus instance sekunder dari konfigurasi Multi-AZ, melakukan upgrade instance sekunder, dan mengembalikan setiap backup log transaksi dari primer yang diambil selama waktu itu terputus. Setelah semua cadangan log dipulihkan, RDS bergabung dengan sekunder yang ditingkatkan ke primer. Ketika semua database berada dalam keadaan tersinkronisasi, RDS melakukan failover ke instance sekunder yang ditingkatkan. Setelah failover selesai, RDS melanjutkan dengan memutakhirkan instance primer lama, mengembalikan cadangan log transaksi, dan memasangkannya dengan primer baru.

Untuk meminimalkan durasi failover ini, sebaiknya gunakan titik akhir pendengar grup AlwaysOn AGs ketersediaan saat menggunakan pustaka klien yang mendukung opsi `MultiSubnetFailover` koneksi dalam string koneksi. Saat menggunakan titik akhir pendengar grup ketersediaan, waktu failover biasanya kurang dari 10 detik, namun durasi ini tidak menyertakan waktu pemulihan kerusakan tambahan.

## Pertimbangan replika baca
<a name="USER_UpgradeDBInstance.SQLServer.readreplica"></a>

Selama peningkatan versi basis data, Amazon RDS meningkatkan semua replika baca Anda bersama instans DB primer. Amazon RDS tidak mendukung peningkatan versi basis data pada replika baca secara terpisah. Untuk informasi selengkapnya tentang replika baca, lihat [Menggunakan replika baca untuk Microsoft SQL Server di Amazon RDS](SQLServer.ReadReplicas.md).

Saat Anda melakukan peningkatan versi basis data instans DB primer, semua replika baca juga ditingkatkan secara otomatis. Amazon RDS akan meningkatkan semua replika baca secara bersamaan sebelum meningkatkan instans DB primer. Replika baca mungkin tidak tersedia sampai peningkatan versi basis data pada instans DB primer selesai.

## Pertimbangan grup opsi
<a name="USER_UpgradeDBInstance.SQLServer.OGPG.OG"></a>

Jika instans DB Anda menggunakan grup opsi kustom, dalam beberapa kasus, Amazon RDS tidak dapat secara otomatis menetapkan grup opsi baru untuk DB Anda. Misalnya, saat Anda meningkatkan ke versi mayor baru, Anda harus menentukan grup opsi baru. Kami sarankan agar Anda membuat grup opsi baru, dan menambahkan opsi yang sama ke grup opsi kustom yang ada.

Untuk informasi selengkapnya, lihat [Membuat grup opsi](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create) atau [Menyalin grup opsi](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Copy).

## Pertimbangan grup parameter
<a name="USER_UpgradeDBInstance.SQLServer.OGPG.PG"></a>

Jika instans DB Anda menggunakan grup parameter DB kustom:
+ Amazon RDS secara otomatis mem-boot ulang instans DB setelah peningkatan.
+ Dalam beberapa kasus, RDS tidak dapat secara otomatis menetapkan grup parameter baru ke instans DB Anda.

  Misalnya, saat Anda meningkatkan ke versi mayor baru, Anda harus menentukan grup parameter baru. Kami menyarankan agar Anda membuat grup parameter baru, dan mengonfigurasi parameter seperti dalam grup parameter kustom yang ada.

Untuk informasi selengkapnya, lihat [Membuat grup parameter DB di Amazon RDS ](USER_WorkingWithParamGroups.Creating.md) atau [](USER_WorkingWithParamGroups.Copying.md).

# Menguji upgrade RDS untuk SQL Server
<a name="USER_UpgradeDBInstance.SQLServer.UpgradeTesting"></a>

Sebelum melakukan peningkatan versi mayor pada instans DB, Anda harus menguji kompatibilitas basis data Anda secara menyeluruh, dan semua aplikasi yang mengakses basis data, dengan versi baru. Kami menyarankan agar Anda menggunakan prosedur berikut.

**Untuk menguji peningkatan versi mayor**

1. [Tinjau Upgrade SQL Server](https://docs.microsoft.com/en-us/sql/database-engine/install-windows/upgrade-sql-server) dalam dokumentasi Microsoft untuk versi baru mesin database untuk melihat apakah ada masalah kompatibilitas yang mungkin memengaruhi database atau aplikasi Anda.

1. Jika instans DB Anda menggunakan grup opsi kustom, buat grup opsi baru yang kompatibel dengan versi baru yang menjadi target peningkatan Anda. Untuk informasi selengkapnya, lihat [Pertimbangan grup opsi](USER_UpgradeDBInstance.SQLServer.Considerations.md#USER_UpgradeDBInstance.SQLServer.OGPG.OG).

1. Jika instans DB Anda menggunakan grup parameter kustom, buat grup parameter baru yang kompatibel dengan versi baru yang menjadi target peningkatan Anda. Untuk informasi selengkapnya, lihat [Pertimbangan grup parameter](USER_UpgradeDBInstance.SQLServer.Considerations.md#USER_UpgradeDBInstance.SQLServer.OGPG.PG).

1. Buat snapshot DB dari instans DB yang akan ditingkatkan. Untuk informasi selengkapnya, lihat [Membuat snapshot DB untuk instans DB AZ tunggal untuk Amazon RDS](USER_CreateSnapshot.md).

1. Pulihkan snapshot DB untuk membuat instans DB uji baru. Untuk informasi selengkapnya, lihat [Memulihkan ke instans DB](USER_RestoreFromSnapshot.md).

1. Modifikasi instans DB uji baru ini untuk ditingkatkan ke versi baru menggunakan salah satu metode berikut:
   + [Konsol](USER_UpgradeDBInstance.Upgrading.md#USER_UpgradeDBInstance.Upgrading.Manual.Console)
   + [AWS CLI](USER_UpgradeDBInstance.Upgrading.md#USER_UpgradeDBInstance.Upgrading.Manual.CLI)
   + [API RDS](USER_UpgradeDBInstance.Upgrading.md#USER_UpgradeDBInstance.Upgrading.Manual.API)

1. Evaluasi penyimpanan yang digunakan oleh instans yang ditingkatkan untuk menentukan apakah peningkatan memerlukan penyimpanan tambahan. 

1. Jalankan pengujian jaminan kualitas terhadap instans DB yang ditingkatkan sebanyak yang diperlukan untuk memastikan bahwa basis data dan aplikasi Anda berfungsi baik dengan versi baru. Terapkan setiap pengujian baru yang diperlukan untuk mengevaluasi dampak dari masalah kompatibilitas yang Anda identifikasi pada langkah 1. Uji semua prosedur tersimpan dan fungsi. Arahkan versi pengujian aplikasi Anda ke instans DB yang ditingkatkan. 

1. Jika semua pengujian berhasil, maka lakukan peningkatan pada instans DB produksi Anda. Kami menyarankan agar Anda tidak mengizinkan operasi tulis ke instans DB hingga Anda mengonfirmasi bahwa semuanya berfungsi dengan benar. 

## Meningkatkan instans DB SQL Server
<a name="USER_UpgradeDBInstance.SQLServer.Upgrading"></a>

Untuk informasi tentang peningkatan instans DB SQL Server secara manual atau otomatis, lihat hal berikut:
+ [Meningkatkan versi mesin instans DB ](USER_UpgradeDBInstance.Upgrading.md)
+ [Praktik terbaik untuk meningkatkan SQL Server 2008 R2 ke SQL Server 2016 di Amazon RDS for SQL Server](https://aws.amazon.com/blogs/database/best-practices-for-upgrading-sql-server-2008-r2-to-sql-server-2016-on-amazon-rds-for-sql-server/)

**penting**  
Jika Anda memiliki snapshot yang dienkripsi menggunakan AWS KMS, kami sarankan Anda memulai upgrade sebelum dukungan berakhir. 

## Meningkatkan instans DB yang dihentikan sebelum dukungan berakhir
<a name="USER_UpgradeDBInstance.SQLServer.DeprecatedVersions"></a>

Setelah sebuah versi mayor dihentikan, Anda tidak dapat menginstal versi tersebut di instans DB baru. RDS akan mencoba meningkatkan semua instans DB yang ada secara otomatis. 

Jika Anda perlu memulihkan instans DB yang tidak digunakan lagi, Anda dapat melakukan point-in-time pemulihan (PITR) atau memulihkan snapshot. Tindakan ini dapat memberikan akses sementara ke instans DB yang menggunakan versi yang sudah dihentikan. Namun, setelah sebuah versi mayor sepenuhnya dihentikan, instans DB ini juga akan secara otomatis ditingkatkan ke versi yang didukung. 