Saving changes is not permitted hatasının çözümü

2 Eyl by NURULLAH ÇAKIR

Saving changes is not permitted hatasının çözümü

Veritabanındaki bir tabloda bir kolon tipini ya da büyüklüğünü değiştirip kaydetmek istediğinizde aşağıdaki gibi bir hatayla karşılaşabilirsiniz.

 

 

 

Bu hatayı SSMS(SQL Server Management Studio) üzerinden Tools->Options-> Designers üzerinden “Prevent saving changes that require table re-creation” üzerindeki tik işaretini kaldırıp ok’e tıklayarak aşağıdaki şekilde çözebilirsiniz.

 

Burada dikkat edilmesi gereken önemli bir nokta var. SQL Server’ın bunu default olarak engellemesinin nedeni canlı ve büyük bir tablo üzerinde bir değişiklik yapıp kaydet derseniz ve yaptığınız bu işlem re-creation gerektiriyorsa belki saatlerce belki günlerce çalışan sistemin hizmet verememesine neden olabilirsiniz. Bu yüzden bu çözümü uygularken dikkat etmeniz gereken şeyler var.

  • Uygulamanın çalışmadığı bir saat diliminde yapmalısınız.
  • İşlemi yapmadan önce aşağıdaki şekilde tablo büyüklüğünü kontrol etmelisiniz

 

 

  • Tablo büyük bir tabloysa bu işlemi SSMS üzerinden ok’e basarak gerçekleştirmemelisiniz. Çünkü SSMS bu şekilde sorun yaşayabiliyor. Dikkat edin bu şekilde veri kaybı bile yaşayabilirsiniz. Bunun yerine SSMS üzerinden yapmak istediğiniz değişiklikleri yaptıktan sonra  aşağıdaki resimde yuvarlak içine alınmış kutucuğa tıklayarak işleminizin script halini aldıktan sonra çalıştırmanız daha doğru olacaktır.

 

Tablo büyüklüğü görece bir kavram. Ben tablo 10 mb’tan büyükse bu şekilde yapıyorum.

Ayrıca tablo 300 GB’tan büyükse de bu işlemi daha değişik bir şekilde yapıyorum. Bununla ilgili detaylı makaleyi  “Veritabanı file group yapısı ve büyük tablolarımızı başka bir file group’ta yeniden oluşturmak” isimli makalemin içeriğinde bulabilirsiniz.

Loading

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir