it-swarm.asia

Apa alasan bisnis objektif untuk memilih SQL Server 2012 lebih dari 2008 R2?

Perusahaan saya menghadapi keputusan apakah akan membeli SQL Server 2012 Denali atau SQL Server 2008 R2 untuk server database baru. Saya mencari alasan obyektif untuk memilih satu dari yang lain.

Persyaratan kami:

  • Edisi standar (untuk alasan keuangan dan kurangnya kebutuhan untuk fitur perusahaan)
  • OLTP workload (ini berarti kita tidak memerlukan fungsi windowing dan indeks kolom store yang baru)
  • Ukuran basis data 10-100 GB
  • Tidak diperlukan fitur intelijen bisnis. Hanya mesin relasional yang diperlukan
  • Mirroring Basis Data Sinkron

Saat ini, alasan-alasan berikut diketahui oleh saya:

SQL Server 2012 Denali

  • Versi terbaru tersedia

SQL Server 2008 R2

  • Teknologi terbukti

Sepertinya saya tidak dapat menemukan banyak alasan teknis untuk lebih menyukai yang satu daripada yang lain. Pada dasarnya, turun ke memilih teknologi terbukti yang berjalan dengan sukses vs versi terbaru dan terbaik yang tersedia.

Apa alasan obyektif untuk membuat keputusan?

50
usr

Semua orang senang dengan AlwaysOn dan ColumnStore, tetapi banyak manfaat dari SQL Server 2012 tidak eksklusif untuk edisi kelas atas. Saya tidak ingin terdengar seperti juru bicara, tetapi saya telah memberikan banyak presentasi tentang SQL Server 2012 dan saya pikir itu memiliki banyak hal untuk ditawarkan pada edisi apa pun yang cocok untuk Anda.

  • Sebagian Database Terkandung yang memungkinkan Anda untuk memindahkan basis data antar server atau lingkungan dengan beberapa belenggu yang lebih sedikit (yaitu login tingkat server dan dependensi susunan server - versi mendatang akan menangani item yang lebih sulit seperti server tertaut dan pekerjaan Agen).

  • Management Studio sekarang menjadi alat yang jauh lebih baik, selaras dengan Visual Studio. IntelliSense lebih baik dan sejumlah fitur lain memudahkan pengeditan. Sekarang tentu saja Anda dapat memiliki 2008 R2 di server Anda dan menggunakan versi SSMS 2012, tapi saya tidak yakin bagaimana cara kerjanya lisensi-bijaksana, dan beberapa toko tidak ingin versi campuran (Saya lebih suka memiliki alat terbaru tentang workstation saya bahkan untuk mengelola server tingkat bawah). Saya membuat blog tentang perubahan sejak awal, ketika masih ada bug, jadi abaikan saja yang negatif karena sebagian besar atau semua sudah diperbaiki pada RTM. Saya ngeri sekarang ketika saya harus menggunakan versi SSMS sebelumnya.

  • perangkat tambahan metadata memungkinkan Anda untuk memeriksa hasil objek dan permintaan ad hoc, dan juga memungkinkan Anda untuk lebih baik membentuk output dari kueri .

  • Peran Server Kustom memungkinkan Anda untuk mendefinisikan set izin yang jauh lebih rinci untuk pengguna pada tingkat peran daripada memberikan/mencabut satu per satu, atau hanya menyerah pada kompleksitas dan memberi mereka sysadmin.

  • FileTable memungkinkan Anda mengelola folder seperti tabel dokumen, tetapi masih memiliki kontrol eksternal atas konten (jadi bayangkan bisa melakukan ini dengan T-SQL , dan bayangkan betapa sulitnya melakukannya dalam cmd atau PowerShell: UPDATE C:\Docs\*.* SET ReadOnly = 1 WHERE Author = 'Bob' AND Created < '20100101';) ... pikirkan FileStream bertemu WinFS dan dapatkan kegunaan untuk boot.

  • Penyempurnaan T-SQL memungkinkan Anda melakukan banyak hal yang menyusahkan di versi sebelumnya:

    • THROW (anggap sebagai kenaikan kembali)
    • OFFSET/FETCH (paging standar ANSI yang lebih sederhana)
    • SEQUENCE (mekanisme IDENTITAS terpusat, seperti di Oracle)
    • Windowing/Framing perangkat tambahan (berbagai hal di sini, seperti kinerja total berjalan mengagumkan)
    • IIF()/CHOOSE()/CONCAT()/ EOMONTH()
    • Konstruktor Tanggal/Waktu (mis. DATETIMEFROMPARTS) mirip dengan DateSerial dalam VB
    • PARSE()/ FORMAT() - seperti .NET
    • TRY_CONVERT()/TRY_PARSE() - mengembalikan NULL jika CONVERT/PARSE gagal
  • Acara yang Diperpanjang memiliki UI yang disempurnakan untuk konfigurasi/tampilan, dan akhirnya sepenuhnya mencakup fungsi penelusuran/audit (termasuk pelacakan hubungan sebab akibat yang jauh lebih baik).

  • Banyak DMV baru , prosedur sistem dan peningkatan ShowPlan untuk diagnostik dan pemecahan masalah kinerja. Lihat juga apa yang dipanggil CSS " The Black Box Recorder ."

  • Server Core memungkinkan Anda untuk berjalan di server minimum tanpa semua komponen UI (area permukaan yang lebih kecil berarti lebih banyak aman, dan mengurangi pemeliharaan karena lebih sedikit bagian OS yang tunduk pada Pembaruan Windows).

  • Pencarian Teks Lengkap mendapatkan beberapa peningkatan kinerja penting yang mendasarinya, serta pencarian semantik (pikirkan kata kunci) dan proximity/NEAR yang dapat disesuaikan.

  • AWE tidak lagi didukung , artinya instance SQL Server Anda pada x86 dengan 32GB RAM hanya akan dapat untuk menggunakan 4GB - sehingga Anda akhirnya memiliki motivasi untuk melepaskan perangkat keras 32-bit Anda yang lama.

62
Aaron Bertrand

Berikut ini adalah beberapa contoh mengenai "bukti aktual untuk atau terhadap keandalan dalam versi pertama dari setiap rilis baru", seperti yang diminta. Ini tidak dimaksudkan sebagai analisis yang lengkap, melainkan saran tentang apa yang ingin Anda teliti.

Anda dapat mencari "Daftar masalah yang diperbaiki oleh SQL Server 2008 Paket Layanan 1" dan "Daftar masalah yang diperbaiki oleh SQL Server 2008 Paket Layanan 3" di situs web MSDN. Bandingkan jumlah dan tingkat keparahan masalah di kedua daftar. IMO daftar pertama lebih panjang, dan memiliki lebih banyak item yang dapat merusak hari saya, seperti:

  • Pesan galat saat Anda tersambung ke instance SQL Server bernama pada komputer klien yang menjalankan Windows Vista atau Windows Server 2008
  • Agen Pembaca Log melewatkan beberapa transaksi ketika Agen Pembaca Log berjalan untuk mereplikasi transaksi
  • Pesan galat saat Anda menjalankan kueri yang melibatkan operasi gabungan luar di SQL Server 2008
  • Pesan galat saat Anda melakukan pembaruan atau operasi penghapusan pada tabel yang tidak memiliki indeks berkerumun yang dibuat di SQL Server 2008
  • Kueri yang menggunakan parameter dan opsi RECOMPILE mengembalikan hasil yang salah ketika Anda menjalankan kueri di beberapa koneksi secara bersamaan di SQL Server 2008

Mari kita telusuri satu level lagi dan pertimbangkan hanya satu perintah, yaitu MERGE. Itu dirilis sebagai bagian dari SQL 2008 dengan beberapa masalah, dijelaskan dalam tautan berikut:

Karena itu, pada saat rilis asli SQL 2008, saya memutuskan untuk tidak menggunakan MERGE. Saya banyak menggunakan MERGE sekarang, pada 2008 R2, dan saya pikir ini adalah fitur yang sangat hebat.

Edit: di sini adalah daftar cacat pada SQL 2012 yang baru-baru ini diperbaiki . Semoga ini bisa membantu.

Suntingan lain: Saya telah memilih MERGE untuk analisis yang lebih terperinci, karena ini merupakan peningkatan yang sangat penting. Sebenarnya, ini adalah langkah besar dalam mengejar Oracle, dan itu memang meningkatkan produktivitas kita. Dengan demikian, MERGE telah banyak dipasarkan pada saat rilis SQL 2008. Namun itu tidak sepenuhnya siap untuk digunakan dalam sistem produksi serius ketika awalnya dirilis, dan tidak ada cara mudah untuk mengetahuinya dari presentasi/artikel/posting blog dan semacamnya.

Demikian pula, isolasi snapshot adalah fitur baru yang luar biasa yang hanya berfungsi, tetapi memanggil skalar UDF dalam batasan PERIKSA tidak berfungsi dalam semua kasus dan karenanya tidak boleh digunakan dalam produksi ketika kita membutuhkan integritas data. Namun, kedua fitur baru direkomendasikan dalam presentasi "Apa yang baru dalam SQL xxxx", serta dalam buku, artikel, dll, dan dengan antusiasme yang sama.

Kita harus sangat berhati-hati dengan fitur-fitur baru - tidak semuanya akan berguna/dapat diandalkan/performan.

14
A-K

Satu hal yang belum disebutkan di sini sama sekali tidak relevan dengan set fitur. Jika Anda melakukan pembangunan baru, Anda dapat menunda pemutakhiran basis data untuk waktu yang cukup lama, jadi ini akan menghemat biaya migrasi.

Untuk proyek greenfield Anda memiliki ruang bernapas untuk mengatasi bug dan membesarkannya dengan vendor jika mereka muncul, jadi itu bukan proses yang sepenuhnya tidak terkendali. Saya terlibat dalam salah satu proyek data warehouse pertama di SQL Server 2005 hanya karena ia pergi ke RTM dan kami lolos begitu saja).

Jika rangkaian fitur 2008R2 akan melakukan apa yang Anda inginkan maka keputusannya ada pada risiko bug/solusi vs nilai menunda kebutuhan untuk memutakhirkan dan menyimpan siklus pemutakhiran.

Ketika Anda membeli baru, pilihannya jauh berbeda dari ketika Anda mempertimbangkan untuk meningkatkan. Membeli baru itu adalah keyakinan saya bahwa Anda harus selalu membeli versi terbaru yang bisa Anda dapatkan. Versi 2008 tidak akan lagi didukung jauh lebih awal dari versi 2012. Lebih baik memulai yang baru dengan yang terbaru karena Anda akan menggunakan backend ini untuk waktu yang lama.

Mengenai perlunya paket layanan pertama, itu akan keluar sebelum Anda menyadarinya dan karena Anda melakukan pengembangan baru, masalah yang diperbaiki kemungkinan tidak akan memengaruhi Anda sebanyak basis data warisan dengan jutaan catatan yang akan dihadapi.

Sekarang jika Anda hanya mendapatkan server baru tetapi meletakkan database lama di atasnya, maka pertanyaannya menjadi dari mana Anda meningkatkan? Jika database sudah menjadi database 2008, akan jauh lebih sedikit risiko menggunakan versi yang sama. Jika Anda meningkatkan, periksa untuk melihat apakah Anda dapat memutakhirkan langsung ke 2012 dari versi Anda.

6
HLGEM