sql server 2005 sonras± t-sql yenilikleri

Download SQL Server 2005 Sonras± T-SQL Yenilikleri

Post on 08-Jul-2015

721 views

Category:

Documents

2 download

Embed Size (px)

DESCRIPTION

Dünyada pek çok ülkede faaliyet gösteren SQL PASS topluluğunun Türkiye şubesi olarak kurulan SQL Server Öncüleri Topluluğu'nun tanıtım toplantısı 21 Ekim'de gerçekleşti. SQL Server Öncüleri ile SQL Server etrafındaki ekosistemi güçlendirmek ve konu hakkında uğraş veren BT çalışanlarına da yardımcı olma fırsatı doğdu.SQL Server öcnüleri lansmanında İş Zekası ve İş kritik uygulamalar başlıkları altında 9 oturum gerçekleşti.Bu oturumlardan SQL Server 2005 sonrası T-SQL yenilikleri SQL Server MVP'si ve Türkiye Finans Enterprise Architect Mesut Aladağ tarafından gerçekleştirilmiştir.

TRANSCRIPT

SQL Server Code Name "Denali" - Whats New Feature Overview

Transact-SQL YenilikleriSQL Server 2005 Sonras

Mesut ALADAMicrosoft MVP / MCTInfrastructure and Security Architect, Trkiye Finansmesutaladag@hotmail.com

1AjandaSQL 2005 YenilikleriYapsal ve Mimari YenilikleriCLR DesteiYeni Ynetim ve Programlama AralarSQL Native ClientSSISVeri Tipi YenilikleriVarchar(max) Nvarchar(max)XMLVarbinary(max)Sorgulama YeniliklerYenilenmi TOP Deyimi Recursive Sorgu Yaplar ve CTElikisel Operatrler PIVOT / UNPIVOTDML ktlarEXCEPT ve INTERCEPT DEYMLERTable PartitioningSchema KullanmYeni T-SQL YaplarHata Yakalamada TRY....CATCHDDL Trigger XML YenilikleriXML Veri TipiGelitirilmi Xquery ve DML-XMLHTTP EndPointSQL 2008 Yenilikleri

IntellisenseDeikenlere Balang Deer AtamasYeni Veri TipleriValues KullanmDate-Time FonksiyonlarGrouping Set KullanmSpatial Data KullanmChange Data Capture zelliiMerge Command

SQL Server 2005 YenilikleriYapsal ve Mimari Yenilikleri

CLR Destei.net dillerii ile DB nesneleri oluturma, yaplandrma ve ynetim (T-SQL kullanmadan)VB.net ya da C# vb. ierisinden DB nesneleri programlama.NET Class Library Avantajlarn KullanabilmeYeni Ynetim ve Programlama AralarSQL Management Studio SQL Configuration ManagerBusiness Intelligence Development StudioSQL Native ClientVeri Eriim APIsiOLEDB ve ODBC iin kullanlrSQL OLEDB Provider ile SQL ODBC Drivern tek DLLde birletirilmi haliSQL 2005in Yeni zelliklerinden Faydalanmay salar.SSIS / Yeni ETL Arac

Veri Tipi YenilikleriVarchar(max) Maksimum 2 GB kapasite destei (1.073.741.824 karakter)Text veri tipinin yerini aldNvarchar(max)Maksimum 2 GB kapasite destei(536.870.912 karakter)Ntext veri tipinin yerini aldXMLXML verileri doal hali ile depolarMaksimum 2 GB kapasite desteiVarbinary(max)Maksimum 2 GB kapasite desteimage veritipinin yerini ald

Sorgulama YenilikleriYenilenmi TOP Deyimi Parametrik KullanmDECLARE @iNum INT SET @iNum = 10SELECT TOP (@iNum) TableColumnIDFROM TableNameINSERT-UPDATE-DELETE ile KullanmSET ROWCOUNT 5UPDATE TableNameSET TableColumn = 14SET ROWCOUNT 0UPDATE TOP(5) TableNameSET TableColumn = 14Delete Top (@TopN) from employees Delete Top (10) from employeesSorgulama YenilikleriRecursive Sorgu Yaplar ve CTEWITH CTEismi ( sutun-listesi ) AS ( CTE tanimi ) SELECT|INERT|UPDATE|DELETE FROM CTEismiTablo dndren UDFlerde etkili kullanmCURSORun yerine kullanlabilir

WITH Employee(EmployeeID, Cnt)AS(SELECT EmployeeID, COUNT(*)FROM Purchasing.PurchaseOrderHeaderGROUP BY EmployeeID),

Cost(MN, MX, Diff)AS(SELECT MIN(Cnt), MAX(Cnt), MAX(Cnt)-MIN(Cnt)FROM Employee)

SELECT * FROM CostSorgulama Yeniliklerilikisel Operatrler PIVOT : Satrlar Stunlara / UNPIVOT : Stunlar SatrlaraCompatibility Level 9.0 ve zeriSatrlara Stunlara / Stunlar Satrlara DntrmekRaporlamada kullanlPivot stun belirlenir

Sorgulama YenilikleriOUTPUT Deyimi le DML kt--Create the address tableCreate Table Address (ProductID Int, SupplierID Int, Address Varchar(255))--Insert dataInsert into Address Values (234,567,'1234 One SQL Way, Microsoft City, U.S.')Insert into Address Values (345,678,'1234 One Windows Way, Microsoft City, WA')--Declare a table variableDeclare @Recordchanges table (change Varchar(255))--Update the addressUpdate Supplier.Address Set Address=reverse(address)--Record the updates into the table variableOUTPUT 'Original Value:' + DELETED.Address+' has been changed to: '+ INSERTED.Address+'' into @RecordChanges--Query the changes from table variableSelect * from @RecordChanges--Result-set------------------------Original Value:'1234 One SQL Way, City, U.S.' has been changed to: '.S.U ,ytiC,yaW LQS enO 4321'Original Value:'1234 One Windows Way, City, WA' has been changed to: 'AW ,ytiC ,yaW swodniW enO 4321'

Sorgulama YenilikleriEXCEPT ve INTERCEPT DEYMLEREXCEPT : lk sonu setinde olan ikinci sonu setinde olmayanlarselect * from table1 except select * from table2

INTERCEPT : Her iki sonu setinin de kesienlerini verirselect * from table1 intersect select * from table2Data PartitioningByk tablo ve indekslerin ynetimini kolaylatrmakPerformans artDisk altyapsn verimli kullanmak

CREATE PARTITION FUNCTION MyPF (int) AS RANGE LEFT FOR VALUES (50, 100)GOCREATE PARTITION SCHEME MyPS AS PARTITION MyPF TO (FileGroup1)GOCREATE TABLE MyTable (col1 int, col2 varchar(50)) ON MyPS(col1)GO-- Schema Kullanm : sunucu_adi.veritabani_adi.schema_adi.nesne_adi

Yeni T-SQL Yaplar

Hata Yakalamada TRY....CATCH

Yeni T-SQL YaplarDDL Trigger DB Yapsndaki Deiikliklerin Kontrol ve SnrlandrlmasOtomatize Grev EntegrasyonuOlay Kaytlarnn Tutulmas ve zlenmesiSunucu ve DB Seviyesinde Uygulanr

CREATE TRIGGER trigger_name ON { ALL SERVER | DATABASE } [ WITH [ ,...n ] ]{ FOR | AFTER } { event_type | event_group } [ ,...n ]AS { sql_statement [ ; ] [ ...n ] | EXTERNAL NAME < method specifier > [ ; ] }

XML YenilikleriXML Veri TipiDoal XML kodunda saklamaMaksimum kapasite 2 GBCREATE TABLE Team ( TeamID int identity not null, TeamDoc xml DEFAULT '' NOT NULL )

Gelitirilmi Xquery ve XML DML DesteiXquery : XML Sorgulamak iin kullanlrrSELECT kitapBilgileri.query(kitaplar/kitap/sayfaSayisi) as SayfaSayisiXML FROM tbKitapXML ndekslemePrimary IndexSecondary Index (Path , Property, Value Index)Primary Keyi olan bir tablo olmaldr

XML YenilikleriHTTP EndPointSQLXMLin yerini ald, IIS Zorunluluu KalktIIS Olmadan SQL Nesnelerini Web Servis Olarak SunmakNative HTTP Destei le SP, UDF ve T-SQL Sorgular SOAP Protokol le Web steklerine Cevap VerebilirHTTP.sys ile istemciden alnan HTTP stekleri SQL Servera iletilirHTTP EndPointler Oluturulmaldr ve Tketilmelidir

SQL Server 2008 T-SQL YenilikleriSQL 2008 YeniliklerIntellisenseOtomatik Tamamlama Yetenei

SQL 2008 YeniliklerDeikenlere Balang Deer Atamasdeclare @X int=0SET @X+=1SET @X-=2

Yeni Veri TipleriTime (Sadece Zaman)Date (Sadece Tarih)DateTime2 : DateTime le benzer (7 hassasiyetli)DateTimeOffSet : DateTime2 le Benzer, lave Olarak Bulunulan Zaman Dilimini de VerirTablo TipiDECLARE @PERSONEL TABLE(TCKNO VARCHAR(11), AD VARCHAR(30),YAS TINYINT)INSERT INTO @PERSONEL VALUES(11122233450,AL CAN,30),(22233344560,VEL CAN,45)SELECT * FROM @PERSONELHierarchy ID Veri Tipi Hiyerarik Veri Tipialan Ynetici likileriCREATE TABLE Employee ( EmpId int, EmpBossId HIERARCHYID, EmpLevel as EmpBossId.GetLevel() PERSISTED, EmpCode varchar(50), EmpName varchar(50)); GoGetAncestor, GetDescendant, GetLevel, GetRoot, IsDescendant, Parse, Read, Reparent, ToString, Write

SQL 2008 YeniliklerSpatial Data TipiUzaysal Verileri Saklamak inGeometry ve Geography Veri TipleriGeometry ki Boyutlu Veriler in, Geography ise Dnya yzeyinde Arsa Alan Hesaplama : Geometry, stanbul New York Mesafe GeographyDECLARE @g Geometry SET @g = Geometry::STGeomFromText('LINESTRING(0 0, 10 10, 21 2)',0) FileStream Data TipiVeritabannda BLOB (Binary Large Object ) Tipinde Veri (Video, Ses, Resim, Dkman vb.) SaklamaDosyalar NTFS dosya sisteminde, Yol bilgisi veritabanndaEXEC sp_filestream_configure @enable_level = 3 , @share_name = N'FS';

SQL 2008 YeniliklerValues KullanmINSERT INTO Employee(EmpId, EmpCode,EmpName) VALUES (1, 'emp1','emp1'), (2, 'emp1','emp1'), (3, 'emp1','emp1'); Date-Time FonksiyonlarSYSDATETIME : DateTime2 formatnda tarih-saat bilgisi dndrrSYSUTCDATETIME : UTC zamann DateTime2 formatnda dndrrSWITCHOFFSET : Blgeler aras tarih-zaman evirmekGrouping Set KullanmBirden Fazla GROUP BYn UNION ALL ile edeeriSELECT Region, Department, avg(sal) Average_Salary from tbl_Employee Group BY GROUPING SETS ( (Region, Department), (Region), (Department) , () )Change Data Capture (CDC) zelliiInsert-Update-Delete komutlarn yakalarTabloyla ilgili DDL deiikliklerini de tutarDB Seviyesinde aktif edip, izlenecek tablolar belirlenirsp_cdc_enable_dbsp_cdc_enable_tableLog kaytlar __CT tablolarnda

SQL 2008 YeniliklerMerge CommandKoula bal INSERT ya da UPDATE yaparDaha ok DWlar iin tasarlanmtrOLTPden ETLde OLAPa yenilerin INSERT edilmesi, mevcutlara UPDATE uygulanmasMERGE INTO TabloUSING (SELECT fadesiWHEN MATCHED THENUPDATE fadesiWHEN NOT MATCHED THENINSERT fadesi

MERGE INTO StokHareket HUSING Stok S ON S.UrunID = H.UrunIDWHEN MATCHED THEN UPDATE SET H.TAdet =H.TAdetWHEN NOT MATCHED THEN INSERT (UrunID, TAdet) VALUES (S.UrunID,S.TAdet)

DEMO

Sorular?

Mesut ALADAMicrosoft MVP / MCTInfrastructure and Security Architect, Trkiye Finansmesutaladag@hotmail.com

22

Teekkrler

Mesut ALADAMicrosoft MVP / MCTInfrastructure and Security Architect, Trkiye Finansmesutaladag@hotmail.com

23