Webyog SQLyog v6.15
->

Kolay ve h覺zl覺 grafiksel bir aray羹ze sahip SQLyog 6.05 Enterprise Edition program覺 ile HTTP/ HTTPS/ SSH destekler ekilde SQL veritaban覺n覺 oluturabilir ve kolayca istediiniz yerden y繹netebilirsiniz. Hem G繹rsel hem de kod aray羹z羹yle oluturacag覺n覺z veri tabanlar覺 art覺k daha kolay meydana getirilebiliyor.
襤ndirmek 襤癟in >>T覺klay覺n覺z<<
PPP & HDLC ile Leased Line Konfigurasyonu
G羹n羹m羹zde 繹l癟ei neolursa olsun kurumlar, interneti 羹r羹n ve hizmetlerini daha geni t羹keticikitlelerine ulat覺rmak, kendi kurumlar覺n覺 tan覺tmak ve hatta sat覺 yapmak i癟in kullanmakta.Bunun yan覺s覺ra daha b羹y羹k kurumlar, corafi olarak da覺t覺k lokasyonlar覺n覺birbirleriyle geni bant balant覺larla balayarak, her an iletiim veibirlii i癟inde tutmak, verimliliklerini en 羹st d羹zeye 癟覺karmak isterler. Birbirindenuzak ve g繹receli olarak d羹羹k h覺zl覺 balant覺larla bal覺 bu alara, Wide AreaNetwork (WAN) denildiini biliyoruz.
WANlar ne kadar h覺zl覺ve tutarl覺 癟al覺覺rlarsa kurumunuzun iletiim altyap覺s覺, internet tabanl覺uygulamalar覺, internet deneyimi o kadar iyi olacakt覺r.
Bug羹n uzak noktalar覺 birbirinebalamak i癟in bir癟ok balant覺 teknolojisi mevcuttur. ISDN, xDSL, Frame Relay,ATM, Leased Line bunlar aras覺nda say覺labilir. Bu teknolojilerin herbirininkendine has 癟al覺ma mant覺klar覺 vard覺r. Bu kalabal覺k terminolojileri tek teksayarak 繹zelliklerinden bahsedersek birka癟 ciltlik bir kitap yazmak gerekirdi.Fakat benim bu makalede bahsetmek istediim konu, yukar覺da s覺ralad覺覺mteknolojilerle verinin nas覺l ta覺naca覺n覺 belirleyen, PPP ve HDLC adl覺encapsulation protokol羹 ile Cisco router konfigurasyonu olacak. S繹z羹 daha fazlauzatmadan incelemeye balayal覺m.
HDLC (High Level Data Link Control)
HDLC, Noktadan noktaya senkron ve asenkron balant覺lardakullan覺labilen bir encapsulation protokol羹d羹r. Genellikle Leased line hatlardakullan覺l覺r. ISO standartlar覺nda tan覺mlanan bir protokol olmas覺na ramen, CiscoHDLCnin frame yap覺s覺nda bir tak覺m deiiklikler yaparak, tek bir link羹zerinden birden fazla protokol羹 ta覺may覺 destekler.

ekil-1: Cisco HDLCframe yap覺s覺.
Yukar覺daki resim Cisco proprietary frame tipini g繹stermektedir.ISO standart覺 HDLC protokol羹nde, bu proprietary alan覺 yoktur.

ekil2- ISO Standart覺HDLC nin frame yap覺s覺
NOT: Cisco, yaln覺zca kendi HDLC yap覺s覺n覺 destekler.Bu y羹zden router覺n覺zla haberleecek olan kar覺daki router覺nda, Cisco veya CiscoHDLC protokol羹n羹 destekleyen bir router olmas覺 artt覺r. Juniper Networks Eserisi; E320, ERX-1440, ERX-1410, ERX-710, ERX-705, ERX-310, Hewlett PackardProcurve J3xxxx serisi routerlar, Netopia R5000 serisi routerlar, Cisco HDLC framelerinitan覺y覺p ileyebilen routerlara birer 繹rnektir.
Cisco Serial interfaceler, genel olarak WAN interface olarakkullan覺l覺r. HDLC ve PPP de normalde bu interfacelerde konfig羹re edilir. HDLC,Cisco WAN interfacelerde default encapsulation protokol羹d羹r. HDLC konfig羹reetmek olduk癟a basittir. ncelikle konfig羹re edeceimiz routerlara ve network羹ngenel yap覺s覺na bir g繹z atal覺m.

ekil3- HDLC ileyap覺land覺raca覺m覺z network羹n emas覺.
襤lk olarak, router覺n覺za konsol kablosu veya telnet ilebalan覺n. Konsol kablosu genellikle mavi renkli, yass覺, bir ucu ethernetbenzeri bir konekt繹rden, dier ucu ise bilgisayar覺n覺z覺n seri portlar覺nabalanan bir konekt繹rden ibarettir. Bu kablolar, genelde router覺n覺z覺ald覺覺n覺zda kutu i癟eriinde mevcuttur.

ekil4- Router konsolkablosu.
Amac覺m覺z Beikta ve Caddebostan routerlar覺 yoluyla, her ikilokasyonun clientlar覺n覺n birbirleriyle iletiim kurmas覺n覺 salamak. 襤lk 繹nceBeikta router覺n覺 konfig羹re edelim.

Beikta router覺 konfigurasyonu
Yukar覺daki konfigurasyonu a癟覺klay覺m.
en(enable): bu komut ile, cisco routerda user moddanprivilaged moda ge癟eriz. User modu standard Windows kullan覺c覺s覺, privilagedmodu Administrator kullan覺c覺s覺 gibi d羹羹nebilirsiniz.
conf t (configure terminal) : conf t komutuile router覺 yap覺land覺rmaya balars覺n覺z. Zaten bu komutu girdikten sonra, komutsat覺r覺nda parantez i癟inde config yazarak, bizim configuration moddaolduumuzu hat覺rlat覺yor.
Hostname besiktas : hostaname komutu ile routera birisim veriyoruz. Ben konfig羹rasyonumda routera besiktas ad覺n覺 verdim.
line vty 0 4 : bu komutla routera balanacak olantelnet istemcileri tan覺mlar覺z.
enable secret kimsebilemez: enable secret komututerminalden balan覺rken sorulacak soruyu belirler.b繹ylelikle router覺n覺z覺ng羹venliini salam覺 olursunuz. Enable secret komutuyla ifreler md5(MessageDigest 5) ile kriptolan覺r. enable secret komutuna alternatif olarak, enablepassword komutunu da kullanabilirsiniz. enable password komutunun, enablesecret komutundan fark覺, ifrelerin clear text olarak iletilmesi vesaklanmas覺d覺r. Bu y羹zden herzaman enable secret kullan覺lmas覺tavsiye edilir.
interface Serial 0 : interface komutu ile router覺ninterfacelerinikonfig羹re etmek i癟in se癟ersiniz. Ben serial 0 adl覺 wan interface e ge癟erek onukonfigur etmeye balad覺m.
ip address : ip address komutuyla interface e IPadresi verirsiniz. rnekte ben ip address 200.100.50.1 255.255.255.224 yazarakWAN IP adresini ve subnetmask numaras覺n覺 verdim.
encapsulation : veriyi nas覺l ve hangi y繹ntemlerleta覺yaca覺m覺z覺 encapsulation protokolleriyle belirleriz. hdlc parametresiylerouter 覺 hdlc ile konfig羹re ediyoruz.
no shutdown : no shut down komutuyla devre d覺覺 olanbir interface i devreye al覺rs覺n覺z. Varsay覺lan olarak t羹m Cisco cihazlar覺n t羹minterfaceleri administratively shutdown, yani devre d覺覺 olarak gelir. Serialinterface de girdiim bu son komut ile, inteface i devreye al覺yorum. Ve hemenard覺ndan da bilgilendirme mesajlar覺 geliyor.
Exit: Bir interface veya moddan 癟覺kman覺z覺 salar.rnekte serial interfaceden exit komutuyla 癟覺kt覺k.
Yine benzer ekilde aa覺daki komutlarla ethernet 0interface ini yap覺land覺rd覺k.

Beikta router 覺 ethernet konfig羹rasyonu
ip route : ip route komutu ile routera staticroute ekleyebilirsiniz. Yukar覺daki 繹rnekte Beiktatan Caddebostan network羹neulamak i癟in, Caddebostan Lan segmentinin network adresi olan 10.1.2.0 ile subnetmask覺 olan 255.255.255.0 girdik. Ard覺ndan, Caddebostan router覺n覺n d覺 interfaceinin ip adresini girdik. B繹ylelikle router, 10.1.2.0 network羹ne gitmesi gerekenpaketleri, 200.100.50.2 adresli Caddebostan router覺na g繹nderecek ve caddebostanrouter覺 bu paketleri i癟 networke route ederek hedefe ulat覺racak.

Caddebostan router 覺 konfigurasyonu
Eer routerlar覺n覺z覺 back-to-back balayacaksan覺z, DCEtaraf覺ndan olan routerda clock rate komutu ile bir frame rate h覺z覺girmelisiniz. rnein clock rate 64000
Aksi halde hatlar UP olmayacak ve birbirleriyle iletiimkurmayacakt覺r.
DTE normalde sizin router覺n覺z, DCE ise TELCO (TelephonyCompany) taraf覺ndaki hat ekipmanlar覺n覺 (Leased Line modemler) temsil edencihazlard覺r. Back-to-back olarak bir konfigurasyon yapt覺覺n覺z zaman,routerlar覺n覺zdan birini DCE olarak konfig羹re etmek zorundas覺n覺z. 羹nk羹 bunuyapmad覺覺n覺z zaman, kablolar覺n sinyal iletim h覺zlar覺 senkronize olmayaca覺 i癟inhat down olacakt覺r. Ve clock rate i bandwidth ile kar覺t覺rmay覺n, birbirleriylefarkl覺 eylerdir. Cisco routerlarda bandwidth , bandwidth komutuyla ayarlan覺r.

ekil 5- DTE ve DCE balant覺.
imdi her iki PCdende birbirlerine ping at覺p, iletiimkurduklar覺n覺 dorulayal覺m :
Caddebostan PC:

ekil6 -Cadde bostanbeiktaa ulaabiliyor.
Beikta PC:

ekil7 - BeiktaCaddebostan a ulaabiliyor.
PPP (Point to Point Protocol)
Point to point protocol (PPP), noktadan noktaya iletiimsalayan, data hatlar覺nda IP 羹zerinden iletim salayan bir encapsulationprotokol羹d羹r. PPP, IP protokol羹 yan覺nda IPX protokol羹 ile de 癟al覺覺r. Hatadenetimi ve authentication yetenekleri vard覺r. Senkron ve asenkronbalant覺larla uyumlu 癟al覺覺r. Dial-up ve xDSL balant覺larda da kullan覺l覺r. PPPCisco proprietary bir encapsulation metodu deil, a癟覺k bir standartt覺r. Buy羹zden kar覺 taraftaki routerlar覺n Cisco olmas覺 art deildir. 襤te PPP繹ylesine y羹ce bir protokold羹r
ncelikle PPP Framelerinin yap覺s覺na bir g繹z atal覺m :

ekil8- PPPFramelerinin yap覺s覺.
PPP 癟ok esnek ve 繹zellikli bir protokold羹r. Bukabiliyetlerini de LCP ve IPCP adl覺 iki protokole bor癟ludur. LCP hatadenetimi, authentication ve multilink destei salar.
Authentication i癟in PAP ( Password Authentication Protocol )ve CHAP (Challange-Handshake Authentication Protocol) protokollerini kullan覺r.PAP, veri iletimi s覺ras覺nda ifreleri clear text olarak g繹nderdiinden daha azg羹venlidir. CHAP ise ifreleri MD5 (Message Digest 5) ile kriptolayarak iletir,bu nedenle daha g羹venli kabul edilir.
Multilink destei ile ayn覺 anda iki hatt覺 kullanarak y羹kdengelemesi yapabilir.
Error detection i癟in LQM ( Link Quality Monitoring ) adl覺bir 繹zellik kullan覺r. LQM, PPP framelerinin ba覺ndaki FCSi (Frame CheckSequence) kontrol ederek bir hata olup olmad覺覺n覺 denetler. Eer framede birhata varsa, hatal覺 frameler drop edilerek tekrar g繹nderilir veya g繹nderilmesiistenir.
imdi PPP ile bir WAN balant覺s覺 olutural覺m. Balant覺kuraca覺m覺z network, ekil 3de HDLC ile konfig羹re ettiimiz network羹n ayn覺s覺olacak, fakat bu sefer PPP ile bu ii ger癟ekletireceiz.

Beikta router PPP konfigurasyonu
Komutlar覺 a癟覺klarsak;
encapsulation ppp : encapsulation ppp komutuylaserial interface i癟in ppp encapsulation覺 etkinletirir. Fakat bu komut tekba覺na yeterli deildir. Devam edelim.
ppp authentication chap : authentication metoduolarak chap protokol羹n羹 etkinletirir. Fakat PPP i癟in bu da yeterli deil…
username caddebostan password ortak : kar覺 taraftakirouterla kimlik dorulamas覺 ger癟ekletirip, veri al覺veriini balatmak i癟insihirli kelimeleri s繹ylemek gerekir. PPP konfig羹rasyonu yap覺l覺rken, usernameolarak kar覺 taraftaki router覺n hostname ini girmek zorunludur. Caddebostanrouter覺nda ise, username alan覺na besiktas yaz覺lmal覺d覺r.
password her iki router i癟inde ayn覺 olmal覺d覺r. Ben bumakalede ifre olarak ortak kulland覺m. Ger癟ek hayatta daha uzun, hat覺rlanmas覺zor ve daha kar覺覺k ifreler vermenizi tavsiye ederim.
no cdp enable : Bu opsiyonel komut Cisco discoveryprotocol羹 devre d覺覺 b覺rak覺r. CDP, 癟al覺t覺覺 bir router veya switchin, fizikselolarak bal覺 bulunduu komu cihazlarla (ki cihazlar覺nda CDP uyumlu olmas覺gerekmektedir) ilgili bir tak覺m bilgileri g繹r羹nt羹ler.
rnein, cihaz覺n t羹r羹 (router, switch??) cihaz覺n model numaras覺,IP adresi, Flash versiyonu, hangi porttan baland覺覺 gibi detaylar.
G羹venlik nedenleriyle CDPnin WAN interfaceler de kapal覺tutulmas覺 繹nerilmektedir. CDPyi sadece gerekli durumlarda devreye al覺n覺z.
Caddebostan router覺n覺n konfigurasyonu :

Caddebostan router konfigurasyonu
Son olarak balant覺mz覺 test edelim;
Besiktas PC

ekil9- Besiktas PCsiCaddebostandaki PCyi pingleyebiliyor.
CaddebostanPC

ekil10- Caddebostan PCsiBeiktadaki PC yi pingleyebiliyor.
PPP Sorun giderme
Cisco IOS (Cisco InternetworkOperating System), bir癟ok debug komutuyla sistemde ger癟ekleen olaylar覺 monit繹redebilir. Bu Windowsdaki event loglara benzetilebilir. B繹yleliklebir sorun varsa bunu debug 癟覺kt覺s覺yla konsoldan, telnet istemcisinden veya 癟覺kt覺lar覺y繹nlendirerek bir syslog serverdan g繹r羹t羹leyebilirsiniz.. Yaln覺z, varsay覺landavran覺 olarak telnet istemcilere debug 癟覺kt覺lar覺 iletilmez. Telnet ilebalan覺rken terminal monitor komutunu kullanarak debug 癟覺kt覺lar覺n覺g繹r羹nt羹leyebilirsiniz.
HDLC ve PPP i癟inde debug 癟覺kt覺lar覺 al覺nabilir.
PPP i癟in debug ppp authentication komutu kullan覺l覺r. Debugppp authentication komutu, pap ve chap authentication hatalar覺n覺 tespitetmenize olanak tan覺r. rnek bir chap authentication hatas覺 :

rnek bir chap authentication debug 癟覺kt覺s覺. Burada birauthentication hatas覺 var.
G繹r羹ld羹羹 gibi PPP ve HDLC ile Leased Line balant覺lar覺oluturmak olduk癟a basit. Cisco network teknolojileriyle ilgili yaz覺lar覺mlayak覺nda tekrar burada olaca覺m. Bu makalemin sonuna gelirken hepinize esenliklerdilerim. Bir sonraki makalemde g繹r羹mek 羹zere.
ISA Server 2004 zerinde Message Screener
ISA Server 2004羹n Exchange ile entegrasyonu exchange server 覺n yay覺nlanmas覺, bata smtp olmak 羹zere pop3 protokollerinin ve owa gibi servislerin kontrol edilmesiyle salan覺r.
ISA Server 2004 smtp trafiini g羹venli hale getirmek i癟in SMTP Message Screener ve SMTP Application filter bileeni sayesinde SMTP yoluyla k繹t羹 niyetli kiilerden gelen spam ,uygulama gibi eklentilerden; buffer-overflow ya da smtp komut sald覺r覺lar覺n覺 繹nleme ama癟l覺 Exchange Server 覺m覺z覺 korumam覺za yarar. Yani k覺sacas覺 g繹nderilen e-posta lar覺n Exchange Server a ulamadan 繹nce ISA Server taraf覺ndan i癟eriinin kontrol edilip gerekli izinlere sahip olup olmad覺klar覺n覺n kontrol羹n羹 yapar. B繹ylece mailin Exchange server a ulamadan 繹nce gerekli kontolleri isa server 羹zerinde yaparak, exchange server 覺m覺z覺n i y羹k羹n羹 hafifletmi oluruz SMTP Trafiinin G羹venlii: 襤nternet 羹zerinden g繹nderilen t羹m mailler smtp protokol羹 kullanarak g繹nderilir. 襤nternet 羹zerinden mail alabilmek i癟in irketinizde dier smtp serverlar taraf覺ndan eriilebilir durumda bir smtp server 覺n覺z覺n olmas覺 gereklidir. Bununla birlikte SMTP hem protokol seviyesinde hem de smtp mesajlar覺 kullan覺larak g繹nderilen verilerin i癟erii anlam覺nda baz覺 zay覺f y繹nlere sahiptir. Buffer-overflow Sald覺r覺lar覺: Bu sald覺r覺 bir program ya da ilemin tampon bellek kapasitesinden daha fazla veriyi depolamaya 癟al覺t覺覺 zaman tetiklenmektedir. Fazladan gelen veri kendine ayr覺lan tampon bellei aarak komu bellek segmentlerine yaz覺lmaya 癟al覺覺ld覺覺nda bu segmentlerdeki dier d羹zg羹n verilerin bozulmas覺na yol a癟ar. Buffer-overflow sald覺rlar覺nda gelen verideki fazlal覺k k覺s覺mdaki baz覺 kodlar belirli bir tak覺m olaylar覺 tetiklemek 羹zere bulunabilir ve bu sayede sald覺r覺 yap覺lan bilgisayara zarar verebilir. Buffer-overflow sald覺r覺lar覺 organizasyonun SMTP Server覺na b羹y羹k SMTP komutlar覺 g繹nderilerek yap覺labilir. Bu t羹rden sald覺r覺lar覺 繹nlemenin en iyi yolu, sald覺r覺 paketlerini perimeter networkte durdurarak hedef al覺nan SMTP servera ulamas覺n覺 engellemektir. SMTP Komut Sald覺r覺lar覺: SMTP Serverlar mesajlar覺n al覺nmas覺n覺 ve g繹nderilmesini salayan komut setini i癟erirler. Sald覺rganlar bu komutlar覺 kullanarak buffer-overflow sald覺r覺lar覺 ger癟ekletirebilir ve 繹nemli dosyalar覺 ele ge癟irebilirler. Bu komutlar覺n boyutlar覺n覺 iyi konfig羹re etmeliyiz. Baz覺 SMTP komutlar覺 se癟imliktir. EXPN ve VRFY gibi baz覺 komutlar d羹zg羹n konfigure edilmezlerse server 羹zerinde bulunan al覺c覺lar覺n listesine eriilmesini salayabilirler. Eer bu komutlara ihtiya癟 duyulmuyorsa Firewall 羹zerinde devre d覺覺 b覺rak覺larak bu komutlar覺n exchange server taraf覺nda kullan覺lmas覺n覺n 繹n羹ne ge癟ilebilir Bu makalemde ISA Server 2004 羹zerinde Message Screener bileeni sayesinde neler yapabileceimizi g繹receiz. ISA Server 2004 uygulama katman覺nda filtreleme salayarak sald覺rganlar覺n buffer-overflow komutlar覺n覺 kullanarak exchange server 癟al覺an bilgisayar覺n覺z覺 devre d覺覺 b覺rakmalar覺n覺 ya da kontrol羹n羹 ele ge癟irmelerini engellemenizi salayacakt覺r. Laboratuvar ortam覺nda internal network id miz 192.168.1.0/24 ve mail server 覺m覺z覺n ip adresi 192.168.1.2

Resim-1
Standart durumda resim-2 de g繹r羹ld羹羹 gibi isa server makinas覺 ile internal network 羹n haberleebilmesi i癟in ve internete 癟覺k覺 i癟in yaz覺lmas覺 gereken kurallar g繹r羹l羹yor. Bunlara ek olarak client program覺n (mesala microsoft outlook) mail server dan mailleri 癟ekebilmesi i癟in pop3, mail g繹nderebilmesi ya da mail server 覺m覺z覺n mail alabilmesi i癟in de smtp publish kural覺n覺n yaz覺l覺yor olmas覺 gerekiyor.

Resim-2
Message Screener uygulamas覺 yapabilmek i癟in, ISA Server kurulumunda message screener bileenini install etmek gerekiyor.

Resim-3
Autorun.exe ye t覺klayarak isa kurulumunu 繹zelletirmek i癟in modify kutucuunu doldurarak ilerliyoruz.

Resim-4
Message Screener bileenin se癟tiimizde hata almam覺z覺n nedeni, ISA Server makinam覺zda smtp servisinin y羹kl羹 olmad覺覺ndand覺r. Add-Remove Windows Components wizard覺n覺 kullanarak smtp servisini y羹kl羹yoruz
Resim-5
Baar覺l覺 bir ekilde smtp servisini y羹kledikten sonra, message screener bileenini install edebiliriz

Resim-6
Bileeni se癟ip next dediimizde art覺k hata mesaj覺 ile kar覺lam覺yoruz ve baar覺l覺 bir ekilde bu bileeni kurmu oluyoruz

Resim-7
Bu bileenimizi y羹klediimize g繹re i癟 networkte ya da perimeter networkte bulunan smtp server 覺m覺za g繹re yeni mail publish kural覺m覺z覺 yazabiliriz. Pop3 server i癟in kural覺 deitirmeye gerek yok ancak gelecek mailler 繹nce baka bir smtp servera g繹nderilecei i癟in smtp server publish kural覺m覺z覺 deitiriyoruz.
Resim-8
Isa Server Management konsolunda\ISA\Configuration\Add-in\Application Filter k覺sm覺nda SMTP Filter 繹zellikliini g繹rebiliriz.
Resim-9
SMTP Filter Properties\Gneral sekmesinde bu filter i enable edip etmeyeceimizi se癟ebiliriz

Resim-10
SMTP Filter Properties \ Keywords sekmesinde e-mail i癟eriklerinde kontrol edecei s繹z dizimlerini salar. Oluturduunuz mesaj覺n konu, g繹vde ya da herikisinde birden anahtar kelime bulunduu zaman uygulanmas覺n覺 salayabiliriz. Message Screener 覺n bu t羹rden mesaj覺 silmesi, tutmas覺 ya da belirli bir posta kutusuna iletmesi i癟in konf羹re edebiliriz. rnek olarak keyword k覺sm覺na bedava kelimesini yaz覺p message subject or body i癟inde aranmas覺n覺 istersek, action olarak da forward message to turker.ata@galatasaray.gs adresini yazarsak; domainimizde herhangi bir hesaba gelen mail i癟inde bedava kelimesi ge癟en her mail ilgili hesaba y繹nlendirilecektir.

Resim-11
SMTP Filter Properties \ User-domain sekmesinde e-mail ini engellemek istediiniz g繹nderenin ad覺n覺 ya da t羹m domain ini ekleyebiliriz. SMTP g繹nderen mail hesab覺n覺 engellenmi senders ya da domains k覺sm覺nda bulursa mesaj覺 silecektir

Resim-12
SMTP Filter Properties \ Attachments sekmesinde Message Screener覺n ekli halde gelen dosyalar覺 nas覺l filtreleyeceini g繹rebiliriz. Ekli halde gelen dosyan覺n ismine, uzant覺s覺na ya da boyutuna g繹re mesaj覺 silmesini, tutmas覺n覺 veya turker.ata@galatasaray.gs adresine forward edilmesini salayabiliriz.

Resim-13
Son olarak SMTP Filter Properties \ SMTP Commands sekmesinde neler yapabileceimize bakal覺m. SMTP serverlar dier serverlar ile balant覺 oluturmak ve mesajlar覺 iletmek i癟in bir SMTP komut setini kullan覺rlar. Bu komutlara verbs (fiiller) denir. SMTP uygulama filtresi de bu komutlar覺 inceleyerek filtreleme ilemi yapar. Aa覺daki resimde kullan覺lan komutlar覺 g繹rebilirsiniz.

Resim-14
Baz覺 SMTP komutlar覺 se癟imliktir. EXPN ve VRFY gibi baz覺 komutlar d羹zg羹n konfigure edilmezlerse server 羹zerinde bulunan al覺c覺lar覺n listesine eriilmesini salayabilirler. Eer bu komutlara ihtiya癟 duyulmuyorsa Firewall 羹zerinde devre d覺覺 b覺rak覺larak bu komutlar覺n exchange server taraf覺nda kullan覺lmas覺n覺n 繹n羹ne ge癟ilebilir. SMTP command lar覺n maksimum length ini editleyebiliriz.imdiye kadar, gelen t羹m mailleri bir baka smtp server a y繹nlendirmeyi belli kurallar 癟er癟evesinde konfig羹re etmi olduk. Peki y繹nlendirdiimiz server taraf覺nda bizi neler bekliyor bu ayarlara bakal覺m.
IIS SMTP servisi y羹kl羹 olan servera geldiimizde default smtp virtual server alt覺nda domain sat覺r覺na geliyoruz.

Resim-15
Domain 羹zerinde sa click new-domain diyerek a癟覺lacak pencerede remote - *.gs, ya da galatasaray.gs, diyerek remote domain imizi oluturuyoruz

Resim-16
Aa覺daki resimde g繹rd羹羹n羹z gibi gelen mailleri g繹ndereceimiz remote domainimiz de olumu oldu.

Resim-17
Son olarak remote domain - properties ile 癟覺kan pencerede ilgili gereken deerleri yazarak, t羹m sistem ayarlar覺n覺 bitirmi oluyoruz. Allow incoming mail to be relayed to this domain iaretlenerek, route domain alt覺ndaki adresi k繹eli parantez i癟inde yazmay覺 unutmay覺n [192.168.1.2] i癟erdeki mail server 覺m覺z覺n adresini yazarak t羹m ayarlar覺 bitirmi oluyoruz

Resim-18
Bu makalemde gelen t羹m mailleri exchange server a direkt olarak iletmeden 繹nce bir baka SMTP Servera belli filtrelerde iletip, Bu SMTP Server 羹zerinden exchange servera relay edilmesini salad覺k. Bunun sayesinde hem d覺 sald覺r覺lardan mail server 覺m覺z覺 koruduk, hem de i y羹k羹n羹 k繹t羹 ama癟l覺 maillerden ar覺nd覺rd覺覺m覺z i癟in hafifletmi olduk. Bir baka makalemde g繹r羹mek 羹zere…
Microsoft SQL Server 2005 ile Veritaban覺 Y繹netimi Alan覺nda Gelen Yenilikler
SQL Server 2000 hem uygulama gelitiriciler, hem de firmalar a癟覺s覺ndan 癟ok 繹nemli kazan覺mlar salayan, rdbms alan覺nda d繹n羹m noktas覺 olarak kabul edebileceimiz bir 羹r羹n olarak hayat覺m覺zda varoldu.. A癟覺ks繹zl羹 olmak gerekirse 27 Ekim 2005 tarihinde MSDN Subscriberlara RTMi da覺t覺lmaya balanan SQL Server 2005 羹r羹n羹n羹 incelediimizde, SQL Server 2000den 2005e ge癟iin 癟ok h覺zl覺 olaca覺n覺 d羹羹nm羹yorum. Ancak 羹r羹n羹 detayl覺 olarak inceledik癟e, SQL Server 2005in uzun vadede Microsoftun rdbms alan覺nda liderliini per癟inleyecek bir 羹r羹n olaca覺 y繹n羹ndeki d羹羹nceme kat覺l覺yor olaca覺n覺zdan eminim. SQL Server 2005in uygulama gelitirme alan覺nda bize sunduu art覺lar覺 ele almadan 繹nce altyap覺da ne gibi deiikliklerin ve yeniliklerin olduunu ele almakta fayda g繹r羹yorum. Dolay覺s覺yla bu dokumanda SQL Server 2005 ile birlikte veritaban覺 y繹netimi alan覺nda gelen yenilikleri veritaban覺 mimarisi ve sotorage engine, veritaban覺 y繹netim ve gelitirme ara癟lar覺 ve s羹reklilik ve veri g羹venlii eklinde 羹癟 ana bal覺k alt覺nda ele al覺yor olaca覺z.
Veritaban覺 Mimarisi ve Storage Engine
Microsoft SQL Server 7 ile gelitirdii mimariyi s羹rekli olarak gelitirdi. Hepimizin bildii ve doruluunu kabul ettii kurala g繹re mevcut donan覺mlar覺n maliyeti d羹erken, g羹c羹 ise her 18 ayda 繹ncekine g繹re iki kat覺na 癟覺k覺yor. SQL Server 2005 ile birlikte Microsoftun 繹ncelikli hedeflerinden biri, veritaban覺 motorunun mevcut donan覺m altyap覺s覺ndan ve gelitirilen Windows Server 2003 (ve sonras覺nda gelecek olan) iletim sisteminden m羹mk羹n olan en fazla oranda faydalanmas覺n覺 salamak. SQL Server 2005 ile birlikte gelen yeni 繹zellikler ve g羹ncellemelerin dier hedefleri ise kurumlar a癟覺s覺ndan y繹netimi daha kolay ve irkete daha 癟ok deer katan bir veritaban覺 motoru oluturmak. Bu b繹l羹mde SQL Server 2005 ile birlikte SQL Server mimarisindeki yenilik ve gelimeleri, kurumumuza ve i s羹re癟lerimize ne gibi art覺lar katabileceklerini de ele alarak inceliyor olaca覺z.
Donan覺m Destei
Donan覺m alan覺ndaki gelimeler ve h覺zla daha d羹羹k seviyelere inan donan覺m maliyetleri, firmalar覺n daha g羹癟l羹 bilgisayar sistemlerine 癟ok daha d羹羹k maliyetlerle sahip olabilmesini m羹mk羹n k覺ld覺. zellikle sunucu alan覺nda 32-bit sistemlerde yaad覺覺m覺z gelimeler ve h覺zla yayg覺nlamaya balayan ve donan覺m alan覺nda bir d繹n羹m noktas覺 olarak nitelendirebileceimiz 64-bit sistemler, donan覺m alan覺ndaki sorunlar覺m覺z覺n neredeyse tamam覺n覺 ortadan kald覺rd覺. Bellek, veritaban覺 performans覺nda her zaman i癟in en kritik unsurlardan biri olmutur. 54-Bit platformunda UNIX tabanl覺 sistemler, non-clustered TPC-C performans testlerinde uzun s羹re liderlii elinde bulundurdu. Ancak SQL Server 2005, ilk 64-Bitlik s羹r羹m羹nde liderlii devrald覺. Performans testlerine bakt覺覺m覺zda, 64-Bit SQL Server 2005in, 64-Bit Windows Server 2003 羹zerinde, Intel Itanium platformunda ger癟ekten 癟ok 癟ok baar覺l覺 sonu癟lar sergilediini g繹r羹yoruz.
64-Bit Destei
SQL Server 2005, Windows Server 2003 for 64-Bit Itanium systems 羹zerinde Intel Itanium ve Itanium2 mikroilemcilerini desteklemektedir. Windows Server 2003 for 64-Bit Extended Systems 羹zerinde ise AMDnin 64-Bit Opteron platformunu ve Intelin Xeon with Intel Extended Memory 64 technology (EMT64 sistemlerini de desteklemektedir. SQL Server 2005, t羹m ana bileenleri (SQL Server Engine, Analysis Services, SQL Agent ve Reporting Services) i癟in hem 32, hem 64-Bit platformlar覺 desteklemektedir. Veritaban覺 altyap覺m覺z覺 64-Bit platformuna ta覺man覺n bize salayaca覺 en 繹nemli kazan覺m her ne kadar daha y羹ksek ilem g羹c羹 olarak g繹r羹nse de ger癟ekte en 繹nemli kazan覺m: artan adreslenebilir bellek oran覺d覺r. ekil 1:1de SQL Server 2005in 32-Bitlik ve 64-Bitlik s羹r羹mleri taraf覺ndan adreslenebilen bellek miktarlar覺n覺n kar覺lat覺rmas覺n覺 g繹rebilirsiniz.
ekil 1:1 :: 32-Bit ve 64-Bit SQL Server 2005in Bellek Adresleme Oranlar覺
32-Bit mimarisi en fazla 4GB bellek adresleyebilmektedir. Windows alt覺nda bu oran iletim sistemi ve uygulamalar aras覺nda paylat覺r覺l覺r. Dier bir deyile 2GB iletim sistemi i癟in rezerve edilirken kalan 2GB uygulamalar覺n kullan覺m覺na tahsis edilmektedir. 32-Bit Windows 羹zerinde yer alan Advanced Windowing Extensions (AWE) desteini kullanarak, 32-Bit SQL Server’覺n 32GB’a kadar bellek adresleyebilmesini salayabilmekteyiz. Her ne kadar bahsettiimiz art覺 yeterli gibi g繹r羹nebilse de, y繹netilebilen bellek sayfalar覺ndaki limit deimi olmuyor. 64-Bit Platformu adreslenebilen bellek miktar覺n覺 32TB’a 癟ekerek bu konudaki s覺k覺nt覺lar覺 uzun bir s羹re i癟in ortadan kald覺r覺yor. u anda neredeyse hi癟 bir yerde bu oranda bellek kullan覺lm覺yor olsa da, SQL Server 2005′in test edildii en y羹ksek bellek miktar覺 512GB’d覺r. Windows Server 2003 i癟in gelecek bir sonraki Service Pack ile birlikte desteklenen en y羹ksek bellek miktar覺n覺n 1TB’a 癟覺kart覺lmas覺 hedefleniyor.
NUMA (Non-Uniform Memory Architecture) Destei
Windows Server 2003′羹 羹st羹n k覺lan yeni 繹zelliklerden biride Non-Uniform Memory Architecture (NUMA) desteidir. NUMA, IBM ve Unisys gibi baz覺 sistem 羹reticileri taraf覺ndan kullan覺lan ve 癟ok ilemcili sistemlerde ilemci ve bellek kullan覺m覺n覺 SMP (Symmetric Multiprocessing) mimarisine g繹re 癟ok daha etkin bir ekilde y繹neten bir mimaridir. Standart SMP sistemlerde ilemcilerin h覺z覺 ve say覺s覺 artt覺k癟a, ilemciler aras覺nda bellee erime ama癟l覺 yaanan rekabet gereksiz younlua neden olur. Bu da doal olarak baz覺 gecikmelere neden olur. Bunun sonucunda SMP sistemler ilemci say覺s覺n覺n art覺覺yor orant覺l覺 olarak esneklik g繹steremezler. NUMA mimarisi SMP sistemlerde yaanan bu sorunlar覺, ilemcilerin RAM 羹zerindeki verilere, RAM ve BUS’覺n salayabileceinden 癟ok daha h覺zl覺 olarak erimesine olanak tan覺yarak ortadan kald覺rmak amac覺yla tasarlanm覺t覺r. NUMA mimarisi ilemci ve bellei 癟oklu ilemcilerden oluan yerel gruplara ay覺r覺r. Bu gruplar birbirlerine, gruplar aras覺 veri trafiinin aktar覺ld覺覺 harici bus’lar ile bal覺d覺r. Bu grup s覺ralama mimarisi, bellee erimek i癟in yar覺acak ilemcilerin say覺s覺n覺 limitleyerek SMP sistemlerde yaanan ilemciler aras覺 rekabetin 繹n羹n羹 kesmektedir. NUMA mimarisinin art覺lar覺ndan en fazla oranda faydalanmak i癟in hem iletim sistemi, hem de uygulamalar gruplar aras覺 veri trafiini en aza indirgeyecek ve grup i癟i eriimi artt覺racak, h覺zland覺racak ekilde tasarlanmal覺d覺r. Eer iletim sistemi ve uygulama doru olarak tasarlan覺rsa, NUMA mimarisi ilemci say覺s覺n覺n art覺覺na orant覺l覺 olarak esneklik salayacakt覺r. Windows Server 2003 ve SQL Server 2005 mimari gelimeleri b羹nyelerinde birletirerek ilemci ve bellekten en y羹ksek oranda faydalanmam覺z覺 salayacak ekilde tasarlanm覺lard覺r.
Hyper-Threading Destei
SQL Server 2005 ayn覺 zamanda Microsoft’un Windows Server 2003′e ekledii hyper-threading destei ile hyper-threading’in sunduu avantajlardan da faydalanabilmektedir. Hyper-Threading, Intel taraf覺ndan gelitirilen ve sistem 羹zerindeki her bir fiziksel ilemci i癟in iki mant覺ksal ilemci oluturan bir teknolojidir. Her bir mant覺ksal ilemci ezamanl覺 olarak farkl覺 thread’leri ileyebilme yeteneine sahiptir. Hyper-Threading’in as覺l hedefi multithreading uygulanm覺 uygulamalarda veya ayn覺 makina 羹zerinde 癟al覺an birden 癟ok say覺da uygulamaya daha iyi kaynak ayr覺m覺n覺n daha verimli yap覺lmas覺n覺 salamakt覺r.
SQL Server 2005, Windows Server 2003′羹n Hyper-Threading desteinden iki ekilde faydalanmaktad覺r. 襤lk olarak, Windows 2000′in aksine, Windows Server 2003 fiziksel ilemcileri sadece lisanslama amac覺yla saymaktad覺r. Boylece hyper-threading kullanan bir ilemci, iki yerine bir ilemci olarak say覺l覺yor. Windows Server 2003, hyper-threading kullanan sistemlere y繹nelik gelimi thread scheduling destei sunmaktad覺r. Bu deiiklikler SQL Server gibi multithread uygulamalarda 癟ok daha iyi performans sonu癟lar覺 alabilmemizi sal覺yor.
SQL Server Engine
襤lk b繹l羹mde SQL Server 2005 ile gelen donan覺m desteine biraz daha geni a癟覺dan bakt覺k. Bu b繹l羹mde ise SQL Server veritaban覺 motorundaki yeniliklere daha detayl覺 bak覺yor olaca覺z.
.NET Framework Entegrasyonu
SQL Server 2005 ile birlikte gelen en 繹nemli yeniliklerin ba覺nda Microsoft .NET Framework entegrasyonu ve salad覺覺 avantajlar geliyor diyebiliriz. .NET Framework entegrasyonu SQL Server 2005′in esnekliini stored procedure, user-defined function, trigger, aggregate ve user-defined type’lar覺n, visual basic, c# veya j# gibi bir .NET dili ile gelitirilmesini m羹mk羹n k覺larak artt覺rmaktad覺r. Sonraki b繹l羹mlerde bu entegasyonun 癟ok daha derin ve detayl覺 olduunu g繹receiz.
Gelitirilmi oklu Instance Destei
SQL Server 2005 Enterprise Edition’da bulunan bir dier yenilik ise ayn覺 anda 癟al覺t覺r覺labilecek instance say覺s覺n覺n 50′ye kadar artt覺r覺labiliyor olmas覺. SQL Server 2000′de ezamanl覺 instance destei 16 ile s覺n覺rl覺yd覺.
Yeni Veri T羹rleri
SQL Server 2005 pek 癟ok yeni veri t羹r羹n羹 desteklemektedir. .NET Framework entegrasyonu kullan覺c覺 tan覺ml覺 t羹rlerin gelitirilmesini salarken, varbinary(max) ve XML t羹r羹nde yeni veri t羹rlerini de desteklemektedir. Varbinary(max) beri t羹r羹 SQL Server’da LOB’lar覺n kullan覺m覺 i癟in yeni bir metod sunmaktad覺r. Image ve Text veri t羹rlerinin aksine varbinary(max) veri t羹r羹 bir deiken olarak kullan覺labilir ve daha kolay ve tutarl覺 ilem yapmak i癟in daha k羹癟羹k veri t羹rleri gibi ilem yap覺labilir.
Yeni XML veri t羹r羹 varbinary(max) veri t羹r羹ne dayanmaktad覺r ve XML dokumanlar覺n覺 veritaban覺nda saklamam覺za imkan verir. XML veri t羹r羹, XML format覺ndaki verilerin h覺zl覺 ve kolayca saklanmas覺 ve kullan覺lmas覺n覺 salamak amac覺yla gelitirilmi ve XML dokumanlar覺n覺n schema ile dorulanmas覺na olanak vermektedir. SQL Server 2005′te yer alan XML ve dier veri t羹rlerini ileriki b繹l羹mlerde ele al覺yor olaca覺z.
Database Snapshot’lar覺 ve Mirroring
Database Mirroring veritaban覺 seviyesinde sunulan ve s羹reklilii artt覺rmak, salamak i癟in SQL Server 2005 taraf覺ndan desteklenen t羹m donan覺mlar ile uyumlu 癟al覺an bir 繹zelliktir. Database Mirroring i癟in primary server ve mirrored server aras覺nda bir payla覺ma gereksinim ve herhangi bir uzakl覺k limiti bulunmamaktad覺r. Database Mirroring, transaction log’lar覺n覺 primary ve mirrored sunucu aras覺nda ileterek 癟al覺maktad覺r, bu yap覺s覺ndan dolay覺 Database Mirroring 繹zelliini ger癟ek-zamanl覺 bir log-shipping uygulamas覺 olarak kabul edebiliriz. Database Mirroring tek bir veritaban覺 ile kullan覺labilecei gibi, 癟ok say覺da veritaban覺 ile de kullan覺labilir.
Database Snapshot’lar覺 veritaban覺n覺n istenilen bir an覺na y繹nelik read-only fotoraf覺n覺 verirler. Database Snapshot’lar覺 raporlama ama癟l覺 bir veritaban覺n覺n istenilen zamana ait bir kopyas覺n覺 oluturmak veya istenilen zamanda roll-back yapmak i癟in belirli bir anda yedek almak ama癟l覺 kullan覺labilirler. Database Snapshot’lar覺, Database Mirroring ile bir arada kullan覺larak mirrored server 羹zerindeki verilere dayanan bir reporting server oluturmak i癟in kullanabilmekteyiz. Mirrored sunucu 羹zerindeki veri, bu sunucunun her zaman recovery mode’da olmas覺ndan dolay覺 dorudan eriilebilir deildir ancak Mirrored database 羹zerinde bir Database Snapshot yaratarak bu verileri (read-only olarak) raporlama amac覺yla kullanabiliriz.
Native HTTP Destei
SQL Server 2005 ile birlikte gelen en 繹nemli yeniliklerden biri de SQL Server Engine’e eklenen native HTTP desteidir. SQL Server’覺n gelen HTTP taleplerini ileyebilmesi, SQL Server’a stored procedure’leri ve SQL ifadelerini SOAP protokol羹n羹 kullanarak 癟al覺t覺rabilmesi anlam覺na geliyor. Bu ayn覺 zamanda SQL Server 2005′in, IIS olmadan web servis taleplerini kar覺layabilmesi anlam覺na geliyor. SQL Server ayn覺 zamanda endpointler i癟in web servislerini WSDL olarak yay覺nlama yeteneine sahiptir. SQL Server’覺n HTTP 繹zellii hem Windows hem de SQL Server authentication’覺, SSL ile birlikte desteklemektedir. Bu 繹zelliin art覺lar覺n覺 繹zellikle uygulama gelitiriciler i癟in daha da artt覺rmak i癟in stored procedure’ler sonu癟 k羹melerini ADO.NET dataset’leri olarak d繹nd羹rebilme imkan覺n覺 sunmaktad覺r.
Sunucu Olaylar覺 ve DDL Trigger’lar覺
SQL Server 2005 ile birlikte gelen Sunucu Olay ve Trigger 繹zellikleri, sistemdeki deiikliklere kar覺 nas覺l kar覺l覺k verileceini programatik olarak belirlememizi m羹mk羹n k覺lmaktad覺r. Bu iki 繹zellikte benzer iler yap覺yor gibi g繹r羹nse de, sunucu taraf覺nda ilemleri farkl覺 ekillerde ger癟ekletiriyorlar. Standart DML trigger’lar覺nda olduu gibi, DDL trigger’lar覺 da stored procedure’leri 癟al覺t覺ran senkronize olaylard覺r.
Sunucu olaylar覺 ise asenkrondur. Sunucu olay modelinde sunucu SQL Server Broker Service’e bir olay g繹nderir. Olayla ilgilenen bu olaya sonradan ba覺ms覺z olarak eriebilir. Olay XML format覺nda kaydedilir. Bir olay覺 geri alma imkan覺 yoktur ancak kimsenin o olaya erimemesi durumunda ignore edilir. Olay ger癟ekletiinde sizi olay覺n veya opsiyonel olarak bir kodun 癟al覺t覺r覺ld覺覺ndan haberdar edebilecek sistem olay覺 tetiklenir. Aa覺daki kod bir event notification oluturulurken kullan覺lacak s繹z dizimini 繹rneklemektedir:
CREATE EVENT NOTIFICATION MyDDLEvents
ON SERVER FOR DDL_STATEMENTS TO SERVICE MyDDL_log
Bu kod yeni bir event oluturup “MyDDLEvents” eklinde isimlendiriyor daha sonra oluturduu olay覺 DDL statement ile ilikilendiriyor. TO SERVICE ifadesi MYDLL_log adl覺 SQL Server Broker Servisinin bu olay覺n al覺c覺s覺 olduunu belirtiyor. SQL Server Broker Servisini ilerleyen b繹l羹mlerde detayl覺 olarak ele al覺yor olaca覺z.
Veritaban覺 Veri Dosyas覺ndaki Yenilikler
SQL Server 2005, ALTER DATABASE komutu arac覺l覺覺yla veritaban覺n覺n log ve veri dosyas覺n覺n yerlerini deitirme imkan覺 sunuyor. SQL Server 2000 tempdb veritaban覺 i癟in dosyalar覺n覺 ta覺maya izin veriyordu ancak dier veritabanlar覺 i癟in izin verilmiyordu. Tahmin edebileceiniz 羹zere SQL Server 2005 dosyalar覺n ta覺nmas覺n覺 sadece offline bir ilem olarak m羹mk羹n k覺l覺yor. Aa覺daki 繹rnek, veritaban覺 dosyalar覺n覺n yerini deitirmeyi salayan ALTER DATABASE komutunun s繹zdizimini g繹stermektedir:
ALTER DATABASE <database_name>
MODIFY FILE(name=<’veri_dosyasinin_adi’>, filename=<’yeni_veritabani_dosyasi_yolu’>)
Data Partitioning
SQL Server 2005′te yer alan bir dier 繹zellikse veri b繹l羹mlendirmedir. Veri b繹l羹mlendirme tablo veya index gibi tek bir veritaban覺 nesnesini birden 癟ok b繹l羹me ay覺rma imkan覺 vermektedir. Veri b繹l羹mlendirme 繹zelliinin 繹ncelikli hedefi, 癟ok b羹y羹k tablo ve indexleri y繹netmeyi daha kolay hale getirmektir. B繹l羹mlendirme, uygulamalar taraf覺ndan alg覺lanamamaktad覺r. Uygulama 癟al覺覺rken sadece tek bir tablo g繹rmekte ve SQL Server taraf覺ndan y繹netilen alt b繹l羹mlerden asla haberdar olmamaktad覺r. B繹l羹mler, veritaban覺n覺n s羹rekliliini etkilemeden oluturulabilir ve silinebilirler. Ek olarak partitioning verileri, bir uygulama taraf覺ndan kullan覺l覺rken dahi uygulamay覺 etkilemeden b繹l羹mlendirmenize olanak tan覺maktad覺r. ekil 1.1 b繹l羹mlendirmenin yap覺s覺n覺 basit癟e 繹rneklemektedir.
ekil 1.1 :: Veri B繹l羹mlendirme
SQL Server 2005 tablolar, indexler ve indexlenmi view’lar i癟in veri b繹l羹mlendirmeyi desteklemektedir. Sat覺r, veri b繹l羹mlendirmenin en temel eleman覺d覺r. B繹l羹mler, sat覺rlar覺n alanlar覺nda bulunan deerlere g繹re oluturulabilir. Bu ilem, horizontal partitioning olarak adland覺r覺lmaktad覺r. rnein bir tablo, her y覺l i癟in bir b繹l羹m olacak ekilde tarihe g繹re b繹l羹mlendirilebilir.
Veri b繹l羹mlendirme 癟ok b羹y羹k veritabanlar覺nda (Very Large Databases - VLDBs) baz覺 繹nemli avantajlar salamaktad覺r. Veri b繹l羹mlendirme, verilerin y繹netimini kolaylat覺rmaktad覺r. rnein tarihe g繹re b繹l羹mlendirilmi b羹y羹k bir tabloda 繹nceki y覺llar覺 hari癟 tutarak sadece bu y覺l覺n yedeini almak isteyebilirsiniz. Bir dier avantaj ise 癟ok ilemcili sistemlerde daha y羹ksek performans i癟in hangi b繹l羹m羹n, hangi ilemci taraf覺ndan ileneceini belirtebilirsiniz.
Veri b繹l羹mlendirmeyi ger癟ekletirmek i癟in atmam覺z gereken iki basit ad覺m vard覺r. 襤lk olarak hangi nesneyi, ne ekilde b繹l羹mlendireceimizi belirlememiz gerekir. 襤kinci olarak her bir b繹l羹m i癟in fiziksel bir depolama lokasyonu belirtmemiz gerekir. Farkl覺 b繹l羹mler, tek bir dosya grubuna atanabilir veya farkl覺 dosya gruplar覺 tan覺mlanabilir.
Aa覺daki 繹rnek basit bir partition function oluturmay覺 ve tabloyu bir Range Partition kullanarak b繹l羹mlendirmek 羹zere planlamay覺 繹rneklemektedir:
CREATE PARTITION FUNCTION MyPF
(int) AS RANGE LEFT FOR VALUES (50, 100)
GO
CREATE PARTITION SCHEME MyPS
AS PARTITION MyPF TO (FileGroup1)
GO
CREATE TABLE MyTable (col1 int, col2 varchar(50))
ON MyPS(col1)
GO
襤lk sat覺r MyPF adl覺 bir partition oluturuyor. int, b繹l羹mlendirmenin int t羹r羹nde tan覺mlanm覺 bir s羹tuna g繹re yap覺laca覺n覺 belirtiyor. RANGE keyword’u Range b繹l羹mlendirmenin uygulanaca覺n覺 belirtiyor. LEFT keyword’u kesin olmayan deerlerin hangi partition’da saklanaca覺n覺 belirtiyor. VALUES ifadesi b繹l羹mler i癟in s覺n覺r deerleri belirtmek i癟in kullan覺l覺yor. Bu deerlerin s覺n覺r deerleri olduunu ve b繹l羹mlendirilmediklerini unutmamakta fayda var. Bu komut 3 b繹l羹m羹n olumas覺 ile sonu癟lanacakt覺r. 襤lk b繹l羹m negatif deerleri ve 50′ye kadar olan pozitif deerleri, ikinci b繹l羹m 51 ile 100 aras覺ndaki deerleri, 羹癟羹nc羹 b繹l羹m ise 101′den b羹y羹k deerleri i癟erecektir.
襤kinci sat覺r, MyPS adl覺 bir b繹l羹m emas覺 oluturuyor. AS PARTITION ifadesi ise bu ema taraf覺ndan kullan覺lacak olan b繹l羹m fonksiyonunu belirtmekte kullan覺l覺yor. Bu 繹rnek MyPF adl覺 b繹l羹m fonksiyonunu kullan覺yor. TO ifadesi b繹l羹mlerin kaydedilecei dosya grubunu veya gruplar覺n覺 belirtmekte kullan覺l覺yor. Bu 繹rnek FileGroup1 adl覺 tek bir dosya grubunu kullan覺yor.
Daha sonra, b繹l羹m emas覺n覺n b繹l羹mlendirilecek tablo ile ilikilendirilmeis gerekiyor. Bu 繹rnek tablonun b繹l羹mlendirilmesine olanak tan覺yan extended CREATE TABLE s繹zdizimini g繹stermektedir. CREATE TABL ifadesinin ilk b繹l羹m羹 ayn覺. Tablo ad覺n覺 (bu 繹rnekte MyTable) ve s羹tunlar覺 belirtiyor. rnek tablomuz col1 ve col2 adl覺 iki s羹tun i癟eriyor. Yeni gelen ON keywordu kullan覺lacak b繹l羹m emas覺n覺 belirtmekte kullan覺l覺yor. Bu 繹rnekte az 繹nce oluturduumuz MyPS emas覺 kullan覺l覺yor. B繹l羹mlendirme’de kullan覺lacak verileri i癟eren s羹tun parantez i癟inde yaz覺l覺yor. Bu 繹rnekte kulland覺覺m覺z s羹tun: col1. col1 s羹tununun veri t羹r羹 int t羹r羹nde. Se癟ilen s羹tunun veri t羹r羹, b繹l羹mlendirme fonksiyonunda belirtilen veri t羹r羹 ile ayn覺 olmal覺d覺r.
B繹l羹mlendirmede kullan覺lacak s羹tunlar覺n sahip olabilecei veri t羹rleri konusunda baz覺 k覺s覺tlamalar s繹z konusudur. Bu k覺s覺tlamalar, index tan覺mlarken s繹z konusu k覺s覺tlamalara olduk癟a benzemektedir. Text, ntext ve image veri t羹rleri kullan覺lam覺yor. Ayn覺 ekilde timestamp s羹tunlarda partitioning key olarak belirtilemiyor. Sadece native T-SQL veri t羹rleri partitioning key tan覺mlamalar覺nda kullan覺labilmektedir. Her bir tablo i癟in 1000 b繹l羹m 羹st s覺n覺r覺 ve t羹m b繹l羹mlerin tek bir node 羹zerinde bulunmas覺 zorunluluu mevcuttur.
Index Alan覺ndaki Yenilikler
SQL Server 2005, indexlerde de pek 癟ok yenilik getiriyor. 襤lk olarak, art覺k bir clustered index’in rebuild edilmesi, t羹m non-clustered index’lerin rebuild edilmesini gerektirmiyor. SQL Server 2000′de, bir clustered index’i rebuild ettiimiz zaman, t羹m ilgili non-clustered index’ler de rebuild ediliyordu. SQL Server 2005, non-clustered index’lerin hasar g繹rmesini engelledii i癟in bu indexlerin rebuild edilmesi gerekmiyor.
襤kinci olarak, yeni gelen “included columns” 繹zellii, non-key s羹tunlar覺n da bir index’e eklenmesine olanak tan覺yor. Bu yeni 繹zellik daha 癟ok sorgunun index taraf覺ndan kapsanmas覺na ve b繹ylece SQL Server Engine’in sorguyu tamamlamak i癟in tabloya gitmesi ihtiyac覺n覺 ortadan kald覺rarak sorgu performans覺n覺n ve h覺z覺n覺n artmas覺na neden oluyor. Bu 繹zelliin en iyi yanlar覺ndan biride, index’e dahil edilen ve anahtar覺n bir b繹l羹m羹 olmayan s羹tunlar, hala 900 byte olan index 羹st s覺n覺r覺na dahil edilmiyor olmas覺.
SQL Server 2005 ile gelen bir dier yenilikse index’lerin disable edilebiliyor olmas覺. Bir index’in disable edilmesi, bu index’in kullan覺lmas覺n覺 ve SQL Server Engine taraf覺ndan ilemlerde dikkate al覺nmas覺n覺 engelliyor. Bir index disable edildiinde, SQL Server index i癟in rezerve edilen alan覺 serbest b覺rak覺r ancak index’in metadata’s覺n覺 saklar. Disable edilen index’in yeniden aktif duruma getirilebilmesi i癟in, ALTER INDEX komutu ile rebuild edilmesi gerekir.
Online Index 襤lemleri
SQL Server’覺n 繹nceki s羹r羹mleri, index’e rebuild s羹recindeyken erimeye imkan vermiyordu. Tablo’nun yeniden update edilebilir olmas覺 i癟in rebuild s羹recinin tamamlanmas覺n覺 beklememiz gerekiyordu. SQL Server 2005′in online index ilemleri 繹zellii, uygulamalar覺n index rebuild s羹recindeyken, tablo 羹zerinde insert, update ve delete gibi ilemler yaparak index’e eriebilmelerine olanak tan覺yor. Bu konuyu da ilerleyen b繹l羹mlerde detayl覺 olarak ele al覺yor olaca覺z.
System Catalog ve Metadata Konular覺ndaki Yenilikler
SQL Server 2000 ve daha 繹nceki s羹r羹mlerde, sistem katalou ve metadata, master veritaban覺nda her veritaban覺n覺n bir par癟as覺 olarak saklan覺yordu. SQL Server 2005 ile birlikte metadata sistem taraf覺ndan sys ad覺nda bir nesne olarak kaydedilen resource veritaban覺nda saklanmaya balad覺. SQL Server 2005 ile art覺k birlikte sistem veritabanlar覺na dorudan eriemiyoruz. Bu deiiklik daha y羹ksek g羹venlik ve daha h覺zl覺 sistem g羹ncellemeleri salamak amac覺yla getirildi. Catalog metadata’s覺n覺n g羹venlii row-level filtreler ile salanm覺t覺r. SQL Server 2005′te G羹venlik alan覺ndaki yenilik ve gelitirmeleri ilerleyen b繹l羹mlerde detayl覺 olarak ele al覺yor olaca覺z.
Yeni metadata, Microsoft taraf覺ndan dokumante edilmemi olan ve kullan覺lmamas覺 konusunda uyar覺da bulunduu sistem tablolar覺n覺 kullanmad覺覺n覺z s羹rece tamamen backward compatible’d覺r. SQL Server 2005′te sistem metadatas覺, 癟eitli catalog view’lar覺 taraf覺ndan sunulmaktad覺r. Catalog view’lar覺, ANSI INFORMATION_SCHEMA view’lar覺, property fonksiyonlar覺 ve built-in fonksiyonlar ile birlikte, sistem veritaban覺 ve tablolar覺na dorudan eriim ihtiyac覺n覺 tamamen ortadan kald覺rmaktad覺r. Toplamda 250nin 羹zerinde catalog view’覺 bulunmaktad覺r ve bu view’lar her kullan覺c覺 veritaban覺n覺n sys emas覺ndan g繹r羹nt羹lenebilir. Yeni sistem view’lar覺n覺 Microsoft SQL Server Manager Studio’da, Object Browser’覺 a癟arak, ilgili veritaban覺na -> views -> system views node’una giderek bulabilirsiniz. Ayn覺 zamanda yeni bir sorgu ekran覺 a癟arak aa覺daki kod ile de g繹r羹nt羹leyebilirsiniz.
select * from sys.system_views
Multiple Active Results Sets (MARS)
SQL Server’覺n 繹nceki s羹r羹mleri her bir balant覺da sadece bir sonu癟 k羹mesini destekliyordu. SQL server 2005 tek bir balant覺da birden 癟ok sonu癟 k羹mesini destekliyor. Bu 繹zellik, veritaban覺na tek bir balant覺 a癟arak bir sorgu 癟al覺t覺rma, sonu癟 k羹mesi 羹zerinde 癟al覺ma, sonras覺nda bir baka sorgu daha 癟al覺t覺rarak sonu癟 k羹mesi 羹zerinde 癟al覺maya devam edebilme imkan覺 sal覺yor. Bunun uygulamalar a癟覺s覺ndan sunduu avantaj ise, uygulaman覺n oluan sonu癟 k羹melerinin t羹m羹ne eriebiliyor ve ilem yapabiliyor olmas覺d覺r.
Bulk Data Loading
SQL Server 2005 bulk data loading 繹zelliinde, 繹nemli bir performans art覺覺 ile birlikte pek 癟ok yenilik sunuyor. Bulk Data Loading 繹zellii art覺k XML tabanl覺 bir dosya kullanarak Bulk Copy programlar覺n覺n format dosyas覺n覺n salad覺覺 t羹m 繹zellikleri sunuyor. Ek olarak BCP’nin XML format覺nda ilem yapmas覺, dosyalar覺n daha kolay okunabilmesini ve anla覺labilmesini sal覺yor. nceki uygulamalar ile uyumluluu salamak i癟in eski BCP format覺 halen desteklenmektedir.
SQL Server 2005′in bulk data loading prosesi art覺k hatal覺 sat覺rlar覺n kayd覺n覺 tutma 繹zelliini salamaktad覺r. Bu, y羹kleme ileminin hata ile kar覺la覺lmas覺 durumunda da devam edebilmesini salamaktad覺r. Hatal覺 olarak formatlanm覺 kay覺tlar bir hata kay覺t dosyas覺na kaydedilmektedir. S覺n覺rlara uymayan sat覺rlar ise hata durumuna bal覺 olarak spesifik bir hata tablosuna y繹nlendirilirler.
Full-Text Search
SQL Server 2005′te Full-Text Search 繹zellii de gelitirilmitir. SQL Server’覺n Full-Text Search 繹zellii ile birlikte 癟al覺abilmemiz i癟in SQL Server 2005′e pek 癟ok yeni DDL ifadesi eklenmitir. Yeni DDL ifadelerine, CREATE FULLTEXT CATALOG ve CREATE FULLTEXT INDEX ifadelerini 繹rnek olarak verebiliriz.
SQL Server 2005′te Full-Text Search 繹zelliinde ger癟ekletirilen yenilikler, Full-Text Search kataloglar覺n覺n ve indexlerin yedeklenebilmesi ve geri y羹klenebilmesini, Full-text kataloglar覺n ilgili veritabanlar覺na attach ve detach edilebilmesini ve thesaurus kullanarak e anlaml覺 kelimelerle yap覺lan aramalar覺 bulma desteini kapsamaktad覺r.

