PENOLAKAN: Saya tahu bahwa pertanyaan ini telah ditanyakan ratusan kali sebelumnya, tetapi saya hanya ingin memeriksa bahwa tidak ada solusi yang lebih mudah yang mungkin saya lewatkan sebelum saya melanjutkan dan menulis / mengambil banyak kode untuk melakukannya.
Perangkat lunak kami menggunakan database yang awalnya dirancang untuk SQL Server 7, dan karenanya, semua skrip yang membuatnya tidak menentukan susunan eksplisit apa pun untuk kolom karakter apa pun. Sebaliknya, ketika database dibuat / dikembalikan ke SQL Server 2000 atau di atasnya, setiap kolom mewarisi susunan basis data (yang kebetulan SQL_Latin1_General_CP1_CI_AS
sejak itu adalah SQL Server 7 default).
Secara teoritis, ini tidak terlalu menjadi masalah, karena jika basis data kami dibuat dari awal pada server pelanggan, itu mewarisi susunan server pelanggan (yang biasanya merupakan standar instalasi modern Latin1_General_CP1_CI_AS
) , dan semuanya berjalan dengan baik. Namun, skenario ini rusak ketika mereka mengirimi kami cadangan basis data, atau kami mengirim mereka cadangan basis data, dan kami atau mereka mendapatkan kesalahan ketidakcocokan susunan yang ditakuti setiap kali kode mencoba mengakses tabel temp dll
Kami telah mencoba mendidik pelanggan untuk menginstal atau membangun kembali contoh SQL Server mereka untuk menggunakan susunan pilihan kami, tetapi tentu saja itu tidak selalu terjadi dan itu tidak selalu mungkin.
Solusi yang melibatkan pembuatan database baru dan menyalin data tidak benar-benar praktis bagi kami, kami memerlukan "tongkat ajaib" yang dapat kami lambaikan pada database langsung untuk memperbaiki semua kolom di tempat tanpa mengganggu data. Saya berpikir untuk menulis utilitas untuk melakukan ini, tetapi karena ini akan menjadi pekerjaan yang cukup besar, apakah ada yang punya saran yang lebih sederhana?