SQL Server’da tablo oluştururken kolonu yanlış konumlandırdım diyenlerdenseniz doğru yazıyı okuyorsunuz.
SQL Server’da bir tablo oluştururken kolonların sırasını yanlış konumlandırabilirsiniz. Ancak, kolonların sırasını değiştirmek oldukça kolaydır ve aşağıdaki örnek olarak yaptığım adımları izleyerek bunu yapabilirsiniz.
Test Veritabanımızın altında bulunan “kisiler” tablosunu oluştururken sırasıyla “ad” ve “soyad” kolonlarını oluşturmak isterken önce “soyad” ardından “ad” kolonunu yazdığınızı varsayalım. Tabloyu silip tekrar oluşturmak veya kolon isimlerini değiştirmekte bir yöntemdir ancak burada içerisine çok sayıda veri yazılan bir tablo olduğunu varsayarak başka bir yöntem kullanacağım.
Değişiklik yapmak istediğimiz tabloda “design” kısmına giriyoruz.
Görüldüğü üzere “soyad” kolonu önce “ad” kolonu sonra yazılmış. Bunların yerini değiştirmek için “ad” veya “soyad” yazan yerlerin hemen sol tarafında bulunan ok işaretinden istediğimiz yere sürükleyip bırakıyoruz. Yapmamız gereken tek işlem bu aslında.
Görüldüğü üzere kolonların yerleri değişti. Bu noktada yapılan işlemi kaydetmemiz lazım.
Değişiklikleri kaydettiğimizde karşımıza aşağıdaki hata gelmektedir.
Hata Mesajı: Değişikliklerin kaydedilmesine izin verilmez. Yaptığınız değişiklik aşağıdaki tablonun çıkarılıp yeniden oluşturulmasını gerektiriyor. Bir tabloda yeniden oluşturulamayan değişiklikler yaptınız veya tablonun yeniden oluşturulmasını gerektiren değişikliklerin kaydedilmesini engelleme seçeneğini etkinleştirdiniz.
Bu pencereyi kapatıp sırasıyla MSSQL Server Tools –> Options –> Designers yolunu takip ederek açılan pencerede işaretli olan “Prevent saving changes that require table re-creation” seçeneğindeki tiki kaldırıyoruz.
Prevent saving changes that require table re-creation: Tablonun yeniden oluşturulmasını gerektiren değişikliklerin kaydedilmesini önleyin
Burada MSSQL Server güvenlik nedeniyle bu eylemi engellediğini ve engellenmemesi halinde tablolardaki değişiklik takibinin kaybedilip işlemlerin süre alacağını ifade ediyor.
Bu işlemi yaptıktan sonra tabloda yine aynı adımları izleyerek bu sefer kolon isimlerinin değiştiğini görebilirsiniz.
İşleminiz bittikten sonra MSSQL Server Tools –> Options –> Designers –> Prevent saving changes that require table re-creation seçeneğindeki tiki tekrardan işaretliyoruz.
Önemli bilgiler:
Bu işlemleri yaparken SQL Server arka planda geçici bir tablo oluşturarak verileri buna kopyalıyor ardından eski tabloyu siliyor ve geçici tabloyu tekrar orijinal ismi ile yeniden adlandırıyor. İşlem sırasında ilişkiler bozulacak ve yeniden yaratılacaktır dolayısıyla bu işlem sırasında beklenmedik bir durumla da karşılaşabilirsiniz. Bu yüzden işlem yapacağınız tablonun bir yedeğini almanızda fayda var.
Buradaki sorunlardan bir tanesi de yüz milyonlarca satır içerin çok büyük bir tabloyu bu şekilde düzenlemek istediğinizde değişikliklerin kaydedilmesi uzun süreler alabilmekte ve tablonuza lock koymaktadır.
0 Yorum