Presentation laddar. Vänta.

Presentation laddar. Vänta.

SQL SERVER 2005 För utvecklaren. Agenda  Management Studio  CLR Integration  T-SQL förbättringar  Säkerhet  XML  HTTP-Endpoints  Integration Services.

Liknande presentationer


En presentation över ämnet: "SQL SERVER 2005 För utvecklaren. Agenda  Management Studio  CLR Integration  T-SQL förbättringar  Säkerhet  XML  HTTP-Endpoints  Integration Services."— Presentationens avskrift:

1 SQL SERVER 2005 För utvecklaren

2 Agenda  Management Studio  CLR Integration  T-SQL förbättringar  Säkerhet  XML  HTTP-Endpoints  Integration Services  Reporting Services  + lite smått och gott…

3 Management Studio  Enterprise Manager + Query Analyzer  Helt omskriven från grunden  Gränssnittet liknar Visual Studio  Hanterar flera olika typer av servers:  SQL Server  Analysis Services  Reporting Services  SQL Mobile Edition (SQL CE 3.0)

4 Management Studio  Nya funktioner:  Lösningar + projekt  Integration med källkodshanterare  Parallella fönster öppna samtidigt  Dynamisk hjälp  Assisterande editorer  Ännu fler mallar…

5 demo Management Studio

6 CLR Integration T-SQL mot C# - Bin to Hex if @bin is null return null declare @len int, @b tinyint, @lowbyte tinyint, @hibyte tinyint, @index int, @str nchar(2), @result nvarchar(4000) set @len = datalength(@bin) set @index = 1 set @result = '0x' while @index <= @len begin set @b = substring(@bin, @index, 1) set @index = @index + 1 set @lowbyte = @b & 0xF set @hibyte = @b & 0xF0 if @hibyte > 0 set @hibyte = @hibyte / 0xF set @result = @result + ((case when @hibyte < 10 then convert(varchar(1), @hibyte) when @hibyte = 10 then 'A' when @hibyte = 11 then 'B' when @hibyte = 12 then 'C' when @hibyte = 13 then 'D' when @hibyte = 14 then 'E' when @hibyte = 15 then 'F' else 'Z' end)+(case when @lowbyte < 10 then convert(varchar(1), @lowbyte) when @lowbyte = 10 then 'A' when @lowbyte = 11 then 'B' when @lowbyte = 12 then 'C' when @lowbyte = 13 then 'D' when @lowbyte = 14 then 'E' when @lowbyte = 15 then 'F' else 'Z' end))end if (value == null) return null; StringBuilder sb = new StringBuilder(); foreach (byte b in value) sb.Append(b.ToString("X2")); return sb.ToString();

7 CLR Integration Riktlinjer  T-SQL är bäst för data access  Hantera stora mängder med data  Uppdatera/förändra data  Optimerat för data access  “Managed code” handlar om procedurell programmering och beräkningar  Beräkningsintensiv affärslogik  Stränghantering  Kryptering

8 CLR Integration Arbetsflöde SQL Queries: SELECT Payment (Total, Interest) FROM Credit WHERE CustomerID = '048349' VS.NET Project VB / C# / C++ Assembly: “CredLib.dll” SQL Data Definition: CREATE ASSEMBLY then: CREATE FUNCTION CREATE PROCEDURE CREATE TRIGGER CREATE TYPE SQL Server Runtime hosted by SQL2005 (in-proc)

9 CLR Integration Microsoft ® Transact SQL (T-SQL) (Microsoft ® SQL 2000).NET Languages (Microsoft ® SQL Server ™ “ Yukon ” ) User Defined Functions XX Stored Procedures XX TriggersXX User-Defined Types X AggregatesX

10 CLR Integration ”User defined Types”  Små typer med inkapslad logik  Lämpligt för komplexa strukturer, exempelvis geospatiala data  Implementeras som “managed classes” Vad UDT:er inte är: Ett sätt att implementera en objektorienterad databas!

11 CLR Integration ”User defined Types”  Alla UDT:er måste implementera INullable  UDT gränssnitt  Konstruktor – Utan argument  IsNull – Null eller inte  Parse – Sträng till objekt  ToString – Objekt till sträng  Kan också ha  Properties (Bör ha minst en…)  Metoder

12 CLR Integration ”User defined Aggregates”  Aggregerar värden över en grupp vid frågeprocessande enligt väldefinierat gränssnitt.  Jämför med T-SQL: sum, avg med flera  UDA gränssnitt  Init - Initialisera gruppen  Accumulate - Ackumulera värden  Merge - Slå samman grupper  Terminate - Slutför beräkning och returnera svaret Scenario: Kan ofta reducera fr å gor som anv ä nder cursors till en enda fr å ga

13 demo User Defined Type & User Defined Aggregate

14 T-SQL Förbättringar  Nya datatyper för stora ”datamängder”  I SQL2000 var max storlek på varchar/varbinary 8000 bytes. Om större så användes text/image.  I SQL2005 är maxstorleken utökad till 2 31, 2 30 om Unicode. Använder MAX för specifikation. VarChar(MAX) 2 31. Text/image kommer sannolikt försvinna på sikt.

15 T-SQL Förbättringar TOP  I SQL2000 kunde TOP specificeras med fixa antal rader eller procent av resultatmängden i en select- sats. Om dynamiskt -> dynamisk SQL.  I SQL2005 tillåter TOP att uttryck specificerar antalet rader alternativt procent av resultatmängden. Kan även användas i insert/update/delete-satser.  Skapar möjlighet att exempelvis lagra värdet i en konfigurationstabell.

16 T-SQL Förbättringar TOP  SQL 2000 SELECT TOP 10 * FROM PERSON.ADDRESS  SQL 2005 DECLARE @num AS INT SET @num = 5 SELECT TOP(@num) * FROM PERSON.ADDRESS SELECT TOP(DAY(GETDATE())) * FROM PERSON.ADDRESS

17 T-SQL Förbättringar ”Common Table Expressions”  Uttryck som skapar en tabell som kan användas i kontexten av en fråga.  Jämförbart med en vy (View) eller underfråga (subquery).  Rekursiva frågor i deklarationen gör det möjligt att exempelvis skapa en CTE med trädstruktur.

18 demo Common Table Expressions

19 T-SQL Förbättringar PIVOT/UNPIVOT  Används för att kunna konvertera/gruppera/aggregera data för förenklad analys.  Gör det enkelt att byta plats på rader och kolumner.  I SQL 2000 kunde detta göras genom att använda case-satser i frågan.  I SQL 2005 är de tillägg i T-SQL.

20 T-SQL Förbättringar PIVOT MakeYearSales Honda19902000 Honda19901000 Acura1990500 Honda19913000 Acura1991300 Acura1991600 Acura1992800 SELECT * FROM CarSales PIVOT(SUM(Sales) FOR Year IN ([1990],[1991]))t Make19901991 Honda3000 Acura500900

21 T-SQL Förbättringar UNPIVOT MakeYearSales Acura1990500 Acura1991900 Honda19903000 Honda19913000 select Make,t.Year,t.Sales from CarSalesPivot UNPIVOT (Sales for Year in ([1990], [1991])) t Make19901991 Honda3000 Acura500900

22 demo PIVOT/UNPIVOT

23 T-SQL Förbättringar  ROW_NUMBER  Skapar en kolumn med radnummer i en resultatmängd efter en sorteringsordning.  RANK  Skapar stigande nummerserie efter ”plats” i resultatmängden i sorteringsordningen.  DENSE_RANK  Samma som RANK men utan hål i nummerserien.  TILE(num)  Skapar gruppnummer baserat på ”num” i resultatmängden.

24 T-SQL Förbättringar 1 1 11LeverlingJanetKirkland 2 1 21BuchananStevenLondon 2 2 22DodsworthAnneLondon 2 3 22KingRobertLondon 2 4 21SuyamaMichaelLondon 6 1 33PeacockMargaretRedmond 7 1 44CallahanLauraSeattle 7 2 43DavolioNancySeattle 9 1 54FullerAndrewTacoma RANKPART_RANKDENSE_RANKNTILE_4 LastNameFirstNameCity

25 demo ROW_NUMBER

26 T-SQL Förbättringar TRY/CATCH  Fångar alla Exceptions  Fel som normalt avslutar en transaktion  Skyddar mot terminering av batchar  TRY / CATCH model  Flödet går över till CATCH-blocket då fel som uppstår äventyrar en transaktion  Man tappar inte transaktionskontexten vid fel  Möjlighet att logga fel/state när fel som äventyrar en transaktion uppstår.

27 T-SQL Förbättringar TRY/CATCH BEGIN TRY BEGIN TRAN -- Constraint violations cause txn/batch-abort -- control to client INSERT TestTable1 VALUES (@a, @b) COMMIT TRAN END TRY BEGIN CATCH TRAN_ABORT ROLLBACK INSERT TestTable1_Violations VALUES (@a, @b, GETDATE()) RAISERROR ('Logged bad insert', 17, 1) WITH TRAN_ABORT END CATCH go

28 Säkerhet  Separation av användare och scheman  Exekveringskontext (välj användare)  Lösenordspolicies  Samma som i Windows. (Password complexity, expiration and lockouts)  Autentisering sker via säker kanal (default)  Inbyggt stöd för kryptering/dekryptering av data.  Infrastruktur för nyckel/certifikathantering.

29 demo Kryptering/Dekryptering

30 XML Översikt FNameLNameAddrPhoneFaxXML SQL XML Data Type XQuery

31 XML FOR XML  I SQL2000 fanns följande ”dialekter” av genererad XML: raw, auto, explicit  I SQL2005 utökas dessa med ”path” vilket gör det enklare att skapa XML med specificerat ”utseende”.  Möjlighet att få ut resultatet som en kolumn av datatypen XML med hjälp av ”type”- direktivet.

32 demo XML- FOR XML

33 XML XML data type  Ny datatyp som är jämförbar med CLOB(varchar(max))  Sparas i databasen som ”native data” och inte på filsystemet.  Kan användas som:  en kolumn i en tabell  en variabel i T-SQL  en parameter till lagrad procedur eller funktion (UDF)  ett returvärde från en funktion (UDF)  Kan indexeras

34 XML XML data type  Kan vara typad eller otypad  Typas genom att mappa en XML schema collection mot kolumnen  Möjlighet att ha flera olika scheman mot en kolumn  XML schema collection tillhör den databas den skapas i och kan ej delas.  Prestanda höjs när typade kolumner används.

35 XML XML data type  XQuery används för att ställa frågor mot XML-kolumnen.  5 funktioner för att jobba mot kolumnen:  Exist – Kolla om en viss nod eller data finns  Value – Hämta ett enskilt värde ur kolumnen  Query – Ställ XQuery fråga mot kolumnen  Modify – Modifiera data utan att ändra tabellstruktur  Nodes – Kan skapa rader/kolumner ur XML

36 demo XML – datatypen

37 HTTP End-points  I SQL2000 kunde man använda SQLXML 3.0, för att exponera en databas som en web service genom IIS via ett ISAPI.  I SQL 2005 är detta inbyggt i servern.  Behöver ingen IIS.  Exponerade web services kallas för HTTP end-points.  Detta är avslaget när servern installeras. Måste manuellt konfigureras.

38 HTTP End-points  Två portar kan användas, 80 eller 443.  Möjlighet att slå på komprimering (compression).  Autentisering: none, basic, digest eller integrated.  Möjlighet att sätta restriktioner på vilka IP- adresser som får anropa servern.  Fullt stöd för interoperabilitet genom SOAP

39 demo HTTP End-points

40 Integration services  Kan jämföras med DTS i SQL2000.  Helt omskriven från grunden.  ETL-verktyg för enterprise-verksamhet  Nya adapters för att kunna skicka data in och ut.  Nya komponenter för transformationer.  Inbyggd ”data-cleansing”, felhantering osv.  Möjlighet att debugga flöde och data  Enkelt att bygga ut med egna adapters och transformationer i ”native” eller ”managed code”.

41 Reporting services  Introducerades i SQL Server 2000  Rapportgenereringsverktyg  Innehåller verktyg för att skapa, förvalta och distribuera rapporter  Integration med Office  Utvecklingsmiljön liknar VS.NET  SQL Server 2005 förbättringar  Integration med AS, DTS, management tools  Förbättrad utvecklingsmiljö  Utökad interaktivitet i rapporterna

42 demo Reporting Services

43 Service broker  Ramverk för att skapa skalbara, asynkrona, löst kopplade och distribuerade applikationer.  Kommunikationen kan vara tvåvägs – meddelanden i båda riktningar.  Meddelanden lagras i en kö i SQL Server.  Ett “Service program” notifieras och processar meddelanden i kön “när det vill”.

44 Service Broker Medd. Ordersystem Service program Kö Service Hanteras av Service Broker Order Applikationer

45 Service Broker Event Notifications  ”Trigger” som baseras på händelser som genereras av DDL, DML eller Trace-uttryck  Skillnaden mot en riktig trigger är att ingen kod exekveras utan att ett meddelande läggs in i en kö i Service Broker för att sedan kunna läsas. Scenario: Hålla koll på tabellförändringar

46 Service Broker Query Notifications  Meddelar när en förändring av data skett i en tabell som påverkar en fråga.  Gör det möjligt att använda cache i middle-tier. Scenario: Caching av data Requests/Responses IIS/ASP.Net Notification of Cache Invalidation Query & Subscription /Results SQL Server 2005

47 demo Service Broker - Event Notifications

48 Notification services  Används för att skapa och skicka notifieringar.  Notifieringar är personaliserade.  Kan baseras på triggers eller vara schedulerade.  Mottagare kan vara mobiltelefon, PDA, MSN Messenger eller e-post. Exempel på schedulering: ”Skicka mig temperaturen på Åreskutans topp varje lördag och söndag klockan 08.00 via e-post och SMS.” Exempel på trigger: ”Skicka mig ett SMS när Ericssons börskurs går över 25kr.”

49 Andra förbättringar  Full-text sökning  Table partitioning  Snapshots  Online indexing  Dedikerad kanal för administratör  Analysis services

50 SQL SERVER 2005 Produktöversikt ExpressWorkgroupStandardEnterprise Express Manager Säkerhet T-SQL CLR integration Management Studio Säkerhet T-SQL CLR integration Back-up hantering Full-text sök Notification Services Management Studio Säkerhet T-SQL CLR integration Back-up hantering Full-text sök Notification Services Service Broker Integration Services HTTP End-points Reporting Services BI (Utvalda delar) Management Studio Säkerhet T-SQL CLR integration Back-up hantering Full-text sök Notification Services Service Broker Integration Services HTTP End-points Reporting Services BI Gratis

51 SQL SERVER 2005 Tidplan  Beta 3 kommer under Q1  Lansering sannolikt tidigt i höst

52 SQL Server 2005 Lär dig mer…  Swedish SQL Server User Group  Sveriges nya förening för användare av Microsoft SQL Server  Träffar  Forum  http://www.sqlug.se

53 André Henriksson ahenrik@microsoft.com


Ladda ner ppt "SQL SERVER 2005 För utvecklaren. Agenda  Management Studio  CLR Integration  T-SQL förbättringar  Säkerhet  XML  HTTP-Endpoints  Integration Services."

Liknande presentationer


Google-annonser