SQL Server Management Studio 2008 ve Bazı Detaylar

Ekim 7, 2011 at 6:54 Cavusoglu

Merhaba,

SQL Server 2005 ten beri hayatımıza giren Management Studio (Daha önce farklı bir yapıdaydı) üzerinde 2008 ile beraber yapılan bazı değişiklikler bazı yeni başlayan kullanıcıları zora sokmaktadır. Bu noktada size yardımcı olacağını düşündüğüm bir kaç detayı sizle paylaşmak istiyorum.

Öncelikli olarak bazı kavramları yerine oturtmak lazım. Management Studio SQL Serverin bir hizmet parçası değildir. Bu uygulama yönetim ve development amaçlı özelleşmiş bir client uygulamadır. Bu uygulama normal şartlarda SQL Server üzerinde T-SQL kullanarak yapabildiğimiz bir çok şeyi kullanıcı açısından daha hızlı ve kolay yapmamıza imkan sağlamaktadır. Management Studionun amacı database üzerinden rapor almak,çıktı almak,günlük güncelleme ve veri girişi yapmak değildir.

Microsoft SQL Server 2005 ile hedeflerini büyütürken,2008 ile beraber gözünü çok daha yükseklere dikti. Daha önceleri managment studio üzerinde dikkat etmediği ve bilinçsiz kullanıcılar açısından çok tehlikleri olabilecek bazı ekranlardada düzenlemelere gitti.

Şimdi bu konuda 2 yere dikkatinizi çekeceğim ve yazımız bu konular üzerine olacak.

1.       Management Studio üzerinde tablolara sağ tuşla tıkladığımız zaman karşımıza çıkan Edit Top 200 Rows ve Select Top 1000 Rows

 

clip_image001

 

2.       Save changes not permitted ..

clip_image003

İlk başılığı inceleyecek olursak, Eskiden Open Table dediğimizde tabloda bulunan bütün kayıtlar emirimize amade geliyordu. Bu ekran hem select hemde edit amaclı kullanılıyordu. 2008 ile beraber işler biraz değişti. SQL Server üzerindeki veritabanlarında bulunan tablolarda artık eskisi gibi binlerle ifade edilen sayıda kayıt bulunmuyor. Milyonlara ve milyarlara varan kayıt sayıları açısından baktığımızda ise bilinçsiz bir kullanıcının eski gibi acaba bu tabloda ne var dediğini düşenelim. Çok zaman alacak ve kaynakları gereksiz yere tüketecek bir süreç. Bu risk yeni yapıda dikkate alınarak Microsoft tarafından sınırlandırılmıştır.

Bu noktada arzu edene kullanıcılar için yinede bu kısıtları değiştirme imkanı mevcuttur. Management Studio’a ait menüden Tools->Options tıklandığında karşımıza çıkacak ekran bir çok derdimizin dermanı.  Burda SQL Server Object Explorer sekmesine girdiğimizde karşımıza çıkan ekrandan gerekli ayarlamaları yapabiliriz. Eğer eski günlere dönelim diyorsanız 0 değerini vererek bütün kayıtları getir yapabilirsiniz.

 

clip_image005

 

İkinci başlığımıza baktığımızda ise çok daha büyük bir tehlikenin Management Studio tarafından engellendiğini görmekteyiz. Veritabanı üzerinde bulunan tabloların tasarımını bitirdikten hatta veri girdikten sonra bazı sebeplerden tablo üzerinde yapısal değişiklikler yapmaya karar verebiliriz. Bazı değişiklikler sistem tarafından ALTER marifeti ile kolayca ve zahmetsiz olarak gerçekleştirilebilir. Fakat bazı değişikler vardırki bunlar ALTER operasyonu ile yapılamaz şimdi bu işlemlere örnek olması açısından aşağıdaki durumları inceleyelim.

 

a.       Varolan bir tabloya Deneme adından nvarchar(50) bir alan eklemeye çalıştığımızda Management Studio bu işlemi ALTER marifetiyle sorunsuz bir şekilde halletmektedir.

 

clip_image006

Bu işlem için Managment Studionun ürettiği kodu incelediğimizde durumu daha net görebiliriz.

BEGIN TRANSACTION

SET QUOTED_IDENTIFIER ON

SET ARITHABORT ON

SET NUMERIC_ROUNDABORT OFF

SET CONCAT_NULL_YIELDS_NULL ON

SET ANSI_NULLS ON

SET ANSI_PADDING ON

SET ANSI_WARNINGS ON

COMMIT

BEGIN TRANSACTION

GO

ALTER TABLE dbo.SeciliRenkler ADD

        Deneme nvarchar(50) NULL

GO

ALTER TABLE dbo.SeciliRenkler SET (LOCK_ESCALATION = TABLE)

GO

COMMIT

b.      Peki ya varolan tablodaki Renk alanını nvarchar(50) den nvarchar(100) değiştirmeye kalktığımızda! Management Studionun bizi bu işlemin Re-Creation (Tablonun Tekrar Yaratılması) gerektirdiği şeklinde uyardığını ve varsayılan ayar olarak buna izin vermediğini görüyoruz. Nedir bu durum?

Managment Studio bu değişiklik işlemimi ALTER komutu marifetiyle gerçekleştiremektedir. Bu değişiklik için

 

1.       Geçici dbo.Tmp_SeciliRenkler ismiyle yeni duruma uygun bir tablo oluşturmakta

2.       Varolan SeciliRenkler tablosundaki bütün kayıtları buraya eklemekte

3.       Eski tabloyu silmekte ve Yeni Tablonun adını eskisiyle değiştirmektedir.

Bu işlemin içerisinde 30 Milyon satır veri olan bir tablo üzerinde gerçekleştirilmeye çalışıldığını bir düşünsenize, Microsoft bu durumu engellemekte haklı değilmi? Konuya dair değişim kodunu aşağıda bulabilirsiniz.

BEGIN TRANSACTION

SET QUOTED_IDENTIFIER ON

SET ARITHABORT ON

SET NUMERIC_ROUNDABORT OFF

SET CONCAT_NULL_YIELDS_NULL ON

SET ANSI_NULLS ON

SET ANSI_PADDING ON

SET ANSI_WARNINGS ON

COMMIT

BEGIN TRANSACTION

GO

CREATE TABLE dbo.Tmp_SeciliRenkler

         (

         RenkID int NOT NULL,

         Renk nvarchar(100) NOT NULL,

         Deneme nvarchar(50) NULL

         )  ON [PRIMARY]

GO

ALTER TABLE dbo.Tmp_SeciliRenkler SET (LOCK_ESCALATION = TABLE)

GO

IF EXISTS(SELECT * FROM dbo.SeciliRenkler)

          EXEC('INSERT INTO dbo.Tmp_SeciliRenkler (RenkID, Renk, Deneme)

                         SELECT RenkID, Renk, Deneme FROM dbo.SeciliRenkler WITH (HOLDLOCK TABLOCKX)')

GO

DROP TABLE dbo.SeciliRenkler

GO

EXECUTE sp_rename N'dbo.Tmp_SeciliRenkler', N'SeciliRenkler', 'OBJECT'

GO

ALTER TABLE dbo.SeciliRenkler ADD CONSTRAINT

         PK_SeciliRenkler PRIMARY KEY CLUSTERED

         (

         RenkID

         ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

 

GO

COMMIT

 

Siz tabiki bu değişikliği yinede yapmak isteyebilirsiniz. Bu durumda bu engellemeyi ortadan kaldırmak gerekecektir. Bunun için menüden tekrar Tools->Options alanına girelim. Burdan resimde belirtilen seçeneğin check kaldıralım. Bu bize istediğimizi verecektir.

clip_image008

Veritabanı tasarımlarında mümkün olan herşeyi önceden hesaplamak ve tasarımı ona göre yapmak sizi daha sonra doğabilecek bir çok sorundan kurtaracaktır. Başka bir yazıda görüşmek üzere.

 

Posted in: SQL Server | Eğitim | Bilişim | İş Zekası

Tags:

SQL Server Öncüleri

Ekim 6, 2011 at 9:46 Cavusoglu

SQL Server alanında topluluk eksikliği Türkiye uzun süredir üzerinde konuşulan bir konu. Sonunda bu eksikliği giderecek bir çalışma başladı. Bu hedefle yola çıkan SQL Server Öncüleri sitesi hizmete açıldı.  

SQL Server Öncüleri, küresel olarak faaliyet gösteren SQL PASS topluluğunun Türkiye şubesi olarak çalışmaktadır. SQL Server Öncüleri gönüllülük esasına dayalı bir topluluktur. SQL Server ve etrafındaki teknolojiler konusunda gerek teknik gerekse de iş odaklı bilgi paylaşımını ve bu konuda öncelikli olarak başvurulan bir portal olmayı, SQL Server ve etrafındaki teknolojiler konusunda iş gücünü daha ileri taşımayı, türkçe içerik geliştirmeyi ve konuya ilgi duyan BT çalışanlarının arasındaki etkileşimi arttırmayı hedeflemektedir.

http://www.sqlserveronculeri.com  

 

SQL Server ile Yönetim Eğitimi

Eylül 20, 2011 at 4:29 Cavusoglu

SQL Server 2008 R2 Yönetimi başlığı ile yapmış olduğumuz eğitim tamamladık. Eğitimin bana farklı bir katkısıda oldu. Eğitim sürecinde tanıştığımız katılımcılar sayesinde bende amatör olta balıkçılığı işine bulaştım. Gerçekten dilendirici bir hobi.

SQLYonetim172011

Posted in: Eğitim | İş Zekası | SQL Server

Tags:

İş Zekası Eğitimini Tamamladık

Eylül 20, 2011 at 4:26 Cavusoglu

Yaklaşık 2,5 Ay süren iş zekası eğitimini tamamladık. Eğitim sürecinde misafir perverlikleri nedeniyle BTAkademi çalışanlarına ve eğitim sürecindeki katılım ve ilgileri nedeniyle katılımcılara teşekkürler.

 

BI092011-2BI092011

Posted in: Eğitim | SQL Server | İş Zekası

Tags:

İş Zekası Eğitimi Örnekler

Eylül 9, 2011 at 10:17 Cavusoglu

İş Zekası eğitimindeki bazı örnekleri burda paylaşıyorum. İnceleyebilir.

BTAkademiBI.zip (4 MB)

Posted in: Bilişim | Eğitim | İş Zekası | SQL Server

Tags:

Arçelik’te ASP.NET Eğitimi

Ağustos 24, 2011 at 6:21 Cavusoglu

Arçelik firmasında şuana kadar bir çok eğitim verdim. Hele bu eğitimler eğer sütlüce yerleşkesinde ise ayrı bir zevkli oluyor. Haliç’in eşsiz manzarasından öğlen ve eğitim aralarında faydalanıyorum.

Eğitim sürecinde organizasyonu gerçekleştiren Fatih Dökmeci beye ve bütün değerli katılımcılara misafir perverliklerinden dolayı teşekkürler.

SAMSUNG            SAMSUNG

C# Akademi Eğitimini Tamamladık

Ağustos 23, 2011 at 6:07 Cavusoglu

Hafta içi akşamları gerçekleştirdiğimiz C# Akademi eğitimini tamamladık. Eğitim sürecimiz ramazan ayına geldi. Bu durum bazı zorlukları beraberinde getirsede beraber yaptığımız iftarlala çok güzel bir eğitim ortamınıda beraberinde getirdi. Katılımcı arkadaşlara çok teşekkürler.

c_sharp82410143584500

ATT CONCORDE Tekstil

Temmuz 26, 2011 at 4:53 Cavusoglu

ATT Concorde Tekstil ile C# ve ADO.NET eğitimine firmanın Tekirdağ – Çerkezköy yerleşkesinde bulunan fabrikada başladık.

Fabrika bizim çok alışık olmadığımız doğa harikası ağaçlık bir alanı ve içinde balıklar ve ördekler bulunan bir göleti bünyesinde barındırıyor. İnsanın freelance danışmanlık işini bırakıp böyle bir yerde işe giresi geliyor. Resme bakınca sizde ne demek istediğimi anlayacaksınız.

2011-07-25 13.20.17

2011-07-25 13.20.27

Posted in:

Tags:

YKS Tesis Yönetim- İEP

Temmuz 26, 2011 at 4:43 Cavusoglu

YKS firması ile başladığım uzun soluklu Proje Yöneticiliği ve Danışmanlık çalışmasında uygulamanın ilk fazını başarı ile planladığımız zamanda bitirdik. Arayüz olarak Silverlight kullandığımız uygulama Türkiye’deki Silverlight tabanlı yazılmış uygulamalar arasında yerini aldı.

Yazılımı projemizin kalan bölümlerini yıl sonuna kadar bitirip, iş zekası sürecine geçmeyi planlıyoruz. Proje içerisindeki çalışma arkadaşlarım Gülseren Taşkıran ve Yusuf Karakaş’a teşekkürler. Ayrıca proje başlangıç sürecinde Genel Müdür görevini icra eden Sinan Fındıkoğlu’nada destekleri için teşekkürler. Sodekso firmasındaki yeni Genel Müdürlük görevinde de başarılar dilerim.

logo

Posted in:

Tags:

Memlekete Bir Ziyaret

Temmuz 19, 2011 at 4:59 Cavusoglu

2011-07-19 15.49.022011-07-19 16.08.112011-07-19 18.18.24

Posted in: Yaşama Dair

Tags: