Le novità di SQL Server 2005 per i Database Administrator Renato Francesco Giorgini
Agenda Edizioni SQL Server 2005 e architettura Modello sicurezza Utenti e Schemi Strumenti di amministazione Strumenti di monitoring Strumenti per lottimizzazione
SQL Server prezzi e caratteristiche Novità in SQL Server 2005 Nota: ogni edizione include le funzionalità delle precedenti ExpressWorkgroupStandardEnterprise Lo strumento più intuitivo per sviluppare semplici applicazioni data driven La soluzione per applicazioni dipartimentali Piattaforma completa di gestione e analisi dei dati per organizzazioni medio grandi Piattaforma mission critical per applicazioni enterprise di analisi e gestione dei dati Free per proc or 914 (Server + 5 users) 6960 per proc or 2138 (Server + 5 users) per proc or (Server + 25 users) 2 CPU 3 GB RAM Management Studio Import/Export Limited Replication Publishing Back-up Log- shipping Report Builder- Basic Reporting Services 4 CPU Unlimited RAM (64-bit) Database Mirroring Failover clustering OLAP Server Report Builder - Reporting Services New Integration Services Data Mining Full Replication & SSB Publishing Unlimited Scale + Partitioning Adv. DB mirroring, Complete online & parallel operations, DB snapshot Advanced Analysis Tools including full OLAP & Data Mining Report Builder + Customized & High Scale Reporting Adv SSIS 1 CPU 1 GB RAM 4GB DB Size Simple Management Tool Report Wizard & Report Controls Replication & SSB Client Basic Reporting Services
HW Supportato & disponibilità Standard, Developer & Enterprise x86, x64, IA 64 WorkGroup, Express X86, x64 in WOW In italiano a listino 1/03, disk kit disponibili indicativamente a fine mese X86, x64, IA64 hanno stesso prezzo, cambia solo disk kit Verificare HW di destinazione, e matching con sistema operativo e HW Itanium IA64 Windows/SQL x64 x64 Windows/SQL oppure x86 Windows/SQL
Server/CAL vs Processore Server/CAL Un server per ogni macchina fisica su cui è installato SQL Una cal per ogni: Utente Device (ex POS, kiosk) CAL WG limitata a WG, CAL normale illimitata Ogni CAL permette accesso a tutti i server in azienda Processore 1 licenza per ogni processore accessibile dal sistema operativo su cui è installato SQL Oltre break even + conveniente rispetto a Server/CAL Necessaria per situazioni con utenti indeterminati (ex web site) Si paga il socket fisico, non i core del processore
Hot Standby Le tecnologie di Hot – standby non richiedono licenza per il server/processori passivi Fino ad un HW equivalente a quello attivo (ex 4 processori attivi fino a 4 processori passivi) Clustering, Mirroring, Log – Shipping Se il nodo passivo è usato per qualcosa di diverso rispetto al puro hot – standby (ex reporting per scaricare il nodo attivo), invece si deve pagare
Multiplexing In sintesi, con SQL Server si deve pagare ogni utente che utilizza il servizio Multiplexing, ad esempio un sito intranet che accede a SQL con 1 solo utente in modo applicativo è comunque un servizio erogato agli utenti si paga Soluzioni distribuite che utilizzano SQL Express o SQL Server mobile sono gratuite fino a quando non usano i servizi di un SQL centrale commerciale
Virtualizzazione, istanze, separabilità Con SQL Server 2005 e Windows Server R2 sono cambiate le politiche di licensing per la virtualizzazione Se SQL Licenziato a processore si paga il # di processori visto allinterno della macchina virtuale, non più quello dellhost Si paga per ogni macchina virtuale attiva Esempio: HW 8 processori con installato Virtual Server R2, 1 sola macchina virtuale con SQL (che vede 1 processore) si paga 1 processore Non cè limite di licenza (solo fisico) alle istanze di SQL che si possono installare sula stessa macchina. Ogni componente di SQL necessita di licenza se installato su HW distribuito 1 Server con SQL, AS, RS 1 Licenza SQL (o processori pari a processori fisici) 1 Server con SQL, 1 Server con RS, 1 Server con AS 3 licenze Server o processori equivalenti a totale processori HW
Piattaforma database sicura e affidabile, per le applicazioni Line of Business e le applicazioni di analisi dati Alta disponibilità per applicazioni di livello Enterprise Sicurezza migliorata Focus su sistemi di management e auto-ottimizzazione Enterprise Data Management Developer Productivity Business Intelligence Integrazione con Visual Studio e.Net Framework Tecnologia XML Nativa Interoperabilità: Web Services, Standard aperti Soluzione ETL completa Supporto alla decisioni in realtime: reporting, data mining Scalabilità e disponibilità dei dati migliorate Fondamenti
Notification Services Notifications & Alerts Data Transformation Services Extract Transformation Load SQL Server Engine Relational Database Engine Reporting Services Enterprise Reporting Management Tools SQL Server Data Platform Piattaforma dati integrata Replication Services Data Replication Analysis Services OLAP & Data Mining Development Tools
Modello sicurezza
Modello per la sicurezza Principi di sviluppo Secure By Design Codice sicuro e robusto Nuove metodologie per testing e threat analysis Secure By Default Configurazione predefinita è un sistema sicuro Minimizzare la superficie di attacco Scoraggiare configurazioni non sicure Secure In Deployment Principio del minimo privilegio Concedere il minimo privilegio necessario al funzionamento Utenti associati ai servizi con bassi privilegi Automazione ed assistenza manutenzione del software Strumenti di amministrazione e valutazione sicurezza
Autenticazione Chi? A cosa si connette? Con quali strumenti si autentica? Come rendo sicuri questi strumenti? Come viene protetta lautenticazione?
Autenticazione Basata su endpoint SQL Server 2005 Endpoints Punto di entrata per unistanza di SQL Server In SQL Server 2000 Dicevamo: Andrea è autorizzato a connettersi allistanza In SQL Server 2005 Diciamo: Andrea è autorizzato a connettersi allistanza tramite lendpoint E Transport Protocol Transport Protocol Named pipes Shared Memory Named pipes Shared Memory TCP HTTP VIA Payloads Payloads TDSSOAP SSB Database Mirroring SSB Database Mirroring
Autenticazione Policy password Autenticazione integrata Utilizza nativamente le policy Windows Autenticazione SQL Server Policy password configurabili: Policy locali o di dominio Richiede Windows Server 2003
Autenticazione Protezione delle credenziali Pacchetti di login sempre cifrati con SSL anche se lintera comunicazione non è cifrata usa certificato self-signed solo per autenticazione!
Permessi Chi? Cosa può fare? Su cosa?
Modello per la sicurezza Nuovo modello Principals Individui, gruppi e processi che possono richiedere accesso a risorse di SQL Server Permissions Definiscono laccesso che i principals hanno per i securables Securables Risorse per le quali SQL Server prevede un sistema di autorizzazione che ne regola laccesso
Permessi Schema generale CONTROLALTER ALTER ANY X TAKE OWNERSHIP
Esempi di nuovi permessi Vecchi problemi... Nuove soluzioni! ALTER TRACE EXECUTEIMPERSONATE
Contesto di esecuzione Sessione EXECUTE AS login/user Chiamante deve avere il permesso IMPERSONATE per lutente specificato Non necessità di elevati privilegi come SETUSER REVERT Altre opzioni: EXECUTE AS CALLER / SELF / OWNER
Codice.NET che gira in SQL? E la sicurezza? SQL Server Host Policy SAFEDefaultEXTERNAL_ACCESSUNSAFE
Utenti e Schemi
Utenti e schema..nelle versioni precedenti User1 Oggetto database posseduto da Tabella Vista Stored P. Funzione User2 Risoluzione dei nomi SELECT * FROM Foo User1.foo Dbo.foo Eliminare un utente può richiedere la modifica dellapplicazione!
Utenti e schema Schema: raggruppamento di oggetti del database Indipendente dal proprietario degli oggetti Il proprietario è un concetto legato alla sicurezza Estensione dalle precedenti versioni Concetto di schema e owner coincidevano
Utenti e schema...In SQL Server 2005 User1 Oggetto database Schema contenuto in posseduto da Tabella Vista Stored P. Funzione User2 posseduto da Leliminazione di un utente non richiede la modifica dellapplicazione! Risoluzione dei nomi SELECT * FROM Foo Schema1.foo dbo.foo
Strumenti di amministrazione
Dynamic Management View Viste logiche sulle strutture dati interne di SQL Server ServerComponentidm_exec_* Connessioni e codice utente eseguito dm_os_* Memoria, locking e scheduling dm_tran_* Transazioni e isolamento dm_io_* I/O su rete e dischi dm_db_* Database e oggetti contenuti dm_repl_*Replicadm_broker_* SQL Service Broker dm_fts_* Full Text Search dm_qn_* Query Notification dm_clr_* Common Language Runtime
DMV: architettura SQL Server Relational Engine Strutture operative in memoria Dati statistici aggregati DMV e DMF DB Risorse DB Risorse (schema sys) SP, Viste, Tabelle, ecc. DB Utente Applicazioni di monitoring Alcune esistevano, ma non erano esposte Nuove ed esposte SQL Server 2005
Ambiente integrato di gestione per tutti i servizi Basato sulla shell di Visual Studio Integra le funzionalità di: Enterprise Manager Query Analyzer Analysis Manager Consente di gestire: Motore relazionale Analysis Services Reporting Services SQL Server Mobile Tool di scripting per: Transact-SQL/SQLCMDXMLA/MDX/DMX Report grafici Management Studio
Un tour di SQL Server Management Studio
Protezione del server SQL Server Surface Area Configuration Configurazione di servizi e connessioni Parametri dei servizi Gestione connessioni remote SQL Server Agent Reporting Services Integration Services SQL Server Browser Configurazione delle funzionalità xp_cmdshell Integrazione CLR Database Mail sp_configure Query sul catalogo
SQL Server Surface Area Configuration
SQLCMD Automazione e scripting a riga di comando Sostituisce OSQL /ISQL Supporto a connessioni multiple su diversi server Utilizzo di parametri Miglior controllo in caso di errori Connessione amministrativa dedicata
Strumenti di monitoring e auditing
Monitoring Log: Approccio unificato Supporto log di diversi servizi SQL Server Database Engine SQL Server Agent Windows Events Database Mail Log Su tutti i logs: RicercheFiltriEsportabilità
Auditing e gestione cambiamenti DDL Trigger Per comandi specifici Per gruppi di comandi DDL_PROCEDURE_EVENTS Notifica di eventi e eventi WMI: Notifica eventi specifici Gruppi di eventi TRC_STORED_PROCEDURES
SQL Server Profiler Supporta Database Engine Analysis Services SQL Server 2005 e 2000 Integrazione Performance Monitor ALTER_TRACE Supporta modifica impostazioni durante la cattura
SQL Server Profiler e Log
SQL Server Management Pack Console Centralizzata Gestione deployment Gestione proattiva dei potenziali problemi Analisi dei dettagli dei problemi Trend sui performance counter Reportistica Capacity planning Microsoft Operations Manager Strumenti di monitoring Enterprise
Strumenti per lottimizzazione
Tuning basato sui carichi di lavoro *.trc, *.sql o *.xml Suggerimenti sul Partitioning Opzioni di indexing evolute Esecuzione parametrizzata via linea di comando Importazione di sessioni predefinite (XML) Database Engine Tuning Advisor
Database Tuning Advisor
Basati su SQL Server Integration Services Possibilità di creare piani cross database I piani definiti per tutti i database verranno utilizzati anche per oggetti creati successivamente al piano stesso Database Maintenance Plan
Utilizza SMTP non più dipendente da MAPI o Microsoft Outlook! Nessuna dipendenza dal SQLCLR Supporta Cluster e 64 bit Funzionamento sincrono o asincrono Logging Database Mail
Verifica dello schema e suggerimento di best practices SQL Server 2005 Upgrade Handbook Upgrade Advisor su microsoft.com Upgrade Advisor Get Ready!
Quale vantaggio quando? Quanto costa utilizzare le nuove tecnologie? DDL Trigger Auditing e prevenzione DDL Trigger Auditing e prevenzione Database Maintenance Plan Database Maintenance Plan SQL Server Agent Nuove funzioni di automazione / alerting SQL Server Agent Nuove funzioni di automazione / alerting Microsoft Operations Manager (MOM) SQL Server Management Pack Microsoft Operations Manager (MOM) SQL Server Management Pack Database Mail Database Mail Benefici immediati Interventi minimi Aggiornamento architetturale Migliorare la gestibilità, dalla progettazione alla amministrazione Monitoring centralizzato per avere tutte le informazioni a portata di mano SQL Server Management Studio Error Viewer unificato/ Report/ Monitoring/ Server Dashboard SQL Server Management Studio Error Viewer unificato/ Report/ Monitoring/ Server Dashboard Performance Monitor Performance Monitor SQL Server Profiler SQL Server Profiler Database Engine Tuning Advisor Database Engine Tuning Advisor SQLCMD SQLCMD Informazioni di sistema Viste di catalogo e DMV Informazioni di sistema Viste di catalogo e DMV Visual Studio Team Suite 2005 Code Analysis e Modeling Visual Studio Team Suite 2005 Code Analysis e Modeling Event Notification Auditing e gestione eventi Event Notification Auditing e gestione eventi
© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.