Recent comments

None


İçerik Ara











Yasal Uyarı
Bu sitede sunulan tüm bilgi ve dökümanlar Turgay Sahtiyan tarafından yazılmaktadır. Yazıların kaynak göstermek şartıyla kullanılması serbesttir.

© Copyright 2009-2013
Takvim
<<  Ekim 2017  >>
PaSaÇaPeCuCuPa
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345
Keywords

23 Mayıs Pazartesi günü yapacağım webcast’in duyurusunu yapmak istiyorum.

SQL Server 2008 Performance Data Collection ile Veritabanı Sunucularınızı İzleyin başlıklı webcast’im 23.05.2011 Pazartesi günü 21:00-22:00 saatleri arasında gerçekleşecek.

Aşağıdaki url’i kullanarak vereceğim bu webcast’e katılabilirsiniz.

https://www.livemeeting.com/cc/mvp/join?id=7Z3BS9&role=attend&pw=w%27%257%265Rnd

Ajandamız şu şekilde olacak;

  • Performance Data Collection (PDC) Nedir ?
  • Datawarehouse Kurulumu
  • Default Collection Set’lerin Kurulması
  • Default Collection Set’lerin Raporlanması
  • PDC’da Server Side Trace Kullanımı
  • Bloklanan Sorguların PDC ile Toplanıp Raporlanması
  • PDC ile Deadlock Monitoring
  • Troubleshoot
  • Soru – Cevap

Not:Katılım url’i webcast başlamadan yarım saat önce aktif hale gelecektir.

İyi Çalışmalar

Turgay Sahtiyan

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


5 Mart 2011 tarihinde bloğumda da yayınladığım Microsoft SQL Azure makalem Microsoft Türkiye Technet bülteninin nisan sayısında yayınlandı.

TechnetNisan

Url : http://www.microsoft.com/turkiye/technet/ebulten.mspx

Doküman Url : http://www.microsoft.com.tr/sqlazure/Microsoft_SQLAzure.docx

Benim için güzel bir haber olan bu durumu sizinle de paylaşmak istedim.

 

İyi çalışmalar

Turgay Sahtiyan

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


Daha önceki makalelerimde Database Manager’da Table ve View’ler ile nasıl çalışabileceğimizi görmüştük. Bugünkü Adım Adım SQL Azure makalemde ise Database Manager’da SP’ler ile nasıl çalışabileceğimize bakıyor olacağız.

[more]

SP örneklerimde bir önceki makalemde create ettiğim myView isimli view’i kullanacağım. Dolayısıyla bu makalemi okumadıysanız okumanızı tavsiye ederim.

İlk olarak Database Manager ile veritabanına bağlantı kuralım. Bu konu ile ilgili detaylara gene daha önce yazmış olduğum şu makalemden erişebilirsiniz.

Yeni bir SP create etmek için sol üst tarafta bulunan butonlardan New Stored Procedure butonuna basalım.

1

Açılan ekranda ilk olarak SP’miz için bir isim belirleyelim. Ben isim olarak mySP ismini kullanacağım.

Şimdi parametreler kısmına bakalım. Yazacağım SP’de myView’e select çekerek contact name ve contact surname bilgilerini getireceğim. Ve şu şekilde bir parametre kullanmak istiyorum. Contact name’de benim belirleyeceğim string geçen kayıtlar getirilsin.

Yeni bir parametre tanımlamak için +Parameter butonuna basıyorum ve parametre bilgilerini dolduruyorum.

Daha sonra select sorgumda bu parametreyi where clause’da kullanıyorum.

Sonuç itibarıyla SP tanımlama ekranım şu şekilde oluyor. Save butonuna basarak SP’yi kaydediyorum.

2

Bu arada gene bu ekranda New Parameter butonunu da yeni bir parametre tanımlama için kullanabilirim. Ayrıca Delete Parameter butonu ile bir parametreyi silebilirim.

Şimdi oluşturduğumuz bu SP’yi çalıştıralım. Bunun içi Run butonuna bastığımızda karşımıza aşağıdaki gibi bir ekran çıkacak.

3

In Value sütunlarına parametreler için değer girip Execute butonuna basıyorum.

Ben örneğimde parametre olarak “Tur” girdim. Yani isminde “Tur” geçen contact’ları listelemek istiyorum. Sonuç aşağıdaki gibi olacaktır.

4

Şimdi aynı SP’yi exec komutu ile çalıştıralım. Bunun için yeni bir query ekranı açıp exec dbo.mySP ‘Tur’ şeklinde query yazıp execute butonuna basalım.

5

Bugünkü makalemde Database Manager’da SP’ler ile nasıl çalışabileceğimizi gördük. Bir sonraki Adım Adım SQL Azure makalemde görüşmek üzere.

 

İyi Çalışmalar

Turgay Sahtiyan

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


Bir önceki makalemde Database Manager ile SQL Azure veritabanına bağlantı kurup tablolar ile çalışmıştık. Bugünkü Adım Adım SQL Azure makalemde ise Database Manager’da view’ler ile çalışma konusunu inceliyor olacağız.

[more]

View örneklerimde bir önceki makalemde oluşturduğum dbo.tbl_contacts tablosunu kullanacağım. Bu yüzden bir önceki makalemi okumadıysanız eğer okumanızı tavsiye ederim.

İlk olarak Database Manager ile veritabanına bağlantı kuralım. Bu konu ile ilgili detaylara gene bir önceki makalemden erişebilirsiniz.

Yeni bir view create etmek için sol üst tarafta bulunan butonlardan New View butonuna basalım.

1

Açılan ekranda view’a myView adını verip sorgu kısmında da dbo.tbl_contacts tablosuna select çekiyorum. Save butonuna basarak view’i kaydediyorum.

2

Save işlemi tamamlandığında soldaki navigasyon kısmında bu view’i görebilmekteyim.

3

View’ın datasına bakmak yani select çekmek için üst tarafta bulunan Data butonunu kullanabilirim.

4

Şimdi New Query ekranında bu view’e select çekelim.

5

Bugünkü makalemde Database Manager’da view’ler ile nasıl çalışabileceğimizi gördük. Bir sonraki makalemde Database Manager’da Stored Procedure (SP) kullanımına bakıyor olacağız.

 

İyi Çalışmalar

Turgay Sahtiyan

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


SQL Azure’da bulunan veritabanlarını SQL Server Management Studio’nun R2 ve üst sürümleri ile bağlanıp yönetebilmemiz mümkün. Aynı zamanda Silverlight ile geliştirilmiş web tabanlı bir uygulama olan Database Manager bir diğer adıyla Code-Named “Houston” ile de platform bağımsız olarak SQL Azure veritabanlarını yönetebilmek mümkün.

Bugünkü Adım Adım SQL Azure makalemde Database Manager (DM) – Code Named “Houston” ile SQL Azure veritabanlarını nasıl yönetebileceğimizi, SP,vew table gibi objeleri nasıl create edip görüntüleyebileceğimizi görüyor olacağız.

[more]

msdn’in deyimiyle, Database Manager (DM), SQL Azure için kullanılan, kullanımı oldukça kolay bir veritabanı yönetim aracıdır. Gerçekten silverlight teknolojisi sayesinde Database Manager’a oldukça user friendly bir yapı kazandırılmış durumda.

Bunun ötesinde bu tool’un benim açımdan en büyük artısı platform bağımsız olmasıdır. Internet’e bağlanabilen, browser’ı olan herhangi bir PC üzerinden SQL Azure veritabanları yönetilebilir.

Bugünkü yazımda, DM ile SQL Azure veritabanı yönetiminin nasıl yapıldığına, SP,View ve table gibi objelerin nasıl create edilip izlenebildiğine bakıyor olacağız.

Başlıklarımız şu şekilde;

  • Database Manager (Project Code-Named “Houston”) ile Platform Bağımsız SQL Azure Veritabanlarına Bağlantı Kurmak
  • Database Manager’da tablolar ile çalışmak
  • Database Manager’da view’ler ile çalışmak
  • Database Manager’da stored procedure (SP) ‘ler ile çalışmak

Database Manager (Project Code-Named “Houston”) ile Platform Bağımsız Olarak SQL Azure Veritabanlarına Bağlantı Kurmak

Aslında SQL Azure Firewall makalemde bu konuya az da olsa giriş yapıp, DM ile master veritabanına bağlanıp firewall ayarlarını yapmıştık. Şimdi konuyu biraz daha detaylandıralım.

Azure portalına giriş yaptıktan sonra subscription kısmından ilgili subscription’ı seçip daha sonra da mantıksal sunucuyu seçiyoruz. (Azure portala bağlanma konusu ile alakalı şu makalemi okumanızı tavsiye ederim.) Bu esnada ekran görüntüsü aşağıdaki gibi olacaktır.

1

Sunucu seçimini yaptıktan sonra sağ tarafta çıkan DB listesinde yönetmek istediğimiz DB’yi seçip üst tarafta bulunan Manage butonuna tıklıyoruz. Ben bu örneğim için DBTurgay veritabanı üzerinde çalışacağım.

2

Gelen ekranda admin kullanıcının şifresini yazarak Connect butonuna basıyoruz.

3

Eğer kullanıcı adı ve şifresinde aynı zamanda firewall ayarlarında bir sıkıntı yok ise bizi şu şekilde bir ekran karşılayacak. İşte Database Manager olarak adlandırdığımız tool bu ekran.

4

Ekranın sol tarafında şu anda bu DB’nin sahip olduğu tables,views ve stored procedures’lar görülebilmekte. Bizim database’imiz daha yeni bir database olduğu için herhangi bir objemiz yok.

5

Ek bilgi olarak şunu da belirtmek istiyorum. Çok fazla obje içeren database’ler de obje araması yapmak için search kısmını kullanabilirsiniz.

Database Manager’da Tablolar ile Çalışmak

İlk olarak yeni bir tablo create edelim. Bunun için üstteki butonlardan New Table butonuna basalım.

6

Gelen ekranda tablo için bir isim verdikten sonra kolon tanımlamalarını yapacağız.

Her kolon için isim ve datatype bilgilerini doldurduktan sonra hangi kolonun ya da kolonların primary key olmasını istediğimizi belirtiyoruz. Bildiğiniz gibi Azure mimarisinde High Avaibility clustered index’ler ya da primary key’ler üzerinden sağlanmaktadır. Dolayısıyla primary key seçeneğimizi de bu ekrandan yapabiliriz. Aynı zamanda Identity bilgisi vasıtasıyla hangi kolonun otomatik artan değer içerdiğini belirtebiliriz.

Son olarak yeni bir kolon eklemek için + Column butonunu kullanabileceğimizi belirterek save butonuna basarak şu şekilde örnek bir tablo create ediyorum.

7

Kayıt işlemini tamamladıktan sonra artık bu tabloyu soldaki navigation panelinden bulubilmemiz mümkün. Şimdi bu tabloya biraz veri girelim. Bunun için data butonuna basıyorum ve veri girişini yapacağım edit ekranına geçiyorum.

8

Yeni bir kayıt girmek için + Row butonunu ya da üst tarafta bulunan New Row butonunu kullanabilirim. Olan bir kayıdı silmek için ise New Row butonunun hemen yanındaki Delete Row butonunu kullanabilirim.

Ben örneğimde şu şekilde kayıtlar giriyorum ve Save butonuna basıyorum.

9

Artık tablom, içinde verileri beraber hazır. Şimdi girdiğim kayıtları görmek için bu tabloya select çekececeğim. Bunun için sol üst tarafta bulunan butonlardan New Query butonuna basıyorum.

10

Açılan ekranda select sorgumu yazıp sonuçları getirmek için Execute butonuna basıyorum.

11

Sorgu sonucu ekranın alt kısmında gelmiş durumda.

12

New Query ekranında biraz daha detaylı bahsedecek olursak; Save butonu vasıtasıyla yazdığımız sorguyu bilgisayara kaydedebiliriz, Open Query butonu ile bilgisayara kaydettiğimiz bir sorguyu çağırabiliriz. Aynı zamanda bu ekranda Management Studio ekranında yaptığımız gibi sadece çalıştırmak istediğimiz kod bloğunu seçip execute edebiliriz. Database Manager bu işlemi de desteklemekte.

Bu makalemde Database Manager ile SQL Azure veritabanına bağlantı kurup tablolar ile nasıl çalışabileceğimizi gördük. Bir sonraki Adım Adım SQL Azure makalemde Database Manager’da view’ler ile çalışma konusunu inceliyor olacağız.

 

İyi Çalışmalar

Turgay Sahtiyan

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


Daha önce yeni bir mantıksal sunucunun nasıl oluşturulacağını şu makalemde incelemiştik. Bugün ise bu mantıksal sunucunun arkasına yeni bir veritabanının nasıl yaratılacağını görüyor olacağız.

Bugünkü makalemde aynı zamanda veri tabanı seçeneklerini detaylı konuşuyor olacağız.

[more]

Yeni bir mantıksal sunucu create edildiğinde master DB’si otomatik olarak create edilir. Readonly olan bu DB için herhangi bir ücretlendirme yapılmaz diye konuşmuştuk.

Ücretlendirme konusunda parantez açmak gerekirse, SQL Azure’da ücretlendirme mantığı veritabanının boyutuna ve yapılan veri transferine yani bandwith’e göre değişiklik göstermektedir.

Veri tabanı boyutu diyince SQL Azure’da şu edition’larda ve boyutlarda veritabanı create edilebilmektedir.

Edition Olabilecek Veritabanı Boyutları
Web 1 GB - 5 GB
Business 10 GB – 20 GB – 30 GB – 40 GB - 50 GB

Şu an için web ve business edition’lar arasında, oluşturulabilecek DB boyutu haricinde herhangi bir fark bulunmamaktadır. Ama ileriki versiyonlarda sahip olunan feature’lar açısından farklılık olabileceği konuşulmaktadır.

Gördüğünüz gibi maksimum DB boyutu 50 GB olmakta, yani 50 GB’tan daha büyük bir DB create edememekteyiz. Bunu yapabilmek için yatayda ölçeklenebilmek yani sharding teknolojisi kullanmak gerekmektedir. Daha sonra bu konu ile alakalı detaylı bir makale yazmayı planlıyorum.

Şimdi Azure portal üzerinden yeni bir veritabanının nasıl create edildiğine bakalım.

Azure portalına giriş yaptıktan sonra subscription kısmından ilgili subscription’ı seçip daha sonra da mantıksal sunucuyu seçiyoruz. (Azure portala bağlanma konusu ile alakalı şu makalemi okumanızı tavsiye ederim.) Bu esnada ekran görüntüsü aşağıdaki gibi olacaktır.

1

Gördüğünüz gibi database kısmında sadece master DB bulunmakta ki bu da yeni bir sunucu create edildiğinde otomatik olarak create edilmektedir.

Biz şimdi yeni bir database create edeceğiz. Bunun için üst tarafta database sekmesi içinde bulunan buton listesinden create butonuna basıyoruz.

2

Karşımıza database seçeneklerini gireceğimiz aşağıdaki gibi bir ekran çıkacaktır.

3

name kısmına database için bir isim yazdıktan sonra olmasını istediğimiz edition ve maximum size bilgilerini seçip OK butonuna basıyoruz.

4

Ana ekrana döndüğümüzde yeni yarattığımız DB’yi ve özelliklerini görüyoruz. Current size kısmında şu anda bu DB’nin ne kadar yer kapladığı bilgisini almamız mümkün.

5

Bu bilgiyi değerlendirerek gereksiz bir boyutta DB alıp almadığımız sonucuna varıp gerekiyorsa DB boyutumuzu düşürebiliriz. Çünkü unutmamamız gereken şu: Azure’da bulunan kullandığın kadar öde yaklaşımı sayesinde sadece ihtiyacımız olan boyutta DB yaratıp bu boyut üzerinden ödeme yapabiliriz.

Create ettiğimiz bu DB’ye bağlantı denemesi yapmak için Test Connectivity, silmek için drop ve Database Manager tool’u ile yönetmek için de Manage butonunu kullanabilirsiniz.

6

SQL Azure’da yeni bir veritabanı create etme işlemi bu şekilde. Bir sonraki makalemde create ettiğimiz bu veritabanını Database Manager tool’u ile nasıl yönetebildiğimize bakıyor olacağız.

 

İyi çalışmalar

Turgay Sahtiyan

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


Merhaba arkadaşlar

İTÜ Executive MBA programında aldığım seçmeli Internet Marketing dersinin dün akşamı konuğu grupfoni.com fırsat sitesinin kurucu ortaklarından Burak Hatipoğlu idi. Bugün size Burak Hatipoğlu’nun dün akşam yapmış olduğu sunumun bazı satır başları hakkında bilgi vereceğim.

[more]

Eminim hepiniz en az bir kez fırsat sitesinden kupon satın almışsınızdır. Grupfoni.com’da Türkiye’de sayıları her geçen gün artan bu fırsat sitelerinden biri.

Markafoni ve Mynet ortaklığı ile kurulan grupfoni.com aynı zamanda Group Buying Global (GBG) tarafından yatırım fonu ile desteklenmekte. GBG ayrıca dünya genelinde grupfoni formatında olan 14 fırsat sitesine yatırım yapmakta.

Burak Hatipoğlu grupfoni.com’un iş modelini şu şekilde özetliyor : Sen (ürününü sergileyen işletme) bize ürünü ucuza ver. Biz de senin reklamını sitemiz üzerinden yapalım.

Yani aslında grupfoni.com gibi fırsat sitelerini reklam-pazarlama firmaları olarak görebiliriz. İşletme ürününü belki %50 gibi indirimli bir şekilde kullanıcıya sunmakta ama bunun karışılığında fırsat sitesi milyonlarca takipçisine bu işletmenin reklamını yapmaktadır.

Fırsat sitelerinin reklam mecrası olarak en büyük avantajlarından biride kolayca ölçeklenebilir olmasıdır. Yayınlanan bir fırsata kaç kişi bakmış, kaç kişi satın almadan çıkmış, kaç kişi satın almış ve kaç kişi öneride bulunmuş gibi bilgilerin tamamı en ince detayına göre toplanıp demografic olarak raporlanabilmektedir. Bu yüzden reklamını yapmak isteyen bir işletme için fırsat siteleri ilk sırada gelen seçeneklerden biri olmaktadır.

Aynı zamanda grupfoni.com özelinde yazmak gerekirse sitede yayınlanan bir fırsat 1.350.000 kullanıcıya mail olarak bildirilmektedir ki böyle bir reklam maili göndermenin normal şartlarda maliyeti 20-22 bin dolarlar seviyesindedir.

Sistemin işleyişine bakacak olursak;

  • Grupfoni ve işletme komisyon ve gün gibi detaylar üzerinde anlaşır.
  • Yayınlanacak fırsatın tüm detayları profesyonel editorler tarafından hazırlanır. (fırsat sayfası)
  • Anlaşılan tarihte ilgili fırsat grupfoni sitesinde 24 saat boyunca yayınlanır. Burada şöyle bir istisna bulunmaktadır. Eğer fırsat çok ilgi çekerse 24 saat bitiminde bir 24 saat daha yayınlanabilir. Bu arada şöyle bir not daha düşmek istiyorum. Bu tarz fırsat sitelerinin ilk doğuşu group buying modeli üzerine kuruluydu. Yani belirli bir fırsatın gerçekleşebilmesi için belirli sayıda kişinin bu fırsatı alması gerekiyor aksi durumda fırsat gerçekleşmiyordu. Ama son zamanlarda pazardaki rekabetten dolayı bu ön şart ortadan kalkmış durumda ve fırsatı 1 kişi dahi alsa gerçekleşir duruma gelmiş durumda.
  • Fırsatı satın alan kullanıcıya fırsat kodları mail ve SMS yolu ile bildirilir.
  • Kullanıcı işletmeye gider, kullanmak istediği fırsat kodunu işletmeye söyler. İşletme bu fırsat kodunu grupfoni’nin kendilerine sunduğu web arayüzünde kontrol eder ve kullanılıp kullanılmadığına bakar.
  • İşletme kullanılan fırsat kodlarını gene bu web arayüz üzerinden kullanıldı olarak işaretler.
  • İşletme kullanılan kuponlar için grupfoni’ye fatura keser ve bu noktada döngü tamamlanmış olur.

Bu esnada aklınıza “peki kullanılmayan kuponlar ne olur?” şeklinde bir soru geldiğine eminim. Burak Hatipoğlu’nun belirttiğine göre grupfoni kullanılmayan kuponlar için geri ödeme yapmakta. Gerçi şunuda belirtmekte ki Amerika’da kullanılmayan kupon oranı %20 lerde iken, Türkiye’de bu oran %1.5 lar seviyesinde. Yani Burak Hatipoğlu’nun deyimiyle, Türk halkı parasının kıymetini bilmekte. J

Kullanılmayan kuponları grupfoni iade ediyor dedik. Fakat seanslı kuponlarda böyle bir durum söz konusu değil. Yani örneğin siz 8 seanslık solaryum fırsatı aldınız. İlk 4 ünü kullandıktan sonra kalan 4 ünü iade etmek istediğinizde grupfoni haklı olarak bu iadeyi kabul etmemekte.

Şimdi Grupfoni firması hakkında biraz bilgi verelim. Grupfoni 2010 Mart ayında Burak Hatipoğlu ve ortağı ile kurulmuş bir firma. Yani ilk kurulduklarında sadece 2 kişilermiş. Şu an baktığımızda ise 87 çalışanı olan ve toplamda 12 ilde faaliyet gösteren bir firma ile karşılaşıyoruz.

İşin teknolojik kısmına yani beni en çok ilgilendiren kısmına baktığımızda java tabanlı olan web sitesi ve fırsat yönetimi yazılımı 4 kişilik bir yazılım ekibi tarafından geliştiriliyor. Performans tuning üzerinde ciddiyetle durdukları bir konu. 1 kişi sadece performance tuning üzerine çalışıyor. Kimbilir belki ilerde performance tuning, high availability ve disaster recovery konusunda beraber çalışma fırsatı buluruz J

Satışlarının %75’ini İstanbul sınırları içerisinde gerçekleştiren Grupfoni %50 indirimden daha az indirim sunan firmalar ile çalışmıyor. Yani siz “ben %10 indirim vereceğim, çalışalım mı” dediğinizde, grupfoni sizi duymamazlıktan bile gelebiliyor J

Google Analystics’e göre günlük tekil ziyaretçi (uniq visitors) sayısı 140 bin’ler civarında.Şu ana kadar toplam 850 bin adet fırsat kuponu sattıklarını belirten Burak Hatipoğlu, sitelerinde bugüne kadar 3600 değişik fırsatın yayınlandığını söylüyor. Ayrıca şu ana kadar üyelerine 86.400.000 $ para kazandırdıklarının altını çiziyor.

Sosyal paylaşım sitelerine oldukça önem veren Grupfoni’nin facebook sayfasının takipçi sayısı 245 bin civarında.

Sektörün geneline baktığımızda ise aylık ortalama cironun 15 milyon TL civarında olduğunu görüyoruz ki 6-7 ay önce bu değer 4 milyon TL’ler civarındaymış. Bu da bize sektörün çok hızlı bir şekilde büyüdüğünü açıkça göstermekte.

Burak Hatipoğlu’nun sunumundan aldığım notlar bu şekilde. Kendisine ve bize bu fırsatı sunan Internet Marketing hocamız Burak Büyükdemir’e bir kez de buradan teşekkür etmek istiyorum.

İyi çalışmalar

Turgay Sahtiyan

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


SQL Azure sunucularına hem Internet’ten yapılan bağlantılarda hem de Windows Azure’dan yapılan bağlantılarda SQL Azure Firewall güvenliği sağlamaktadır. Her bağlantı kurmak isteyen client’ın SQL Azure Firewall üzerinde yetkilendirimesi gerekmekte bu şekilde denial-of-service (DOS) ataklarının önüne geçilebilmektedir.

Bugünkü Adım Adım SQL Azure makalemde, SQL Azure Firewall mimarisine değindikten sonra Firewall yapılandırmasının hem Azure Portal hem de Database Manager üzerinden TSQL komutları ile nasıl yapıldığına bakıyor olacağız.

[more]

SQL Azure Firewall mimarisi aşağıdaki gibidir.

8[5]

Resimde de görüldüğü gibi SQL Azure sunucularının önünde SQL Azure Firewall bulunmaktadır. Bu Firewall hem Windows Azure’dan gelen client’ları hem de Internet üzerinden gelen client’ları kontrol etmektedir.

Şimdi Firewall yapılandırmasının nasıl yapıldığına bakalım.

Azure Portal Üzerinden Firewall Yapılandırması

Azure portalına giriş yaptıktan sonra subscription kısmından ilgili subscription’ı seçip daha sonra da mantıksal sunucuyu seçiyoruz. (Azure portala bağlanma konusu ile alakalı bir önceki makalemi okumanızı tavsiye ederim.) Bu esnada ekran görüntüsü aşağıdaki gibi olacaktır.

1

İlk olarak neden bir firewall yapılandırmasına ihtiyaç duyduğumuzu görmek için herhangi bir firewall rule’u tanımlamadan Test Connectivity butonuna basarak sunucuya bağlantıyı test edelim.

2

Gelen ekranda admin kullanıcısının şifresini girip connect butonuna bastığımızda aşağıdaki gibi bir hata mesajı alacağız.

3

Hata mesajının detayında 70.37.100.19 nolu IP’nin, server’a erişmesine izin verilmediği gözükmekte. Bu IP Windows Azure’un SQL Azure’a bağlanırken kullandığı IP ve firewall ayarlarında bu IP için izin verilmediği için bağlantı gerçekleşmemekte. Şimdi bu firewall ayarlamasını yapalım.

Bunun için şu andaki ekranı close diyerek kapayalım ve Firewall Rules butonuna basalım. Bu ekranda yukarıdaki IP için bir rule tanımlayacağız.

4

Şu an için herhangi bir tanımlanmış rule’umuz yok. Yeni bir rule tanımlamak için add butonuna basalım.

5

Gelen ekranda rule için bir ad ve IP aralığı (ben bu örneğim için tek bir IP’ye rule tanımlamak istediğimden dolayı her 2 tarafa aynı IP’yi yazacağım) verdikten sonra OK butonuna basarak bu rule’u kaydedelim.

6

7

Şimdi tekrar bağlantıyı test etmek için Test Connectivity butonunu tıklayalım.

8

Firewall tanımlasını yaptığımız için bağlantı işlemi sorunsuz gerçekleşti.

Bu şekilde add butonunu kullanarak hangi client’ların Azure sunucumuza bağlanmasını istiyorsak yeni rule’lar tanımlayabiliriz. Şimdi bu rule tanımlama işlemini Database Manager ile Azure DB’mize bağlanarak TSQL ile yapalım.

Database Manager Üzerinden TSQL Kullanarak Firewall Yapılandırması

Database Manager ile Azure portal’da sunucuyu seçtikten sonra sağ tarafta çıkan DB listesinde master DB’sini tıklayıp üst tarafta bulunan Manage butonuna tıklıyoruz.

9

Gelen ekranda admin kullanıcının şifresini yazıp connect butonuna tıklıyoruz.

10

Bağlantı kurulmadığını ve bir hata alındığını göreceğiz. error yazısına tıkladığımızda hatanın detayı görünmekte.

11

Alınan hata daha önce aldığımız firewall hatası ile aynı. Bunun nedeni Database Manager’ın Azure server’ımıza bağlantı kurabilmesi için gerekli firewall tanımlamasını yapmamış olmamız.

Bir önceki bölümde anlattığım şekilde firewall tanımlamasını yapıyoruz.

12

Tekrar Manage butonu vasıtasıyla master DB’sine bağlantı kurmaya deniyoruz ve sıkıntısız bir şekilde bağlantı kurabildiğimizi görüyoruz.

13

Şimdi TSQL komutlarını yazmak için yeni bir query ekranı açacağız. Bunun için sol üst tarafta bulunan New Query butonuna basıyoruz.

14

Açılan yeni sayfada query’lerimizi çalıştırmaya başlayabiliriz. İlk olarak tanımlı firewall rule’larımızı görelim.

Aşağıdaki sorguyu query ekranında yazıp sol üst tarafta bulunan execute butonuna basıyoruz.

select * from sys.firewall_rules

 

15

Sorguyu execute ettiğimizde 2 satırlık bir sonuç gelmekte. Bu kayıtlarda bizim az önce tanımlamış olduğumuz firewall rule’ları.

Yeni bir rule tanımlayalım.

exec sp_set_firewall_rule N'Sample Rule','5.5.5.5','5.5.5.6'

 

Tanımlamış rule’ları tekrar görüntüleyelim.

16

Gördüğünüz gibi yeni tanımlamış olduğumuz Sample Rule sorgu sonucunda gelmekte. Şimdi bu rule’da bir update yapıp IP aralığını değiştirelim.

exec sp_set_firewall_rule N'Sample Rule','6.6.6.6','6.6.6.6'

 

Son olarak tanımladığımız Sample Rule kuralını silelim.

exec sp_delete_firewall_rule N'Sample Rule'

 

Bugünkü Adım Adım SQL Azure makalemde SQL Azure’da firewall mimarisinin nasıl olduğunu ve base olarak firewall tanımlamaların nasıl yapıldığını gördük.

Bir sonraki Azure makalemde “Database Manager (Project Code-Named “Houston”) ile Platform Bağımsız SQL Azure Veritabanı Yönetimi” konusu üzerine konuşuyor olacağız.

 

İyi çalışmalar

Turgay Sahtiyan

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


Merhaba arkadaşlar

Bugün sizin ile 2 analist raporu paylaşmak istiyorum.

İyi çalışmalar

Turgay Sahtiyan

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


Bildiğiniz gibi LinkedServer tanımlayarak A server’ı üzerinden B Server’ında select,update gibi işlemleri yapabilmemiz mümkün.

Bugün anlatacağım OpenDataSource komutu ile linked server’a gerek kalmadan bu işlemleri nasıl yapabileceğimizi görüyor olacağız.

[more]

OpenDataSource kullanılabilmesi için sorguyu çalıştıran server’da Ad Hoc Distributed Queries özelliğinin enable edilmesi gerekmektedir.

Aksi halde şöyle bir hata alınır.

Msg 15281, Level 16, State 1, Line 1
SQL Server blocked access to STATEMENT 'OpenRowset/OpenDatasource' of component 'Ad Hoc Distributed Queries' because this component is turned off as part of the security configuration for this server. A system administrator can enable the use of 'Ad Hoc Distributed Queries' by using sp_configure. For more information about enabling 'Ad Hoc Distributed Queries', see "Surface Area Configuration" in SQL Server Books Online.

Ad Hoc Distributed Queries özelliğini aktif etmek için sorguyu çalıştıran server’da şu script’i çalıştırabilirsiniz.

exec sp_configure 'show advanced options',1
ReConfigure with override
exec sp_configure 'Ad Hoc Distributed Queries',1
ReConfigure with override
exec sp_configure 'show advanced options',0
ReConfigure with override

Şimdi kullanıma bakalım.

Örneğin B server’ında bulunan bir tabloya select çekmek istiyorsunuz. Bunu OpenDataSource ile yapabilmek için önce B server’ında bulunan bu tabloya select çekme yetkisine sahip bir kullanıcı tanımlıyoruz. Daha sonrada bu kullanıcıyı kullanarak A server’ında şöyle bir view create ederek B server’ında bulunan bu tablonun A server’ından select çekilebilmesini sağlıyoruz.

A server’ında create edilecek view;

create view myView
with encryption
as
SELECT *
FROM OPENDATASOURCE('SQLNCLI','Data Source=ServerB;User ID=LoginName;Password=password'
		    ).AdventureWorks.Person.Address

 

Gördüğünüz gibi view create’in de with encryption keyword’unu kullandık. Bunun sebebi de tanımlamış olduğumuz kullanıcının kullanıcı adı ve şifre bilgilerini göstermek istemememiz.

Şimdi update işlemini nasıl yapabiliriz diye bakalım.

Bunun için gene encrypted olarak bir Stored Procedure (SP) create edeceğiz.

create proc sp_UpdPersonAddress
	@AddressID int,
	@PostalCode nvarchar(15)
with encryption
as
UPDATE OPENDATASOURCE('SQLNCLI','Data Source=ServerB;User ID=LoginName;Password=password'
		   ).AdventureWorks.Person.Address
SET PostalCode = @PostalCode
where AddressID=@AddressID

 

Bu update SP’si vasıtasıyla B Server’ında bulunan Person.Address tablosunun PostaCode kolonunu A server’ı üzerinden update edebiliriz.

 

İyi Çalışmalar

Turgay Sahtiyan

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


Bugün bloğumu açalı tam 2 sene olmuş.

SQL Server konusunda sahip olduğum bilgileri paylaşsam ne güzel olur diye düşünüp bu bloğu kurduktan sonra şimdi geriye dönüp bakıyorumda bu yolda 265 adet post yazmışım :)

Bu süreç zarfında mail ile ya da değişik platformlarda aldığım övgü mesajları bu bloğu açmakla ne iyi ettiğimi sürekli hissettiriyor bana.

Nica senelere diyerek sizi aşağıdaki karikatür ile başbaşa bırakıyorum. :)

image

 

Turgay Sahtiyan

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


Bugün itibarıyla Adım Adım SQL Azure makale serime başlıyorum. Hepimize hayırlı olsun :)

Bu seriyi okumadan önce SQL Azure hakkında yazdığım aşağıdaki makaleyi okumanızı kesinlikle tavsiye ederim.

Microsoft SQL Azure

İlk konumuz Azure portalına ilk bağlantı ve yeni bir mantıksal sunucu create etmek.

[more]

Yukarıda linkini verdiğim makalede bahsettiğim gibi Azure mimarisinde bizim bağlantı kurduğumuz sunucular mantıksal sunuculardır. Bu sunuculara gönderdiğimiz istekler Gateway vasıtasıyla fiziksel sunuculara yönlendirilir.

Bugünkü Adım Adım SQL Azure makalemizde Azure portalına bağlantı kurup mantıksal bir sunucu create edeceğiz.

 

Azure portalına bağlanmak için https://windows.azure.com adresine giriyoruz.

1

Kullanıcı adı ve şifre bilgilerini yazıp sign in butonuna basarak Azure portalına bağlanıyoruz.

2

Database yazısına tıklayıp hemen üst tarafında bulunan Subscription kısmından ilgili subscription’ı seçiyoruz.

3

Yeni bir mantıksal sunucu create etmek için üst tarafta server bloğu içerisinde bulunan Create butonuna basıyoruz.

4

Gelen ekranda bu mantıksal sunucunun hangi bölgede yer almasını istediğimizi belirtip next’e basıyoruz.

5

Admin username ve password bilgilerini doldurup next’e basıyoruz. Bu kısımda belirlediğimiz login’i klasik SQL Server’lardaki sa login’i olarak düşünebiliriz.

6

Bir sonraki gelen ekranda Firewall ayarlamalarını yapabiliriz. Bu ayarları daha sonra ayrı bir makale olarak anlatacağım için şimdilik Finish diyerek server create etme işlemini bitiriyoruz.

7

Tekrar ana ekrana döndüğümüzde Server listesinde create ettiğimiz server’ı görüyor olacağız.

8

Sol taraftan server’ı tıkladığımızda bu server içerisinde bulunan DB’leri ve server’ın özelliklerini göreceğiz. Şu an için herhangi bir database create etmediğimiz için database listesinde sadece master database bulunmakta.

9

 

Bugünkü Adım Adım SQL Azure makalemizde SQL Azure’a ilk bağlantımızı yapıp yeni bir server create ettik.

Bir sonraki makalemde firewall ayarlarının nasıl yapılacağına bakıyor olacağız.

 

İyi çalışmalar

Turgay Sahtiyan

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


3 Mayıs Salı günü yapacağım webcast’in duyurusunu yapmak istiyorum.

Microsoft SQL Azure’a Genel Bakış, SQL Azure Veritabanına İlk Bağlantı başlıklı webcast’im 03.05.2011 tarihinde 21:00-22:00 saatleri arasında gerçekleşecek.

Aşağıdaki url’i kullanarak vereceğim bu webcast’e katılabilirsiniz.

https://www.livemeeting.com/cc/mvp/join?id=G25R3F&role=attend&pw=rN87%2Cjk-H

Ajandamız şu şekilde olacak;

  • Neden SQL Azure?
    • Uygun Maliyetli Ölçeklenebilirlik
    • Yüksek Süreklilik (High Availability)
    • Yönetimsel Maliyetlerin Düşürülmesi
  • Topoloji
  • Ring Topology
  • Veri Merkezleri
  • SQL Azure’da Güvenlik
  • Migration – Deployment
  • SQL Server – SQL Azure Farklılıkları
  • SQL Azure’a İlk Bağlantı
  • Soru - Cevap

Not:Katılım url’i webcast başlamadan yarım saat önce aktif hale gelecektir.

 

İyi Çalışmalar

Turgay Sahtiyan

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan


Kimberly L. Tripp’in SQL Server’da Partitioning kullanımı üzerine yazmış olduğu çok güzel bir whitepaper.

Kesinlikle okumanızı tavsiye ederim.

http://www.sqlskills.com/resources/Whitepapers/Partitioning%20in%20SQL%20Server%202005%20Beta%20II.htm

İyi çalışmalar

Turgay Sahtiyan

Not : Blog haricinde, faydali gördügüm yazilari ve linkleri twitter adresimden paylasiyorum. Beni twitter'da takip etmek için : twitter.com/turgaysahtiyan