Monday, August 8, 2022

CARA UBAH COLLATION DI SQL SERVER

Hari ini saya nemuin error di webapp di VM saya "Unable to find V_ACM_CONFIG", nah lhoo..
Padahal di DB itu udah ada view dengan nama V_ACM_CONFIG, cuma pake lower case, v_acm_config.
Setelah diselidiki, ternyata semua DB pake collation SQL_Latin1_General_CP1_CS_AS. Di DB yang saya akses dari webapp itu, format penulisan nama table, field dan view pake lower case semua, sedangkan yang di akses dari webapp itu, nama view-nya pake upper case.

Kalo query langsung mah gampnag, tinggal pas JOIN tambahin COLLATE DATABASE_DEFAULT, hasilnya bisa keluar, lah kalo webapp product orang??!!
Cari-cari artikel, buat ubah dari CS ke CI perlu perjuangan, buat store procedure lah, cek sono sini lah, ternyata ga perlu begituan.

How to change DB Collation from SQL_Latin1_General_CP1_CS_AS to SQL_Latin1_General_CP1_CI_AS

  • Buka SQL Server Management Studio (SSMS), login 'sa'
  • Jalanin query ini buat ubah jadi Single User mode, 

ALTER DATABASE [dbName] SET SINGLE_USER WITH ROLLBACK IMMEDIATE

  • Restart SSMS, login 'sa'
  • Pastiin ga ada aplikasi lain yang akses DB itu, dan pastiin juga DB yang mau dirubah collation-nya, ada tulisan 'Single User'
  • Klik kanan DB > Properties > Option
  • Ubah collation dari SQL_Latin1_General_CP1_CI_AS jadi SQL_Latin1_General_CP1_CI_AS
  • Jalanin query ini buat ubah jadi Multi User mode, biar bisa diakses normal lagi
ALTER DATABASE [dbName] SET MULTI_USER

And tadaaa, webapp saya bisa akses view V_ACM_CONFIG,
Oke that's it cara ubahnya, semoga bermanfaat!

Sumber : http://bagibagian.blogspot.com/2016/12/cara-ubah-collation-di-sql-server.html
Share:

0 comments:

Post a Comment