La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Sql Server 2005 Developer Overview Davide Mauri Factory Software

Presentazioni simili


Presentazione sul tema: "Sql Server 2005 Developer Overview Davide Mauri Factory Software"— Transcript della presentazione:

1 Sql Server 2005 Developer Overview Davide Mauri Factory Software davidem@factorysw.com

2 2 Agenda Introduzione Nuovi ambienti di sviluppo Novità T-SQL SQLCLR XML Web Services Service Broker Integration Services Reporting Services

3 3 Nuovi Ambienti di Sviluppo

4 4 Situazione attuale (SQL 2000): Tool di admin e query separati Enterprise Manager, dbmaint.exe Query Analyzer Strumenti separati per il tuning Index Tuning Wizard Profiler Tool di configurazione differenti Client Network Utility Server Network Utility Service Manager

5 5 Obiettivi dei tools in SQL Server 2005 Indirizzare le problematiche aperte con SQL Server 2000 Scalabilità e produttività prima di tutto Investire in una nuova piattaforma Managed code dappertutto Integrazione tra i vari servizi SQL Server, Analysis Server, DTS, Reporting Server, SQL Server Mobile Edition, Notification Services… Integrazione con Sql Server CE

6 6 Nuovi Ambienti di Sviluppo SQL Server Management Studio Sostituisce EM e Query Analyzer Elementi chiave Object Explorer Query Editor Dialog Summary View Activity Monitor Help Amministrazione database Attività Workflow in DTS Generazione di T-SQL

7 7 Nuovi Ambienti di Sviluppo SQL Computer Manager Pensato per il sistemista Supporto per tutti i servizi SQL Server (relational) SQL Server Analysis Services Reporting Services Estensione di Computer Manager MMC-based Utilizza le API di WMI Disponibile anche in SQL Server Express Rimpiazza Client Network Utility, Server Network Utility, SQL Service Manager

8 8 Nuovi Ambienti di Sviluppo Agent Miglioramenti su performance e scalability Supporto per AS e DTS Alert basati su eventi WMI Sicurezza completamente ridisegnata SQLCMD Rinpiazza osql e isql Estensioni di T-SQL Supporto per la connessione admin dedicata

9 9 Nuovi Ambienti di Sviluppo SQLiMail Supporto a SMTP e cluster Non richiede ne Outlook ne MAPI Surface Area Configuration Per minimizare i possibili punti di attacco abilitare / disabilitare le feature Reporting Services Configurator Non più necessario editare a mano i file XML

10 10 Novita T-SQL

11 11 Novità di T-SQL Nuovi statement Funzioni di Ranking CTE e query ricorsive Nuovi operatori relazionali Gestione degli errori DDL Trigger Snapshot Isolation

12 12 Nuovi Statement Al posto di stored procedure di sistema nuovi statement: CREATE LOGIN CREATE USER Possibilità di criptare i dati Possibilità di utilizzare certificati digitali insert tab1(id, cardno) values (1, encryptByKey(Key_GUID('fookey'), '12345678'))

13 13 Funzioni di Ranking Funzioni row oriented ROW_NUMBER() RANK() DENSE_RANK() NTILE( ) OVER([funzione_partizionamento] ) OVER([funzione_partizionamento] )

14 14 Clausola TOP In SQL Server 2000: SELECT TOP In SQL Server 2005: SELECT TOP dove può essere una variabile o una sub-query non correlata che ritorna uno scalare supportata anche per i comandi INSERT, UPDATE e DELETE Rimozione parziale supporto clausola ROWCOUNT funziona ancora con SELECT di default è ignorata per UPDATE, DELETE ed INSERT se listanza non è impostata per essere compatibile con la versione 2000

15 15 Common Table Expression Simile ad una vista ma incorporata nella query WITH YearOrdersCTE (ordertear, numorders) AS ( SELECT YEAR(OrderDate), COUNT(*) FROM Orders GROUP BY YEAR(OrderDate) ) SELECT * FROM YearOrdersCTE WITH YearOrdersCTE (ordertear, numorders) AS ( SELECT YEAR(OrderDate), COUNT(*) FROM Orders GROUP BY YEAR(OrderDate) ) SELECT * FROM YearOrdersCTE

16 16 Nuovi operatori: PIVOT/UNPIVOT PIVOT: trasforma righe in colonne può effettuare anche aggregazioni utile per scenari OLAP o reportistica NON è dinamico! è necessario sapere il numero di colonne a priori UNPIVOT: trasforma colonne in righe è linverso delloperazione di PIVOT utile per normalizzare dati k1k2c1 1Av1 1Bv2 1Cv3 2Av4 2Bv5 2Cv6 k1ABC 1v1v2v3 2v4v5v6 k1ABC 1v1v2v3 2v4v5v6 k1k2c1 1Av1 1Bv2 1Cv3 2Av4 2Bv5 2Cv6 PIVOT UNPIVOT

17 17 Gestione degli errori: TRY/CATCH Finalmente: modello TRY/CATCH Se si verifica un errore nel blocco TRY, lesecuzione passa al blocco CATCH Se non si verifica nessun errore, il blocco CATCH viene ignorato Ogni errore che imposta @@error è intercettabile BEGIN TRY INSERT INTO Employees (empid, empname, mgrid) VALUES (1, 'Emp1', NULL) END TRY BEGIN CATCH /* eventuali azioni correttive */ END CATCH BEGIN TRY INSERT INTO Employees (empid, empname, mgrid) VALUES (1, 'Emp1', NULL) END TRY BEGIN CATCH /* eventuali azioni correttive */ END CATCH

18 18 Gestione errori: informazioni Quattro nuove funzioni nel blocco CATCH: ERROR_NUMBER() ERROR_MESSAGE() ERROR_SEVERITY() ERROR_STATE() Tutte e quattro le funzioni possono essere chiamate più volte e mantengono il valore (non come @@error…)

19 19 Scenari di snapshot isolation Business Reportistica e query ad hoc che girano insieme ad attività OLTP Database che normalmente hanno accessi in lettura ma con alcune scritture Migrazione di applicazioni da Oracle® DBA e sviluppatori Aggregazioni consistenti (e.s. AVG, SUM) Join e intersezione di indici senza escalation ad un livello di isolamente più alto Riduzione dei deadlock

20 20 SQLCLR

21 21 SQLCLR E possibile utilizzare.Net per scrivere Stored Procedure User Defined Function Aggregates User Defined Data Types Trigger NON E STATO PENSATO PER SOSTITUIRE T-SQL Ma per sostituire le Stored Procedure Estese!

22 22 Esempio di UDF using System.Data.SqlServer; using System.Data.Sql; public class TestUDF { public static int Cube(int x) { return x*x*x; } csc.exe /t:library /r:sqlaccess.dll /out: TestUDF.dll TestUDF.cs CREATE ASSEMBLY TestUdf FROM TestUdf.dll CREATE FUNCTION Cube(@x int) RETURNS INT AS EXTERNAL NAME TestUDF.[MyNamespace.TestUdf].Cube SELECT dbo. Cube ()

23 23 XML

24 24 XML in un Database Relazionale? E lo standard de facto Utilizzato come Lingua Franca Dati trasmessi e ricevuti come XML Sempre più utilizzato I database prima o poi devono cominciare a fare i conti con questa realtà Allora meglio farlo nel modo migliore

25 25 XML in un Database Relazionale CREATE TABLE xml_tab ( the_id INTEGER, xml_col XML) CREATE PROCEDURE transform ( @x XML, @y XML OUTPUT) AS... CREATE FUNCTION simple ( @x NVARCHAR(max)) RETURNS XML AS DECLARE @a XML SET @a = @x... RETURN @a

26 26 XML in un Database Relazionale Supporto per XML Schema Validations XML Indexes XQuery & XPath 2.0 Casting Memorizzazione interna come BLOB Rappresentazione interna binaria (compressa) XML encoding trasformato in UTF-16

27 27 XML in un Database Relazionale CREATE TABLE xml_tab ( the_id INTEGER, xml_col XML) GO -- auto conversion INSERT INTO xml_tab VALUES(1, ' ') INSERT INTO xml_tab VALUES(2, N' ') SELECT CAST(xml_col AS VARCHAR(MAX)) FROM xml_tab WHERE the_id < 10 -- fails, not well formed INSERT INTO xml_tab VALUES(3, ' ')

28 28 Typed & Untyped XML E possibile fare in modo che il tipo XML sia validato da un XML Schema Per validare i dati inseriti Per assicurarsi che tutte le entità abbiano la stessa struttura Definizione dei tipi di dati utilizzati

29 29 XML Indexes Ottimizzano le query sulle colonne XML Due tipi Primary Secondary Necessaria la presenza di un indice cluster sulla primary key della tabella CREATE TABLE xml_tab ( id integer primary key, doc xml) GO CREATE PRIMARY XML INDEX xml_idx on xml_tab (doc) GO

30 30 XQuery XQuery è levoluzione di XPath Più correttamente è un SuperSet Supporto di un subset di XQuery implementazione basata sul draft Novembre 2003 http://www.w3.org/TR/xquery Permette di poter fare query su dati semistrutturati e/o destrutturati XML

31 31 xml.value() -- insert some rows INSERT xml_tab VALUES(' ') INSERT xml_tab VALUES(' ') INSERT xml_tab VALUES(' ') -- this query SELECT id, xml_col.value('/people/person/@name','varchar(50)') AS name FROM xml_tab -- yields this resultset id name -------------------------- 1 alessandro 2 davide 3 franco

32 32 Web Services

33 33 Web Services Architettura per ottenere interoperatività tra sistemi (anche eterogenei) XML come supporto protocolli standard numerose specifiche per soddisfare le varie esigenze Stanno diventando il modello di integrazione de facto supportati da tutti i linguaggi e da tutte le piattaforme

34 34 Web Services e SQL Server Solo TDS a volte può essere limitante per i client necessita di librerie apposite ADO.NET OLEDB / ODBC JDBC FreeTDS Web Services HTTP/XML: tutti i client li supportano

35 35 Web Services e SQL Server Necessità non nuova Con Sql 2000: SQLXML Meglio far si che sia direttamente SQL a mettere a disposizione linfrastruttura meno strati più integrata più sicura più veloce

36 36 Web Services e SQL Server

37 37 Web Services e SQL Server Utilizzo dellHTTP Kernel Protocol Stack Necessario Windows Server 2003 (o XP SP2) Supporto per SSL Funzionamento senza necessità di utilizzare IIS

38 38 Typical web service configuration CREATE ENDPOINT Accounting STATE = STARTED AS HTTP ( SITE = 'www.account.com', PATH = '/nwind', AUTHENTICATION = (INTEGRATED), PORTS = (CLEAR), RESTRICT_IP = NONE, EXCEPT_IP = (13.24.15.16, 12.24.44.5) ) FOR SOAP ( WEBMETHOD 'http://tempUri.org/'.'GetCustomerInfo' (name='Northwind.dbo.GetCustInfo', schema=STANDARD ), WSDL = DEFAULT, BATCHES = ENABLED, DATABASE = 'northwind', NAMESPACE = 'http://Northwind/Customers' ) GO

39 39 Service Broker

40 40 Cosè il Service Broker? Piattaforma per la creazione di applicazioni asincrone basate sulluso di messaggi Facilita lo sviluppo di applicazioni Loosely Coupled Completamente gestito tramite TSQL Basato sul concetto di coda

41 41 Cosè il Service Broker? Affidabile Garantisce linvio e la ricezione dei messaggi Transazionale Exactly once message processing Utilizzabile su più instanze di Sql Server

42 42 Service Broker Elements Messages Contracts Queues Services

43 43 Integration Services

44 44 Integration Services Successore dei DTS COMPLETAMENTE riscritto Bastato sul.NET Framwork MOLTO MOLTO più potente e flessibile

45 45 Integration Services BI Development Studio Praticamente è Visual Studio Designer molto più ordinato tramite lutilizzo di aree tematiche Supporto per sistemi di gestione del codice Visual SourceSafe Migliorate le capacità di debugging

46 46 Integration Services Molti elementi permettono lutilizzo di un Linguaggio interno: DTS Expressions Possibilità di creare workflow molto complessi Possibilità di gestire gli eventi (es. OnError) Programmabili ed estendibili con.NET

47 47 Reporting Services

48 48 Overview MS Reporting Services (SSRS) è una piattaforma per la creazione e la gestione di report Per applicazioni connesse E basato su tecnologie standard HTTP, XML e Web Services.NET SQL Server Fornisce tool per: sviluppo amministrazione consultazione E completamente estendibile e personalizzabile

49 49 Features principali Sorgenti dati Relazionali Multidimensionali Xml Report Tabulari A Matrice (Pivot) Free-form

50 50 Features principali Report Interattivi Drill through Report Parametrici Supporto per query dinamiche Navigabilità Anchor Treeview Calendar

51 51 Features principali Elementi Grafici Immagini Charts Aggregazione dei dati Totali / Subtotali / Avg Render multiformato Html / PDF / Excel Printer

52 52 Features principali Rich Client Printing Stampa senza necessità di esportare Download di un controllo ActiveX sul client Supporto per Page Layout Preview

53 53 Features principali Configurazione tramite tool Report Service Configuration Manager

54 54 Domande ?

55 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.


Scaricare ppt "Sql Server 2005 Developer Overview Davide Mauri Factory Software"

Presentazioni simili


Annunci Google