{"id":157,"date":"2008-12-19T06:47:00","date_gmt":"1970-01-01T00:00:00","guid":{"rendered":"http:\/\/www.yazilimmutfagi.com\/?p=157"},"modified":"2008-12-19T06:47:00","modified_gmt":"1970-01-01T00:00:00","slug":"sql-server-2008-integration-services-genel-bakis","status":"publish","type":"post","link":"https:\/\/www.yazilimmutfagi.com\/index.php\/2008\/12\/19\/sql-server-2008-integration-services-genel-bakis\/","title":{"rendered":"SQL Server 2008 Integration Services &#8211; Genel Bakis"},"content":{"rendered":"<p style=\"text-indent: 35.4pt;\"><span style=\"color: black;\"><span style=\"font-size: small;\"><span style=\"font-family: Times New Roman;\">Integration Service yaygin olarak veri ambari (datawarehouse) uygulamalarinda farkli veya ayni tipteki veri kaynaklari arasinda verilerin tasinmasi ve d&ouml;n&uuml;st&uuml;r&uuml;lmesi islemlerini yapabilecegimiz bir platformdur. Bu islemler extraction, transformation ve loading diye adlandirilir. Bazi kaynaklarda ETL kisaltmasi ile karsilasabiliriz bu kisaltma; Extraction transformation and loading kelimelerinin bas harflerinden olusmaktadir. <\/span><\/span><\/span><\/p>\n<p style=\"text-indent: 35.4pt;\"><a href='www.yazilimmutfagi.com'>.<\/a><\/p>\n<p style=\"text-indent: 35.4pt;\"><span style=\"color: black;\"><span style=\"font-size: small;\"><span style=\"font-family: Times New Roman;\">Integration Service paket hazirlama ve hata ayiklama i&ccedil;in grafiksel ara&ccedil;lar ve sihirbazlar i&ccedil;erir. Bu sihirbazlar ile ftp islemleri, e-posta g&ouml;nderme, SQL ifadelerini &ccedil;alistirma, veri toplama ve y&uuml;kleme islemleri, data temizleme gibi islemlerin yani sira aggregating, birlestirme kopyalama gibi transformation islemlerini de yapabiliriz.<\/span><\/span><\/span><\/p>\n<p style=\"text-indent: 35.4pt;\"><span style=\"color: black;\"><span style=\"font-size: small;\"><span style=\"font-family: Times New Roman;\"><span style=\"\">&nbsp;<\/span>Bu makalemizin amaci Integration Service e giris yapmaktir. Ileriki makalelerimizde nasil kullanildigina dair detayli &ouml;rnekler verecegiz.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: black;\"><span style=\"font-size: small;\"><span style=\"font-family: Times New Roman;\">Bazi kisaltmalar (Makalemizde bizde bu kisaltmalari kullanacagiz):<\/span><\/span><\/span><\/p>\n<p><span style=\"font-size: small;\"><span style=\"font-family: Times New Roman;\"><strong style=\"\"><span style=\"color: black;\">BI<\/span><\/strong><span style=\"color: black;\">: Business Intelligent (Is Zek&acirc;si)<\/span><\/span><\/span><\/p>\n<p><span style=\"font-size: small;\"><span style=\"font-family: Times New Roman;\"><strong style=\"\"><span style=\"color: black;\">SSIS<\/span><\/strong><span style=\"color: black;\">: SQL Server Integration Services<\/span><\/span><\/span><\/p>\n<p><strong style=\"\"><span style=\"color: black;\"><span style=\"font-size: small;\"><span style=\"font-family: Times New Roman;\">Paketlerin Temel Unsurlari<\/span><\/span><\/span><\/strong><\/p>\n<p style=\"text-indent: 35.4pt;\"><span style=\"color: black;\"><span style=\"font-size: small;\"><span style=\"font-family: Times New Roman;\">Bu kisimda paketlerin temel komponentlerinin tanimini yapmaya &ccedil;alisacagiz. Paketler SSIS&rsquo; da data extract, transform ve load &ouml;zelliklerini i&ccedil;eren bir nesnedir. Yeni bir paket olusturmak i&ccedil;in BI Development Studio i&ccedil;erisindeki SSIS Designer kullaniyoruz. BI Development Studio yu kurmak i&ccedil;in SSIS&rsquo;i kurmak yeterlidir. Eger bilgisayarinizda. NET kurulu ise SSIS kurdugunuzda Dot NET i&ccedil;inde New Project ekraninda yeni bir proje tabi gelir. BI Development Studio da aslinda ayni yere referans etmektedir. BI Development Studio kullanmak i&ccedil;in Dot NET in kurulu olmasi gerekmez, SSIS kurdugunuzda Dot NET de BI projeleri i&ccedil;in gerekli olan b&ouml;l&uuml;m otomatik olarak kurulur.<\/span><\/span><\/span><\/p>\n<p style=\"text-indent: 35.4pt;\"><span style=\"color: black;\"><span style=\"font-size: small;\"><span style=\"font-family: Times New Roman;\">Temel bir paket asagidaki elemanlari i&ccedil;erir:<\/span><\/span><\/span><\/p>\n<p><strong style=\"\"><span style=\"color: black;\"><span style=\"font-size: small;\"><span style=\"font-family: Times New Roman;\">Control flow element<\/span><\/span><\/span><\/strong><\/p>\n<p style=\"text-indent: 35.4pt;\"><span style=\"color: black;\"><span style=\"font-size: small;\"><span style=\"font-family: Times New Roman;\">Her pakette en az bir control flow elementi olmak zorundadir. Control flow temel olarak tasks (g&ouml;revler), containers (tasiyici) ve precedence constraints(control flow i&ccedil;indeki elemanlarin &ccedil;alisma sirasini belirler) elementlerinden olusur. <\/span><\/span><\/span><\/p>\n<p style=\"text-indent: 35.4pt;\"><span style=\"color: black;\"><span style=\"font-size: small;\"><span style=\"font-family: Times New Roman;\">Asagidaki diyagram alti task ve bir container elementi i&ccedil;eren bir control flow &ouml;rnegidir. Tasklardan besi paket d&uuml;zeyinde tanimlanmisken bir tanesi container i&ccedil;erisinde oldugu i&ccedil;in container d&uuml;zeyinde tanimlanmistir.<\/span><\/span><\/span><\/p>\n<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" style=\"border-collapse: collapse;\" class=\"MsoTableGrid\">\n    <tbody>\n        <tr style=\"\">\n            <td valign=\"top\" width=\"253\" style=\"border: medium none rgb(240, 240, 240); padding: 0cm 5.4pt; width: 189.7pt; background-color: transparent;\">\n            <p style=\"margin: 0cm 0cm 0pt; line-height: normal;\" class=\"MsoNormal\"><span style=\"font-size: 12pt; color: black; font-family: &quot;Times New Roman&quot;,&quot;serif&quot;;\"><img decoding=\"async\" loading=\"lazy\" height=\"212\" width=\"230\" alt=\"\" src=\"http:\/\/www.yazilimmutfagi.com\/Makale\/Img\/1_3_resim1.gif\" \/><\/span><\/p>\n            <\/td>\n            <td valign=\"top\" width=\"361\" style=\"border: medium none rgb(240, 240, 240); padding: 0cm 5.4pt; width: 270.9pt; background-color: transparent;\">\n            <p style=\"margin: 0cm 0cm 0pt; line-height: normal;\" class=\"MsoNormal\"><span style=\"font-size: 12pt; color: black; font-family: &quot;Times New Roman&quot;,&quot;serif&quot;;\">Control flow i&ccedil;erisinde tanimlanan containerlar i&ccedil; i&ccedil;e tanimlanabilirler. Yani pakette bulunan bir Foreach Loop container i&ccedil;erisinde baska bir Foreach Loop container i&ccedil;erebilir ve bunun teknik olarak bir siniri yoktur.<\/span><\/p>\n            <\/td>\n        <\/tr>\n    <\/tbody>\n<\/table>\n<p style=\"margin: 0cm 0cm 0pt; line-height: normal;\" class=\"MsoNormal\"><span style=\"font-size: 12pt; color: black; font-family: &quot;Times New Roman&quot;,&quot;serif&quot;;\">&nbsp;<\/span><\/p>\n<p style=\"margin: 0cm 0cm 0pt; text-indent: 35.4pt; line-height: normal;\" class=\"MsoNormal\"><a href='www.yazilimmutfagi.com'>.<\/a><\/p>\n<p style=\"margin: 0cm 0cm 0pt; text-indent: 35.4pt; line-height: normal;\" class=\"MsoNormal\"><span style=\"font-size: 12pt; color: black; font-family: &quot;Times New Roman&quot;,&quot;serif&quot;;\">Containerlar temel olarak ikiye ayrilir birincisi tasklari gruplamak i&ccedil;in kullanilirken digeri d&ouml;ng&uuml; islemleri i&ccedil;in kullanilir. Gruplama i&ccedil;in Sequence container kullanilir d&ouml;ng&uuml; islemleri i&ccedil;in ise Foreach Loop container ve For Loop container kullanilir, bunlar kodlama da kullandigimiz foreach ve for d&ouml;ng&uuml;leri ile ayni mantikta &ccedil;alisirlar.<\/span><\/p>\n<p><strong style=\"\"><span style=\"color: black;\"><span style=\"font-size: small;\"><span style=\"font-family: Times New Roman;\">Task elementi<\/span><\/span><\/span><\/strong><\/p>\n<p style=\"text-indent: 18pt;\"><span style=\"color: black;\"><span style=\"font-size: small;\"><span style=\"font-family: Times New Roman;\">Task paket i&ccedil;erisindeki islerin yapildigi elementtir. SSIS bir&ccedil;ok islemi yerine getiren farkli tasklar i&ccedil;erir. Bunlar:<\/span><\/span><\/span><\/p>\n<p style=\"margin-left: 36pt; text-indent: -18pt;\"><span style=\"color: black; font-family: Symbol;\"><span style=\"\"><span style=\"font-size: small;\">&middot;<\/span><span style=\"font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-size: small;\"><span style=\"font-family: Times New Roman;\">Data Flow task; Extract, transformation ve load islemlerinin yapildigi tasktir. &Uuml;zerinde duracagimiz en &ouml;nemli task budur. Veri kaynaklarindan verinin alinmasi bu verinin istenilen yapiya &ccedil;evrilerek &uuml;zerinde farkli islemler yapildiktan sonra yeni bir veri kaynagina aktarildigi taskdir. Bir control flow i&ccedil;inde birden fazla Data Flow task olabilir. Bunlarin &ccedil;alisma siralarini precedence constraints ile belirleriz.<\/span><\/span><\/span><\/p>\n<p style=\"margin-left: 36pt; text-indent: -18pt;\"><span style=\"color: black; font-family: Symbol;\"><span style=\"\"><span style=\"font-size: small;\">&middot;<\/span><span style=\"font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-size: small;\"><span style=\"font-family: Times New Roman;\">Data Preparation task; dosya ve klasor kopyalama islemleri i&ccedil;in, dosya ve veri download etmek i&ccedil;in, web metotlarindan veya XML dok&uuml;manlardan d&ouml;nen verileri kaydetmek i&ccedil;in kullanilir.<\/span><\/span><\/span><\/p>\n<p style=\"margin-left: 36pt; text-indent: -18pt;\"><span style=\"color: black; font-family: Symbol;\"><span style=\"\"><span style=\"font-size: small;\">&middot;<\/span><span style=\"font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-size: small;\"><span style=\"font-family: Times New Roman;\">Workflow task; diger paket veya programlarda &ccedil;alisan processlerle haberlesmek, bunlar arasinda mesajlasmak, WMI verilerini okumak ve WMI eventlarini izlemek i&ccedil;in kullanilir.<\/span><\/span><\/span><\/p>\n<p style=\"margin-left: 36pt; text-indent: -18pt;\"><span style=\"color: black; font-family: Symbol;\"><span style=\"\"><span style=\"font-size: small;\">&middot;<\/span><span style=\"font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-size: small;\"><span style=\"font-family: Times New Roman;\">SQL Server task; SQL Server nesnelerine ve verilerine ulasmak, bunlar &uuml;zerinde kopyalama, kayit girme, silme ve degistirme(insert, copy, delete ve modify) islemlerini yapmak i&ccedil;in kullanilir.<\/span><\/span><\/span><\/p>\n<p style=\"margin-left: 36pt; text-indent: -18pt;\"><span style=\"color: black; font-family: Symbol;\"><span style=\"\"><span style=\"font-size: small;\">&middot;<\/span><span style=\"font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-size: small;\"><span style=\"font-family: Times New Roman;\">Analysis Services task; Analysis service nesneleri olusturma bunlari degistirme ve silme ve &ccedil;alistirma islemleri i&ccedil;in kullanilir.<\/span><\/span><\/span><\/p>\n<p style=\"margin-left: 36pt; text-indent: -18pt;\"><span style=\"color: black; font-family: Symbol;\"><span style=\"\"><span style=\"font-size: small;\">&middot;<\/span><span style=\"font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-size: small;\"><span style=\"font-family: Times New Roman;\">Maintenance task; <span style=\"\">&nbsp;<\/span>SQL Server &uuml;zerinde y&ouml;netici islemlerini yerine getirmek i&ccedil;in kullanilir.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: black;\"><span style=\"font-size: small; font-family: Times New Roman;\">&nbsp;<\/span><\/span><\/p>\n<p><strong style=\"\"><span style=\"color: black;\"><span style=\"font-size: small;\"><span style=\"font-family: Times New Roman;\">Precedence Constraints<\/span><\/span><\/span><\/strong><\/p>\n<p><span style=\"color: black;\"><span style=\"font-size: small;\"><span style=\"font-family: Times New Roman;\"><span style=\"\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>Tasklarin ve containerlarin &ccedil;alisma siralarini belirlemek i&ccedil;in kullanilir. Aslinda control flow i&ccedil;erisinde bulunan elemanlarin birbirine &ccedil;alisma sirasina g&ouml;re oklar ile baglanmasidir. Containerlar i&ccedil;erisinde bulunan elemanlari da birbirine bu task ile baglar ve &ccedil;alisma siralarini belirleriz. Herhangi bir &ouml;n baglantisi olmayan tasklar paketin ilk &ccedil;alistirilmasi ile devreye girerler. Control flow &uuml;zerinde birden fazla &ouml;n baglantisi olmayan task varsa, hepsi ayni anda &ccedil;alisirlar.<\/span><\/span><\/span><\/p>\n<p><span style=\"color: black;\"><img decoding=\"async\" loading=\"lazy\" height=\"195\" width=\"164\" alt=\"\" src=\"http:\/\/www.yazilimmutfagi.com\/Makale\/Img\/1_3_resim2.gif\" \/><br style=\"\" \/>\n<\/span><\/p>\n<p><strong style=\"\"><span style=\"color: black;\"><span style=\"font-size: small;\"><span style=\"font-family: Times New Roman;\">Data Flow Element<\/span><\/span><\/span><\/strong><\/p>\n<p style=\"text-indent: 35.4pt;\"><span style=\"color: black;\"><span style=\"font-size: small;\"><span style=\"font-family: Times New Roman;\">Control flow elementlerinden Data flow taskin yapacagi isleri tanimladigimiz elementtir. Yukarda data flow taskda da bahsettigimiz gibi datalarin veri kaynagindan toplanmasi, toplanan datalarin islenmesi ve &uuml;retilen yeni datanin yeni bir veri kaynagina y&uuml;klenmesi islemleri yerine getiren elemandir. Data Flowun ana elemanlari veri kaynagi, d&ouml;n&uuml;st&uuml;rme ve hedef kaynak olarak a&ccedil;iklanabilir. Bir control flow elementi i&ccedil;erisinde data flow elementinden istenilen sayida olusturulabilir. Kullanilmasi sart degildir.<\/span><\/span><\/span><\/p>\n<p style=\"text-indent: 35.4pt;\"><span style=\"color: black;\"><span style=\"font-size: small;\"><span style=\"font-family: Times New Roman;\">Bu makalemizde SSIS&rsquo; e kisa bir giris yaptik. Bir sonraki makalemizde Data Flow Task &uuml;zerinde duracagiz. Data flow taskin &ccedil;alismasi ile ilgili &ouml;rnekler yaparak iki farkli veri kaynagi arasinda veri aktarimini &ouml;grenecegiz.<\/span><\/span><\/span><\/p>\n<p style=\"text-indent: 35.4pt;\"><span style=\"color: black;\"><span style=\"font-size: small;\"><span style=\"font-family: Times New Roman;\">Kaynak : SQL Server Books Online.<\/span><\/span><\/span><\/p>","protected":false},"excerpt":{"rendered":"<p>Integration Service yaygin olarak veri ambari (datawarehouse) uygulamalarinda farkli veya ayni tipteki veri kaynaklari arasinda verilerin tasinmasi ve d&#246;n&#252;st&#252;r&#252;lmesi islemlerini yapabilecegimiz bir platformdur. Bu islemler extraction, transformation ve loading diye adlandirilir. Bazi kaynaklarda ETL<\/p>\n","protected":false},"author":517,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[442],"tags":[4345],"_links":{"self":[{"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/posts\/157"}],"collection":[{"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/users\/517"}],"replies":[{"embeddable":true,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/comments?post=157"}],"version-history":[{"count":0,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/posts\/157\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/media?parent=157"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/categories?post=157"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yazilimmutfagi.com\/index.php\/wp-json\/wp\/v2\/tags?post=157"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}