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

Slides:



Advertisements
Liknande presentationer
Leverantör.
Advertisements

Butiksdata.
Föreläsning 9 Programmeringsteknik och Matlab 2D1312/2D1305
Interface.  Interface är en datatyp och har alltså egen syntax och en hel del egna regler för vad arv från interface innebär.  Interface är renodlad.
Avlusning Debugger (”avlusare”) Breakpoints Watch.
Databaser & databasdesign
Vad är en databas? “En databas är en delad samling logiskt relaterade data som designats för att möta informationsbehovet i en organisation eller för.
Migrera befintliga system till Windows Azure
Access med Sebastian och Robert
Att söka och förvalta kunskap
Picsara 10.2 Picsara Användardagar
”Ett sätt att distribuera Business Objects via webben”
2D1311 Programmeringsteknik med PBL
Nya typer Konstruerare, selektorer och predikat Rekursiva datatyper
Next previous Internetprogrammering 2000 Internetprogrammering 2000 Föreläsning 10 Distribuerad programmering med Javas RMI, Remote Method Invocation.
Bo Linde Solution Specialist EPM Microsoft AB Project Server.
Verktyg för att hantera IT-Projekt
Andreas Carlsson Barvefjord och Carlsson Datakraft AB Svarkråkev Värnamo Tel: Epost: Databasteknik 2.
Andreas Carlsson Barvefjord och Carlsson Datakraft AB Svarkråkev Värnamo Tel: Epost: Databasteknik 2 T-SQL Transactions.
Inkapsling.
Programmering II C#, ID1304.
SQL SERVER 2005 André Henriksson. Agenda Management Studio CLR Integration T-SQL förbättringar Säkerhet XML HTTP-Endpoints Integration Services Reporting.
Föreläsning 10 Länkade lista Stack och Kö Att arbeta med listor
Föreläsning 4 Python: Definiering av egna funktioner Parametrar
Databaser i B2KUNO Johan Eklund. Hur går jag vidare? Avancerade tillämpningar:  Analysera data  Generera information Utveckla följande färdigheter:
Mahmud Al Hakim Webmaster DAG 11 VT09 Mahmud Al Hakim
WEBMASTER DAG 13 Mahmud Al Hakim
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 13: I/O-system.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 11: Implementation av filsystem.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2004 Datastrukturer och algoritmer Föreläsning 3.
Tabeller.
Vektorer (klassen Vector) Sortering
UTVECKLING MED RAMVERKET.NET Marcus Medina. Dagens visdomsord ” Ingen vet vad han klarar innan han har försökt. ” - Publilius Syrus (85 f.Kr.-43 f.Kr.).
DATABASHANTERING för programmerare Lektion 3 Mahmud Al Hakim
Standardisering ger dig mer tid Peter Frodin. EFFECT-Direct / BDD Systems Management Server (SMS) Infrastucture Optimization Model (IOM) Vista Nästa steg.
DATABASHANTERING för programmerare Lektion 4 Mahmud Al Hakim
Utveckling med ramverket .net
FRÅGEUTVECKLING INOM MSSQL Marcus Medina. Dagens visdomsord ” Det är inte vad som händer dig som räknas – utan hur du reagerar på det. ” - Epiktetos.
A Federation-Ninja’s warstories from the field…
Exempelbaserade specifikationer med SpecFlow
ASP.NET 2.0 André Henriksson Developer Evangelist Microsoft AB.
Flexicon – Din systempartner
UTVECKLING MED RAMVERKET.NET Marcus Medina. Dagens visdomsord “Det verkar alltid omöjligt tills dess att det är gjort” Nelson Mandela.
Java servlets och databaskopplingar
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Next previous RMI, Remote Method Invocation Om du har boken av Marty Hall, läs avsnitt 15.8 För fler exempel se:
Microsoft Dynamics AX (fd Axapta)
Microsoft Visual Studio och.NET Framework, idag och imorgon! Robert Folkesson
Användar profiler Analytiker Informationsanvändare Specialistfunktioner 5-10% av användarna 15-25% av användarna 65-80% av användarna Reporting Services.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 3 ( ) INNEHÅLL: -Tabeller -Villkorssatser -Repetitionssatser.
Informationsteknologi - Lektion 2 Trådlöst nätverk (WLAN) Trådlöst nätverk (WLAN) Filarkivet: Filarkivet:
F4 - Funktioner & parametrar 1 Programmeringsteknik, 4p vt-00 Modularisering ”svarta lådor” Väl definierade arbetsuppgifter Enklare validering Enklare.
1 Windows Azure Mikael ÖstbergTorkel Ödegaard. 2 Äshur Ashore Azzuure.
Rikare webb med AJAX, Microsoft Silverlight, WPF och Expression Studio Robert Folkesson
Välkommen Maria Johansson Marcus Murray. Agenda   Inledning   SQL Server 2005 Introduktion   Rast 
UTVECKLING MED RAMVERKET.NET Marcus Medina. Dagens visdomsord ” Oavsett om du tror att du kan, eller om du tror att du inte kan, har du helt rätt. ” -
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( )‏ Innehåll:  Introduktion till Java EE (Enterprise Edition)  Enterprise Java Beans.
© Fujitsu Services, 2003 ARC ALEPH Reporting Center
Återblick. Vad är en databas? ”En samling information som är organiserad på ett sådant sätt att det är lätt att söka efter och hämta enskilda bitar information”
DATABASHANTERING för programmerare Lektion 5 Mahmud Al Hakim
Programmeringsteknik Föreläsning 17 Skolan för Datavetenskap och kommunikation.
1 Mönstermatchning och rekursion Nr 4. 2 Förenklad notation val fnname = fn name => expression Förenklas till fun fnname name = expression Exempel fun.
ITM1 Kapitel 8 Datastrukturer Grundläggande datavetenskap, 4p Utgående från boken Computer Science av: J. Glenn Brookshear.
Delarna i en Access-databas
DA7351 Programmering 1 Databas SQL Föreläsning 24.
 Object-Relational mapping  (aka O/RM, ORM, and O/R mapping)  Mappning av objekt och dess relationer till/från en relationsdatabas.
Databaser, avancerade frågor
Från databas till Excel
IT Databas Göran Wiréen
Presentationens avskrift:

SQL SERVER 2005 För utvecklaren

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

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)

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

demo Management Studio

CLR Integration T-SQL mot C# - Bin to Hex is null return null nvarchar(4000) = = 1 = '0x' begin 1) & 0xF & 0xF0 > 0 / 0xF + ((case < 10 then = 10 then 'A' = 11 then 'B' = 12 then 'C' = 13 then 'D' = 14 then 'E' = 15 then 'F' else 'Z' end)+(case < 10 then = 10 then 'A' = 11 then 'B' = 12 then 'C' = 13 then 'D' = 14 then 'E' = 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();

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

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)

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

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!

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

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

demo User Defined Type & User Defined Aggregate

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) Text/image kommer sannolikt försvinna på sikt.

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.

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

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.

demo Common Table Expressions

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.

T-SQL Förbättringar PIVOT MakeYearSales Honda Honda Acura Honda Acura Acura Acura SELECT * FROM CarSales PIVOT(SUM(Sales) FOR Year IN ([1990],[1991]))t Make Honda3000 Acura500900

T-SQL Förbättringar UNPIVOT MakeYearSales Acura Acura Honda Honda select Make,t.Year,t.Sales from CarSalesPivot UNPIVOT (Sales for Year in ([1990], [1991])) t Make Honda3000 Acura500900

demo PIVOT/UNPIVOT

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.

T-SQL Förbättringar LeverlingJanetKirkland BuchananStevenLondon DodsworthAnneLondon KingRobertLondon SuyamaMichaelLondon PeacockMargaretRedmond CallahanLauraSeattle DavolioNancySeattle FullerAndrewTacoma RANKPART_RANKDENSE_RANKNTILE_4 LastNameFirstNameCity

demo ROW_NUMBER

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.

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

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.

demo Kryptering/Dekryptering

XML Översikt FNameLNameAddrPhoneFaxXML SQL XML Data Type XQuery

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.

demo XML- FOR XML

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

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.

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

demo XML – datatypen

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.

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

demo HTTP End-points

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

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

demo Reporting Services

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

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

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

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

demo Service Broker - Event Notifications

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 via e-post och SMS.” Exempel på trigger: ”Skicka mig ett SMS när Ericssons börskurs går över 25kr.”

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

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

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

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 

André Henriksson