Presentation laddar. Vänta.

Presentation laddar. Vänta.

SQL SERVER 2005 André Henriksson. Agenda Management Studio CLR Integration T-SQL förbättringar Säkerhet XML HTTP-Endpoints Integration Services Reporting.

Liknande presentationer


En presentation över ämnet: "SQL SERVER 2005 André Henriksson. Agenda Management Studio CLR Integration T-SQL förbättringar Säkerhet XML HTTP-Endpoints Integration Services Reporting."— Presentationens avskrift:

1 SQL SERVER 2005 André Henriksson

2 Agenda Management Studio CLR Integration T-SQL förbättringar Säkerhet XML HTTP-Endpoints Integration Services Reporting Services Service Broker SQL Server Express 2005

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 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 ProceduresXX TriggersXX User-Defined TypesX 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 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 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 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 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

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 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 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 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 HTTP Endpoints

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  Både för pappersrapporter och interaktiva rapporter  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  Report Builder

42 Reporting Services Utskrifter  Kan göras direkt utan export till annat format  Kan välja marginaler, sidorientering m m  Print Preview Multi-värde parameters  Gäller alla parameters  Multipla default-värden Interaktiv sortering  Stöd för multikolumn och grupperad sortering  Sker på servern utan interaktion med databas Egna kontroller  Databundna  Gruppera, sortera och filtrera  Tredjepartsleverantörer

43 Reporting Services

44 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”.

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

46 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

47 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

48 Service Broker Event Notifications

49 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.”

50 Andra förbättringar Full-text sökning Table partitioning Snapshots Online indexing Dedikerad kanal för administratör Analysis services – Business Intelligence

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

52 SQL Server Express 2005 Tekniska specifikationer 1 CPU används Max 1 GB RAM används MAX 4 GB databasstorlek Inga begränsingar på antalet kopplingar

53 SQL Server Express 2005 Enklare installation Endast MSI-filer Ingen beroende mot MDAC Tydligt användargränssnitt ”Quiet-mode” Default-instans: SQLEXPRESS Max 50 instanser Om installerat – val avbryta/nytt instansnamn Click Once – Beta 3

54 SQL Server Express 2005 Säkerhet Automatiserade uppdateringar via Windows Update Vid installation är följande avslaget:  TCP/IP och Named Pipes  SQL Browser Service  SA-konto  Endast administratör kan administrera instans Inbyggt stöd för kryptering/dekryptering

55 SQL Server Express 2005 Ny funktionalitet Nya datatyper – VarChar(MAX), VarBinary(MAX), XML XML-stöd via FOR XML, OPENXML och XQuery/XPath CLR-integration T-SQL – TOP, Pivot/Unpivot, CTE, Rankning/fönsterfunktioner Service Broker 64-bitars stöd Visual Studio 2005-integration

56 SQL Server Express 2005 XCopy-Deployment Databaser hanteras som filer (MS Access) Kopieras/Installeras med applikationen Registreras automatiskt i SSE-instansen  Inget behov att registrera databas innan användning  Sökväg specificeras i ”connection”, AttachDBFilename Auto-Close släpper fillås SSE ersätter både MSDE 2000 och MS Access

57 SQL Server Express 2005 Jämförelse med MySql SQL Server Express 2005 MySql 4.1 (5.0) DatatyperNative + CLRFler native VyerJaNej (Ja) TriggersJaNej (Ja) Lagrade proc.JaNej (Ja) UDFJaNej (Ja) CursorsJaNej (Nej) XMLJaNej (Nej) TransaktionerJaNej (Nej) INNODB krävs ReplikeringJaJa (Ja) Begränsad XCopy deplymentJaNej (Nej) KostnadGratisLicenskostnad för ISV

58 XCopy deployment

59 SQL SERVER 2005 Tidplan CTP Feb (Community Technical Preview) NU!  Kan idag laddas ner från MSDN Inom kort kommer beta3 Lansering sannolikt tidigt i höst

60 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

61 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. Content created by 3 Leaf Solutions André Henriksson ahenrik@microsoft.com http://blogs.msdn.com/ahenrik


Ladda ner ppt "SQL SERVER 2005 André Henriksson. Agenda Management Studio CLR Integration T-SQL förbättringar Säkerhet XML HTTP-Endpoints Integration Services Reporting."

Liknande presentationer


Google-annonser