Anasayfa » SQL Server Data Tools SSDT Nedir
Yazar Mesut GÜNEŞ tarih 13/09/2015 Yorum Yok
Projeyi oluşturduktan sonra Visual Studio ‘da sağ tarafta bulunan SQL Server Object Explorer ekranında SQL Server bağlantılarımızı görebiliriz. Visual Studio’da SQL Server Object Explorer gözkümüyor ise View menüsünden SQL Server Object Explorer ile ekranı açabilir veya ( ctlr+ç , ctlr+s ) kısayolunu kullanabilirsiniz.
Ekranda bulunan localdb nesnesini incelediğimizde sanki bir SQL Server Instance gibi gözüküyor. Aslında yüklü olan bir SQL Server Instance değil, SSDT ile birlikte gelen Local Db özelliğidir.
Karşımıza gelen ekranda Table’yi seçtikten sonra ismini Table_First olarak tanımlıyor ve Add ile oluşturuyorum.
Tabloyu projemize ekledikten sonra karşımıza eklediğimiz tabloyu düzenlememiz için “Desing” ekranı geliyor. SQL Server Data Tools ile gelen en güzel özelliklerden birisi de T-SQL penceresinde yazdığımız sorgunun aynı anda görsel ekran olan Desing ekranına da yansıması. Aynı şekilde desing ekranında yapılan değişikler de T-SQL kodlarının bulunduğu pencereye yansımaktadır.
Tabloyu tasarladıktan sonra kaydediyor ve ekranı kapatıyoruz. Oluşturmuş olduğumuz tablonun Local DB’ye eklenmesi için Debug(F5) ile deploy ediyoruz.
SQL Server Object Explorer penceresinde LocalDB > SSTD_LocalDB> Tables altında oluşturmuş olduğumuz tablonun eklendiğini görüyoruz.
Oluşturduğumuz tabloda değişikli yapmak isterseniz SQL Server Object Explorer penceresinde ilgili tabloya sağ tıklayıp View Designer / View Code seçeneği ile tablo düzenleme ekranlarına ulaşabiliriz.
Tablo üzerinde değişiklik yaptıktan sonra tekrar Debug(F5) etmemiz gerektiğini unutmayalım. Aksi halde yapılan değişiklikler Local Db üzerindeki tabloya uygulanmayacaktır.
Kullanmakta olduğumuz bir veritabanını SQL Server Data Tools ‘a proje olarak ekleyebilirsiniz. Visual Studio’yu açtıktan sonra SQL Server Object Explorer penceresinin üstündeki “Add Server” düğmesi ile bilgisayarımda kurulu olan SQL Server Instance’a bağlanıyorum. Daha sonra var olan bir AdventureWorks2014 veritabanına sağ tıklayıp gelen menüden Create New Project seçeneğini seçiyoruz.
SQL Server Object Explorer Local DB’ye baktığımızda SSDT_AdventureWorks veritabanının oluştuğunu görebiliyoruz.
Publish işlemi için daha önce oluşturduğum “SSDT_LocalDB” projesini kullanacağım. Solution Exlorer’de bulunan SSDT_LocalDB projesine sağ tıklayıp Publish seçeneğini seçiyorum.
Database name ve oluşacak publish script dosyasının adını belirliyoruz. Gelişmiş publish seçenekleri için Advanced… düğmesi ile Advanced Publish Setting ekranını açıyoruz.
Tablo tasarım modunda değişiklik yapar yapmaz Solution Explorer ‘da bulunan SSDT_LocalDB projesinin içerisinde SSDT_LocalDB.refactorlog dosyası oluştuğunu görüyoruz.
Schema karşılaştırma işlemini 3. Parti uygulamalar ile gerçekleştirebiliyorduk. Artık SQL Server Data Tools ile kolayca ve ücretsiz olarak schema karşılaştırma işlemini yapabiliriz. Önceliklekle schema karşılaştırma işlemi sıklıkla; program geliştiriciler development ortamındaki veritabanı üzerinde bir değişiklik yaptığında, veritabanı yöneticisine değişikliği bildirmemiş olabilir. Aynı şekilde veritabanı yöneticisi de yaptığı değişikliği development ortamında bulunan veritabanına yansıtmamış olabilir. Uygulama kodlarındaki geliştirmeler yayına alındığında canlı sistemde olan veritabanı ile geliştirme ortamındaki olan veritabanı arasındaki farklılıktan dolayı hatalar meydana gelebilir. Bu hatalara engel olabilmek için 2 ortamdaki veritabanı schema yapısı karşılaştırılmalı varsa değişiklikler veya çakışmalar kodlar yayına alınmadan önce müdahale edilmelidir.
SQL Server Data Tools yardımı ile Schema karşılaştırma özelliğini görebilmek için hem SQL Server Management Studio’da bulunan bizim oluşturduğmuz “SSDT_LocalDB” veritabanı içinde bulunan “Table_First” tablosunda schema yapısını değiştireceğim hemde SSDT üzerinde olan SSDT_LocalDB projesindeki Table_First tablosundaki schema yapısını değiştirip bu iki taraftaki schema değişikliklerini karşılaştıracağız.
İki veritabanında da değişiklikler yapıldığına göre artık Schema Compare özelliğini kullanabiliriz. Bu işlem için Solution Explorer’da bulunan SSDT_LocalDB projesine sağ tıklayıp Schema Compare… seçiyorum.
Gelen ekrandan karşılaştırma yapacağım veritabanının kaynağını ve hedef veritabanı kaynağını seçiyorum. Veritabanı kaynağı olarak SSDT_LocalDB projesindeki veritabanımı kullanıyorum. Hedef olarak farklı bir instance’da bulunan yine aynı isimdeki veritabanını kullanıyorum.
Hedef ve kaynak veritabanını seçtikten sonra, ekranın sol üstünde bulunan Compare düğmesine basıyorum.
Result bölümünde karşılaştırılan veritabanları içinde farklı olan objeler mevcutken, Object Definition bölümünde ise seçili olan farklılığın detayları gösteriliyor.
Karşılaştırma yapılan her iki veritabanında da aynı isimde bir tablo nesnesi olduğu için bize arasındaki farkları gösteriyor, ancak kaynak veritabanına oluşturduğum “Table_Second” tablosu hedef veritabanında olmadığı için Result ekranında Add klasörü altında toplanıyor ve Object Definition kısmında ise sadece kaynaktaki tablo yapısı gösterilebiliyor.
Veritabanları arasındaki farklılıkları inceledikten sonra iki veritabanını birbiri ile eşitlemek için üst tarafda bulunan Update düğmesi ile veya Generate Script yardımıyla eşitleme işlemini tamamlayabilirsiniz.
SQL Server Data Tools ile proje veritabanının snapshot’unu alabiliriz. SSDT snapshot yapısı SQL Server’da var olan snapshot ile aynı yapıya sahiptir. Snapshot basit bir tanımla ; veritabanının herhangi bir anında alınan salt okunur bir kopyası, görüntüsüdür denilebilir.
Code Analysis özelliği ile birlikte kontrol edilecek olan kuralları ayarlamak için: View > ProjeAdi_Properties menüsünden aşağıdaki yapılandırma ekranına ulaşabilirsiniz.
Code Analysis özelliğini çalıştırmak için solution explorer’da bulunan projemize sağ tıklayıp Run Code Analysis seçeneğini seçiyoruz.
Analiz sonucunda view’de kullanmış olduğum “SELECT * “ şeklinin, prosedürde kullandığım “%” LIKE ve INT türündeki bir alanda string şekilde bir değerle koşul verdiğim için bu üç uyarıyı almış oldum.
Karşıma gelen Rename penceresinden Table_Second ismindeki tablomun adını Table_Second_2 olarak değiştiriyorum.
Bu ekranda değişiklikten etkilenecek nesneleri görebilirsiniz. Son olarak Apply komutunu verdikten sonra seçilen nesnenin adı kendisi ile birlikte referans olarak kullanılan tüm yerlerde değiştirilecektir.
Yalcin kalkali dedi Teşekkürler Hakan bey Konuyu Açtım bu ko... 1 gün ago
Bugra PARLAYAN dedi Hayat kurtaran bilgilerde bugün. Eline s... 1 gün ago
Aziz Kadagan dedi Eline Sağlık Buğra... 2 gün ago
Aziz Kadagan dedi Elinize Sağlık Engin Hocam... 2 gün ago
Alpay Akyol dedi kucuk bir duzeltme, hiz 40Gbps olmali... 2 gün ago