Dari pertanyaan di StackOverflow dan di tempat lain, saya perhatikan bahwa masih ada orang yang menggunakan SQL Server 2000. Sejujurnya, efek terbesar pada saya adalah bahwa saya harus ingat bagaimana kami dulu melakukan sesuatu tanpa Ekspresi Common Table.
Namun, saya ingin tahu apakah ada alasan sebenarnya (di luar "itu tidak rusak") untuk tetap menggunakan SQL Server 2000. Misalnya, saya tahu ada orang yang harus menggunakan .NET 1.1 karena mereka harus mendukung Sistem Windows 2000. Apakah ada alasan praktis yang serupa untuk tidak memutakhirkan sistem SQL Server 2000 ke SQL Server 2008 atau 2005?
sql-server
John Saunders
sumber
sumber
Jawaban:
Pikiran bisnis biasanya sangat berbeda dengan Anda. Mengapa menggunakan sesuatu yang lebih baru jika tidak menghasilkan lebih banyak pendapatan, tetapi hanya pengeluaran (migrasi, pelatihan ulang dll.)?
sumber
Alasan terbaik yang dapat saya pikirkan adalah variasi "tidak rusak" yang berbunyi seperti ini: Anda memiliki aplikasi bisnis yang bekerja dengan SQL 2000 tetapi menghasilkan kesalahan dengan SQL 2005. Ini mungkin bukan prioritas bisnis yang tepat untuk organisasi Anda saat ini untuk membuka kap pada aplikasi itu (yang tidak rusak) dan membuatnya bekerja dengan basis data yang lebih baru.
sumber
Dukungan warisan
SQL Server 2005 tidak sepenuhnya kompatibel dengan SQL Server 2000. Layanan Analisis memiliki ketidakcocokan utama. Pindah ke SQL Server 2005 memiliki biaya non-nol dari pengujian regresi dan porting. Banyak organisasi tidak memiliki persyaratan untuk pindah, sehingga mereka tidak akan bergerak sampai mereka harus bergerak.
Kebanyakan vendor DBMS (termasuk MS) akan mendukung versi DBMS selama 10 tahun atau lebih - yang lebih lama dari kebanyakan jenis perangkat lunak lainnya. Jika Anda menyilangkan telapak tangan dengan perak (dalam jumlah yang cukup) mereka juga akan memasukkan kontrak khusus untuk memperpanjang dukungan pada versi tertentu lebih lama dari itu.
Alasan lain untuk tetap menggunakan versi yang lebih lama benar-benar didorong oleh keadaan tertentu seperti menghindari rilis yang gagal diketahui (mis. MySQL 5.1 atau pra-SP3 SQL2000) atau masalah sertifikasi atau kompatibilitas.
Mempertahankan basis data produksi SQL Server 2000
Untuk sistem operasional yang berfungsi dan berada dalam fase matang dari siklus hidupnya tanpa banyak perubahan besar, mungkin tidak ada alasan kuat untuk melakukan peningkatan sebelum DBMS keluar dari dukungan arus utama. Namun, Anda harus merencanakan jalur peningkatan tertib untuk kemungkinan itu. Oracle cukup terkenal karena orang yang memelihara sistem produksi pada versi kuno.
SQL Server 2000 semakin mendekati akhir masa pakainya, jadi Anda tidak ingin melakukan pengembangan baru. Namun, aplikasi produksi harus dipertahankan dengan rencana untuk pindah ketika Anda perlu. Anda mungkin akan memiliki penulisan ulang di tangan Anda jika aplikasi Anda ditulis dalam VB6 atau ASP klasik - tapi itu masalah yang berbeda; -}.
Kasing kasir
Jika saya memiliki proyek greenfield, saya biasanya akan merekomendasikan versi terbaru dari platform DBMS hanya karena memberi Anda jendela dukungan vendor terlama. Tidak seorang pun harus memiliki SQL Server 2000 sebagai standar perusahaan untuk proyek-proyek baru - EOL terlalu dekat. Untuk proyek baru, ini sejauh ini merupakan argumen terkuat untuk pindah ke versi yang lebih baru. Argumen tentang menghemat uang tidak menahan air; aplikasi akan mengeluarkan biaya porting yang tidak perlu dalam beberapa tahun jika Anda mulai menggunakan SQL2000 sekarang.
Poin kunci untuk pekerjaan greenfield adalah bahwa seleksi yang terlalu konservatif mempersingkat masa kerja aplikasi sebelum diperlukan peningkatan. Orang biasanya menginginkan alasan tertentu untuk tidak menggunakan versi platform DBMS saat ini.
sumber
Kami tidak memperbarui karena kami memiliki perangkat lunak keuangan yang bergantung padanya, dan vendor hanya berpikir untuk mendukung "SQL 2005" baru ini, mereka telah mendengar blog anak-anak gila tentang belakangan ini.
Terus terang, itu menyakitkan saya untuk memiliki campuran barang untuk mendukung, tetapi tidak sebanyak yang akan menyakiti semua orang di perusahaan untuk memiliki masalah dengan sistem keuangan muncul, dan kemudian memiliki vendor perangkat lunak keuangan menunjuk pada kami dan tertawa ketika kami meminta bantuan dan menyebutkan bahwa masalah dimulai sejak kami memutakhirkan ke SQL 2005 sebelum mereka meratifikasinya.
Ada juga banyak yang bisa dikatakan untuk tidak memperbaiki hal-hal jika mereka tidak benar-benar rusak. Saya ingin memutakhirkan semua server SQL saya sampai 2008 kapan-kapan ... Saya benar-benar melakukannya. Tetapi ada begitu banyak hal yang bisa saya lakukan yang benar-benar meningkatkan keuntungan bisnis dengan cara yang dapat dimengerti dan diukur untuk manajer dan pengguna saya ... yah itu akan selalu menjadi yang utama.
Anda menyebutkan pengembang tidak suka bekerja dengan SQL 2000 dalam balasan Anda untuk jawaban Mastermind. Saya curiga satu metode untuk menangani itu adalah yang akan digunakan bos saya jika saya memutuskan saya "tidak suka" mendukung SQL 2000: "Terima kasih atas waktu Anda bekerja di sini, pintu ada di sebelah kiri Anda". Pada akhirnya, kita semua dibayar untuk membuat barang-barang berfungsi apakah kita suka atau tidak.
sumber
Dalam kasus kami, ini bukan kasus 'mengapa tetap menggunakan 2000' daripada kasus 'biaya upgrade Seberapa besar?'. Sebagian besar aplikasi kami tidak menggunakan apa pun yang memerlukan fitur khusus 2005, jadi tidak ada alasan yang meyakinkan, dan mungkin tidak akan sampai Microsoft menghentikan dukungannya.
sumber
Biaya.
Perangkat lunak yang lebih baru masih merupakan perangkat lunak tambahan, yang membutuhkan biaya tambahan.
Ini mungkin, dan sering kali, ekonomi palsu karena banyak sisi buruk dari menggunakan sistem usang, tapi itu satu-satunya alasan nyata yang masuk akal.
sumber
Lisensi baru untuk SQL Server 2008 (standar) harganya sedikit kurang dari $ 2.000 untuk 1 server dengan 5 CAL atau $ 6.000 untuk 1 lisensi CPU. Saya bisa mendengar bos lama saya berkata "itu tidak rusak, tapi akan berapa biayanya untuk memutakhirkan 2 server itu?" (pada saat itu 2 x dual CPU yang membutuhkan lisensi CPU).
Setelah menggunakan SQL2000 selama tujuh tahun, pengalaman pertama saya tahun 2005 adalah di lingkungan VMWare ESX. Mengisap kinerja (ISP menyediakan keahlian VMWare dan ketika kami memulai pengujian beban, kami mendapati mereka mengalami masalah besar tidak hanya dengan server kami tetapi juga memengaruhi pengalaman kami), dan dikombinasikan dengan semua yang dipindah-pindah / diganti namanya (manajer perusahaan lama sangat jauh lebih cepat) - kami lebih senang menunda peningkatan. Kemudian kami menunggu rilis 2008 jadi kami baru saja memutakhirkan ke 2008 (atau memigrasikan beberapa data ke MySQL / PostgresSQL).
Microsoft masih memberikan dukungan utama untuk 2000 hingga beberapa waktu tahun lalu sehingga baru-baru ini kami memiliki alasan yang lebih kuat untuk melakukan peningkatan.
Perusahaan kecil juga memiliki masalah sumber daya - belajar, merencanakan, menguji peningkatan memerlukan waktu dan dampak pada operasi lain. Jika Anda harus memutakhirkan beberapa aplikasi lain yang duduk di SQL Server pada saat yang sama ini bisa menjadi sangat mahal juga.
Untuk sementara kami menggoda untuk pindah ke open-source, dan sementara itu kemungkinan itu membekukan upgrade apa pun juga.
sumber
Mengapa tidak memutakhirkan ke sql server 2008, maka Anda sebenarnya dapat menurunkan biaya, karena kompresi data, pemeliharaan yang lebih mudah, dan peningkatan kinerja (indeks yang difilter)? Baru-baru ini kami memutakhirkan instalasi sql server 2000 dan menghemat 75% ruang disk, dan kinerjanya meningkat secara dramatis.
Peningkatan lainnya adalah konkurensi karena mekanisme penguncian baru yang diperkenalkan di sql server 2005.
/ Håkan Winther
sumber
Organisasi besar berisiko merugikan dan tidak mengetahui, yang mengarah pada beberapa keputusan yang benar-benar bodoh. Ketika saya melakukan hal-hal Unix sekitar 2003/2004, kami terjebak dengan lingkungan Solaris 2.5.1 yang dirilis ketika saya di kelas 10 atau lebih karena itu teknologi "terbukti" dan itu "terlalu mahal" untuk ditingkatkan.
Terlalu mahal sering PHB-berbicara untuk "Saya bodoh anggaran untuk upgrade $ 1000 dalam proyek $ 10 juta".
Dalam kasus perangkat lunak Microsoft stack, orang sering kali melakukan upgrade-merugikan karena mereka tidak ingin berurusan dengan troll perizinan dalam perusahaan dan membeli lisensi OEM dari Dell / IBM / dll, dan tidak merasa ingin berurusan dengan lingkaran birokrasi terlibat dalam peningkatan.
sumber
Saya tidak membeli (pun intended) argumen "biaya awal", tetapi sayangnya biaya dimuka adalah sesuatu yang banyak PHB terobsesi sehingga valid untuk membiarkannya.
Bagi saya satu-satunya alasan kuat adalah aplikasi yang menggunakannya. Jika Anda adalah rumah SharePoint 2003, misalnya, TIDAK ADA CARA Anda akan meningkatkan ke SQL 2005 atau 2008 tanpa juga melakukan upgrade SharePoint, yang bukan masalah sepele.
sumber
Dalam organisasi kami, semua pengembangan baru seharusnya menggunakan SQL 2005/2008, tetapi kami memiliki banyak sekali aplikasi lawas 2000, tidak cukup waktu / tenaga / uang untuk mengonversi semuanya.
Selain masalah kompatibilitas (DTS ke SSIS adalah yang terbesar bagi kami), kami juga menerapkan seperangkat pedoman / batasan keamanan pada SQL 2005 yang tidak kami terapkan untuk SQL 2000. (tidak ada pengguna dbo, izin skema saja, dll.)
sumber
Dalam organisasi kami, ada beberapa alasan. Beberapa sangat spesifik untuk kasus kami, dan yang lain sedikit lebih generik.
1) Ketidakcocokan. Kami memiliki beberapa kasus di mana perangkat lunak yang ditulis di rumah untuk SQL2005 memiliki masalah ketika menginstal pada SQL2000. Kasus yang saya lihat baru-baru ini berakhir karena parameter yang secara eksplisit dinyatakan tidak ada pada tahun 2000, dan perbedaan dalam nama tabel indeks sistem. (sys.indexes vs sysindexes)
2) Pelatihan. Pengembang kami tentu tahu tahun 2005, dan lebih suka untuk mengembangkannya, atau sudah tahun 2008. Namun, pekerjaan menjaga segala sesuatu tetap berada di tangan NOC, bukan pengembang. Tidak ada seorang pun di NOC kami yang pernah mengikuti pelatihan SQL formal, dan perbedaan antara keduanya, hanya dari sudut pandang alat administratif, cukup untuk menjadikannya pertimbangan.
3) Biaya peningkatan produk yang sudah ada. Bagi kami, ini yang besar. Saya tidak berbicara biaya lisensi dari Microsoft di sini. Dalam bisnis kami, peningkatan pada salah satu produk kami yang ada (bahkan jika kami tidak secara retroaktif memperbarui segala sesuatu yang sudah ada di lapangan) akan memerlukan proses sertifikasi ulang yang mahal dan panjang melalui beberapa laboratorium uji regulasi dan sertifikasi yang berbeda. Kami sedang membangun produk baru di SQL2005, tetapi tidak meningkatkan yang lebih lama karena alasan ini.
Proses sertifikasi juga berarti kita akan berakhir dengan campuran pada bangunan baru, di mana yurisdiksi tertentu akan mendapatkan SQL2000 dan lainnya akan mendapatkan SQL2005, berdasarkan apakah persetujuan telah diterima atau belum. Kami lebih suka, karena alasan # 2, untuk menjaga lingkungan produksi kami sekonsisten mungkin.
4) Perbedaan umum. Ini benar-benar perpanjangan dari # 1. Ada banyak hal kecil yang berubah, beberapa di antaranya menyebabkan kita sakit kepala. Contoh, SQL2005 pada Server2003 akan memberlakukan kebijakan kata sandi Windows pada akun sql. Bukan hal yang buruk dengan sendirinya, tetapi merusak hampir semua perangkat lunak kami (dan banyak pihak ketiga) karena cara kami berinteraksi dengan database.
Singkatnya, inersia.
sumber
Sebuah posting blog yang baik yang sudah menanyakan hal yang sama.
sumber
Mengikuti logika itu, maka alasan praktis untuk menjalankan MSSQL 2000 adalah karena Anda dapat mendukung sistem Windows NT 4!
Percaya atau tidak, tetapi SQL Server 2005 benar-benar berjalan pada Windows Server 2000.
sumber