Mengaktifkan WIFI Setup di SQL Server 2016

chmood
Β Β  SQL Server 2016 telah menambahkan beberapa pilihan baru yang bagus untuk pengalaman setup. Pertama mereka menambahkan kemampuan untuk memiliki beberapa file tempdb di install, penghemat waktu yang bagus untuk nanti. Dan sekarang, dengan CTP 3.0 mereka telah menambahkan kemampuan untuk mengaktifkan IFI di install.

Apa IFI, dan bagaimana cara mendapatkannya?

IFI singkatan inisialisasi file yang instan, dan jika Anda tidak menyadari, memungkinkan ini memungkinkan SQL Server untuk tumbuh file data hampir seketika. Tanpa ini memungkinkan ruang file data harus diklaim dan kemudian diisi dengan nol, sesuatu yang merupakan tugas yang panjang dan sulit, terutama pada media berputar penyimpanan tipe lambat.

Ini hanya relevan untuk file data, untuk keamanan dan integritas beralasan file log masih perlu memusatkan perhatian keluar.

Mengaktifkan IFI sebenarnya cukup tugas sederhana, Anda hanya perlu menambahkan account layanan SQL ke Lakukan Volume Pemeliharaan Tugas bagian dari kebijakan keamanan lokal dan kemudian restart layanan SQL Server.


Apa SQL 2016 lakukan secara berbeda?

Sebelum SQL Server 2016 (CTP 3.0) Anda akan perlu untuk secara manual menambahkan account SQL ke Maintenance Tasks (PVMT) bagian Lakukan Volume Local Security Policy (secpol). Sekarang Anda dapat memiliki installer mengurus ini untuk Anda. Itu benar-benar membantu dengan tidak lupa untuk melakukannya nanti, yang dapat menyebabkan beberapa masalah kinerja yang serius di jalan.

Jika Anda melakukan baris perintah menginstal Anda dapat menambahkan / SQLSVCINSTANTFILEINIT argumen atau centang kotak di GUI.

Instalasi SQL 2016 dengan IFI diaktifkan

Di sini kita hanya akan mengambil cepat melihat opsi instalasi, menutupi tempat di mana kita dapat memvalidasi bahwa IFI telah diaktifkan, dan juga melihat, apa yang saya anggap sebagai, risiko keamanan.

Instalasi

Sangat sederhana, semua yang perlu kita lakukan adalah memeriksa kotak berikut;



Itu dia. Hal ini tidak lebih rumit dari itu.

memvalidasi

Ada beberapa cara yang bisa kita memvalidasi bahwa IFI di tempat. Pertama, membuka secpol dan periksa bahwa account layanan terdaftar di PVMT:




Satu hal yang Anda akan melihat di sini adalah bahwa, bukan pemberian izin langsung ke account layanan instalasi itu menggunakan nama akun virtual. Ini adalah tingkat tambahan yang menarik dari keamanan untuk izin, yang berarti bahwa seseorang log on ke server dengan account layanan tidak akan mendapatkan hak yang (kecuali akun yang juga seorang admin, yang benar-benar tidak harus).

Sekarang kita tahu pengaturan secpol baik kita dapat memvalidasi bahwa IFI berfungsi dengan benar dalam SQL.
Untuk melakukan ini kita mengaktifkan beberapa bendera jejak (tidak melakukan ini pada sistem produksi):


  • Β 3004 - menampilkan informasi sekitar pembuatan berkas dan backup
  • Β 3605 - pengalihan output ke SQL Server error log

Dengan bendera diaktifkan kita dapat baik membuat database, atau meningkatkan ukuran data dan berkas log. Dalam contoh ini itu db cepat buat (setelah semua, sistem dev lokal)

Kemudian kita dapat membuka log kesalahan dan melihat output:



Dalam log Anda dapat melihat di mana bendera jejak yang diaktifkan dan dinonaktifkan. Antara saat-saat ada beberapa baris yang menandai bahwa penekanan dimulai dan diselesaikan pada file log, tapi tidak ada pada file data. Hal ini karena tidak ada zeroing diperlukan berkat SQL mampu dengan cepat hanya mengalokasikan ruang yang dibutuhkan.

Pada titik ini kita dapat memiliki keyakinan penuh bahwa SQL telah IFI diaktifkan dan kita baik untuk pergi.


Bagaimana pengaturan Kebijakan Grup mengubah hal-hal?

Salah satu keingintahuan terbesar saya saat ini diumumkan adalah bagaimana ini akan bekerja dengan objek kebijakan grup (GPO). GPO adalah cara untuk administrator domain Anda untuk mengatur banyak hal di domain, unit organisasi (OU), atau bahkan tingkat server. Pengaturan ini dapat (dan sering lakukan) meliputi pengaturan, dan mencegah perubahan pengaturan secpol tertentu. Membatasi akses ke PVMT adalah salah satu penggunaan GPO lebih umum, jadi saya ingin menguji ini dan melihat apakah itu akan menyebabkan SQL instalasi gagal, atau hanya melempar kesalahan pada penyelesaian.

Menetapkan GPO
Saya membuat sebuah OU baru dan melemparkan server di dalamnya, siap menguji SQL 2016 install. Kemudian saya membuat sebuah GPO baru yang ditetapkan untuk membatasi pengaturan PVMT ke grup BUILTIN \ Administrators saja. Ini berarti bahwa tidak ada pengguna lain akan dapat ditambahkan melalui secpol (Saya juga membatasi kemampuan untuk orang lain selain admin perusahaan untuk dapat membuat perubahan).




Saya memastikan bahwa kebijakan tersebut telah diterapkan dengan benar pada server yang bersangkutan dengan masuk dan mencoba untuk mengubah pengaturan PVMT:


Seperti yang dapat Anda lihat di sini grup Administrator memiliki izin, tapi tidak ada pilihan bagi saya untuk membuat perubahan selanjutnya. Ini dikurung oleh GPO.
Nyaman dalam pengetahuan bahwa installer tidak akan mampu untuk memberikan hak-hak saya tertarik untuk melihat apakah saya akan mendapatkan kegagalan keras atau lunak dari installer. Banyak saya terkejut aku tidak ...

Meninjau SQL instalasi log

Ketika Anda menginstal SQL Server log rinci dari instalasi langkah ditulis ke filesystem. Anda dapat menemukannya di


% ProgramFiles% \ Microsoft SQL Server \ xxx \ Setup Bootstrap \ Log \ <YYYYMMDD hhmm> \ Detail.txt

Dimana


  • % programfiles% adalah lokasi direktori Program Files Anda (biasanya C: \ Program Files) xxx adalah versi SQL Server (130 untuk SQL 2016) <YYYYMMDD-hhmm> adalah tahun, bulan, hari, jam, menit instalasi operasi


Β Β  Saya kemudian menggali melalui log untuk mencoba dan menemukan di mana izin ini akan ditetapkan. Selain nama ramah PVMT secpol juga dikenal sebagai SeManageVolumePrivilege. Aku mencari ini dan mampu menemukannya, bersama dengan beberapa item secpol lainnya yang ditetapkan sebagai bagian dari instalasi.



Tidak ada kesalahan atau peringatan dalam log yang menyatakan bahwa ada masalah dengan konfigurasi PVMT. Jadi saya memutuskan untuk kembali ke secpol dan memeriksa status ada.

mengabaikan GPO


Banyak saya terkejut account SQL maya muncul dalam pengaturan PVMT secpol. Aku tidak tahu bagaimana hal itu terjadi. Meninjau pengaturan Saya bisa mengkonfirmasi bahwa akun saya digunakan untuk menginstal tidak mampu membuat penyesuaian dan namun entah bagaimana perizinan yang ditetapkan.

Untuk memeriksa dan melihat apakah izin yang aktif Saya melakukan tes lain dengan pengaturan jejak bendera dan menciptakan database, dan itu menunjukkan bahwa IFI telah diaktifkan.

Refreshing Kebijakan Grup
Tanya apakah ini adalah hal yang sementara, bukan sebuah total override dari GPO aku berlari gpupdate / kekuatan untuk menegakkan refresh. Ketika saya melakukan ini virtual account SQL telah dihapus dari kebijakan tersebut. Jadi setidaknya ini tidak akan menjadi perubahan permanen.

Kekhawatiran keamanan?
Bagi saya ini sangat mengkhawatirkan. Jika beberapa proses dapat mengabaikan pengaturan GPO dan entah bagaimana menambahkan dirinya ke secpol meskipun itu sedang dikurung ada sesuatu yang harus khawatir tentang di sini.

Saya bukan ahli dalam GPO dengan cara apapun, tapi sejauh yang saya tahu semuanya dikonfigurasi sedemikian rupa sehingga tidak ada apapun kemampuan dengan akun saya untuk bisa mendapatkan izin set.
Jika ada yang tahu bagaimana ini bisa terjadi, atau apa yang mungkin telah dilakukan secara tidak benar dalam GPO tolong beritahu saya.

TL; DR
Sekarang Anda dapat mengaktifkan IFI di install di SQL Server 2016, yang merupakan hal yang besar, tetapi ada kekhawatiran tentang keamanan yang datang bersama dengan itu.



Komentar