MSSQL Server Tablodaki Kolonun Yerini Değiştirme

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 […]

MSSQL Server Tablodaki Kolonun Yerini Değiştirme

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.

Benzer Yazılar

SQL Server 2000-2014 Sürümlerinin Özellikleri

SQL Server 6 gün önce

SQL Server sürümleriyle gelen özellikler, Her sürümde eklenen önemli işlevler ve gelişmeler hakkında bilgi sahibi olmak İçindekilerSQL Server 2000 Özellikleri Bu yazımda sizlere SQL Server sürümlerinde gelen özellikler hakkında kısa ön bilgilendirme yapmak istedim.  Bu yazımız ile detaylı olarak tüm özelliklere ulaşabiliriz. SQL Server 2000 Özellikleri

DELAYED DURABILITY

SQL Server 1 ay önce

Bu makalede SQL Server2014 ile gelen bir özellik olan ilişkisel veri tabanlarının ortak bir özelliği olan Delayed Durability den bahsedeceğim. Bu özellik hakkında detaylı bir şekilde konuşmaya başlamadan önce tekrar etmemiz gereken bir özellik var o da bir verinin yazılmasının aşamaları. Veri öncelikle log file olan .ldf dosyasına yazılmadan (log flush), data file olan .mdf veya .ndf dosyalarına yazılma işlemi (page flushing) gerçekleşmez. Veri tabanına verinin yazılması sürecinde işlem commit edilerek bunun bilgisi kullanıcıya dönüş sağlanır ancak aksi bir durumda crash veya buna benzer durumlarda sql server veriyi log dosyasından recover edebileceği için verinin kaybolmamasının garantisini sağlamış olur. Bu aşamada makalemizin konusu olan Delayed Durability bize esneklik sağlayabilir. Kısaca açıklayacak olursak bu özellik sayesinde veri tabanına verinin yazılması sürecinde işlem commit edilmeden kullanıcıya sürecin tamamlandığı bilgisi veriliyor bu güzellik bir özellik gibi görünse de aslında bir dezavantaj aslında işlem tamamlanmış olmuyor bu özelliği kullanırken crash veya buna benzer durumlarda sql […]

MSSQL Load(Stress) Test – II

SQL Server 2 ay önce

SQL Server üzerinde yük oluşturarak kaynak kullanımlarını ve sql server’ın bu yük ile başa çıkma durumu incelenmek için zaman zaman bazı testler yapılır. Yük oluştururken Microsoft tool’u ile bunu yapmak isterseniz daha önce kaleme aldığımız MSSQL Load (Stress) Test adlı makalemize bakabilirsiniz. Bu testleri yapmak için birçok tool vardır. Bunlardan biri de Adam Mechanic’in yapmış olduğu SqlQuerryStress Tool’u dur. Bu tool ile istediğiniz sorguyu istediğiniz thread’de ve istediğiniz sayıda göndererek sistem üzerinde yük oluşturabilirsiniz. Bu başlık altında SqlQueryStress tool’un kullanım durumuna ve kullanım sonrasında Sql Server üzerindeki yükleri inceleyeceğiz. Öncelikle bu tool’u aşağıdaki linkten indirebilirsiniz. İndirdikten sonra exe’yi yönetici olarak çalıştırmanız tool’un başlatılması için yeterli olacaktır. Bu tool’u birden fazla kez açıp farklı sorgularda gönderebilirsiniz. https://github.com/ErikEJ/SqlQueryStress/releases Görsel-1 Görsel – 2 Görsel – 3 Exe’yi başlattığımızda yukarıdaki görsel bizi ilk olarak karşılayacaktır. Burada başlatmadan önce Database button’u ile yükü hangi server ve database üzerinde, hangi kullanıcı ile yapacağımız bilgisini girmemiz gerekmektedir. […]

0 Yorum

Yorum Yaz

Rastgele