Saat saya memulai KTT PASS pertama saya dalam beberapa tahun, sulit untuk menahan kegembiraan saya tentang versi terbaru dari SQL Server. Saya membantu Bob Ward (@bobwardms) dengan pengeditan teknis untuk buku terbarunya, "SQL Server 2019 Revealed," dan telah secara aktif terlibat dengan tim produk dan rekan MVP saya selama siklus CTP dan RC. Saya bahkan menghadiri acara SQL Server 2019 Airlift yang sangat eksklusif di Redmond pada minggu pertama bulan Oktober – dan meskipun sudah terlambat untuk memberikan umpan balik yang akan berdampak pada RTM, saya membuat beberapa saran konstruktif yang mudah-mudahan akan kita lihat di CU ( atau paling lambat vNext).
Produk belum dirilis, setidaknya pada saat penulisan, tetapi mereka sudah mulai membentuk fitur mana (dan ada banyak dari mereka) yang akan tersedia di edisi mana. Seperti yang Anda ingat, kembali di SQL Server 2016 SP1, mereka membuka semua fitur permukaan pemrograman untuk semua edisi, dan banyak (tapi tentu saja tidak semua) fitur kinerja dan ketersediaan. Saya menulis tentang ini dalam posting berjudul, "A Big Deal:SQL Server 2016 Service Pack 1." Ini adalah waktu yang sangat menyenangkan, dan saya hanya ingin berbagi beberapa pemikiran tentang hit dan miss di versi terbaru.
Klik
- Pemulihan Basis Data yang Dipercepat dalam Edisi Standar . Ini adalah kejutan terbesar bagi saya, karena saya pikir ini akan menjadi fitur Edisi Perusahaan. Ini adalah fitur ketersediaan, karena dapat secara drastis mengurangi failover dan waktu pemulihan, dan dapat dianggap sebagai fitur kinerja juga, karena Anda sekarang dapat menggunakan penyimpanan versi lokal yang sama untuk hal-hal seperti RCSI alih-alih berbagi penyimpanan versi di tempdb. Anda bahkan dapat menempatkan toko versi lokal di grup filenya sendiri, yang bukan merupakan opsi ketika saya menulis tentang fitur tersebut pada bulan Maret. Memiliki ini tersedia di semua edisi adalah hal yang luar biasa, tetapi Anda perlu memastikan bahwa Anda menguji beban kerja Anda berdasarkan garis dasar.
- Transparan Data Encryption (TDE) sekarang dalam Edisi Standar . Perlu diingat bahwa dokumentasinya belum final, ini adalah perubahan besar bagi banyak toko, dan masuk akal bahwa fitur keamanan penting seperti itu tidak boleh menjadi pembeda untuk edisi paling mahal. Ini bukan fitur kinerja atau ketersediaan, dan keamanan data dasar yang masuk akal seharusnya tidak memerlukan biaya tambahan, IMHO. Nike Neugebauer setuju. Selalu Terenkripsi dan fitur lainnya seperti Keamanan Tingkat Baris dan Penyembunyian Data Dinamis tersedia di semua edisi, tetapi tidak selalu cocok dengan solusi "tombol mudah" yang dicari pelanggan.
- Penyejajaran UDF Skalar ada di semua edisi – bahkan Express . Ini adalah fitur hebat yang pada dasarnya menyembunyikan semua kinerja buruk yang Anda dapatkan dari fungsi skalar yang ditentukan pengguna yang tidak efisien (saya pertama kali menulis tentang fitur ini setahun yang lalu). Saya terkejut yang ini bukan hanya untuk Perusahaan – ini bisa saja seperti tampilan yang diindeks, di mana fungsionalitasnya tersedia di mana-mana, tetapi perilakunya lebih baik (setidaknya secara default) di Edisi Perusahaan. Saya senang semua orang akan mendapat manfaat dalam kasus ini.
- Penyiapan memberikan rekomendasi dunia nyata yang lebih baik . Ini bukan item dalam daftar fitur, tetapi ada beberapa opsi dan saran baru seputar MAXDOP dan memori server min/maks yang menurut saya merupakan tambahan yang bagus dan akan memungkinkan orang untuk mengonfigurasi instance mereka dengan lebih baik dari awal:
Layar MaxDOP baru sedang disiapkan ( klik untuk memperbesar)
Layar Memori baru sedang disiapkan ( klik untuk memperbesar)
Sekarang jika saja mereka dapat menambahkan opsi untuk hal-hal lain yang mengganggu setelah penginstalan, seperti Mengunci Halaman di Memori, mengubah ambang biaya default untuk paralelisme, menentukan tanda jejak startup (seperti 3226!), menyoroti pengaturan rencana daya yang kurang optimal, dan mengaktifkan Grup Ketersediaan secara langsung alih-alih menggunakan Pengelola Konfigurasi setelahnya. Dan mungkin mereka bisa menghapus peringatan sial tentang firewall itu; itu selalu sama dan, setidaknya bagi saya, itu tidak pernah berarti atau membantu dalam skenario apa pun.
Kehilangan
- Mereka masih tidak mau mengalah pada batas 128GB untuk Edisi Standar , meskipun banyak permintaan (seperti yang ini dari Erik Darling). Ini bukan ide asli saya, dan itu tidak akan membuat perizinan atau penegakan lebih sederhana, tetapi batas memori bisa dibuat relatif terhadap jumlah core berlisensi. Dengan cara ini batas memori Anda didasarkan pada berapa banyak yang Anda habiskan untuk lisensi, bukan batas sewenang-wenang yang diputuskan di ruang konferensi di suatu tempat 5 tahun yang lalu.
Brent Ozar (@BrentO) juga berbicara tentang "badai yang sempurna " yang melibatkan hibah memori dalam Edisi Standar, dan saya cukup setuju – saya pikir pelanggan akan dengan senang hati membayar premi untuk beralih dari CAL ke lisensi inti pada Edisi Standar jika sekarang berarti mereka dapat menggunakan lebih banyak (atau bahkan semua) memori mereka.
- TempDB dengan Memori yang Dioptimalkan hanya Edisi Perusahaan , sedangkan teknologi In-Memory Database lainnya, seperti Memory-Optimized Tables dan Hybrid Buffer Pool, tersedia dalam Edisi Standar. Saya merasa bahwa fitur ini semacam hibrida antara kinerja dan ketersediaan; setidaknya lebih seimbang daripada, katakanlah, inlining UDF. Fungsi lambat hanya membuat orang menunggu; tempdb yang kewalahan hampir dapat menghapus instance Anda. Saya juga merasa bahwa pelanggan Perusahaan cenderung sudah memiliki perangkat keras yang lebih banyak dan lebih baik untuk mengatasi masalah daripada yang mampu dibeli oleh toko-toko kecil. Pelanggan yang memilih Edisi Standar tidak perlu berhemat menunggu untuk menulis cek.
Salah satu saran yang saya miliki tentang fitur ini adalah bahwa harus ada argumen baris perintah dan/atau kotak centang UI selama penyiapan untuk mengaktifkan fitur ini segera setelah penginstalan atau peningkatan. Ini akan menghindari gangguan setelah penginstalan, karena satu-satunya cara untuk mengaktifkan fitur ini adalah dengan melakukan restart layanan. Alasan itu tidak aktif secara default adalah karena ada pola beban kerja di mana manfaatnya tidak akan terlihat jelas, dan beberapa skenario pemutusan yang melibatkan transaksi dan database lain dengan tabel yang dioptimalkan memori, jadi mereka ingin Anda menguji beban kerja Anda dan memastikan bahwa Anda mengamati jenis pertengkaran yang benar dan bahwa manfaatnya ada di sana. Tapi bagaimana jika saya sudah melakukannya di sistem lain dengan beban kerja yang sama?
Pemikiran Perpisahan
Meskipun mungkin terdengar seperti saya mengeluh, saya masih sangat senang dengan versi ini dan semua yang ditawarkannya. Saya berharap ketersediaannya akan diumumkan di Ignite dan PASS Summit, jadi Anda mungkin sudah memiliki bit RTM pada saat Anda membaca ini.