55
1 Amministrare SQL Server “Yukon”: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft

1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

Embed Size (px)

Citation preview

Page 1: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

1

Amministrare SQL Server “Yukon”: le novità, dai tools alla High Availability.

Silvano CorianiDeveloper & Platform EvangelismMicrosoft

Page 2: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

2

AgendaAgenda

Architettura e configurazioneLe novità nella securityMonitoringSecurityDevelopmentAvailability

Data Access ConcurrencyDatabase Server Failure or DisasterDatabase Maintenance and Operations

ManageabilityScalability and Reporting

Architettura e configurazioneLe novità nella securityMonitoringSecurityDevelopmentAvailability

Data Access ConcurrencyDatabase Server Failure or DisasterDatabase Maintenance and Operations

ManageabilityScalability and Reporting

Page 3: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

3

Architettura: i componentiArchitettura: i componenti

Database EngineFino a 50 instanze supportate in Enterprise Edition

Analysis ServicesCluster aware, istanze multiple

Notification ServicesReporting ServicesSQL Server AgentFulltext SearchService Broker

Tutti in versione 32-bit e 64-bit

Database EngineFino a 50 instanze supportate in Enterprise Edition

Analysis ServicesCluster aware, istanze multiple

Notification ServicesReporting ServicesSQL Server AgentFulltext SearchService Broker

Tutti in versione 32-bit e 64-bit

Page 4: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

4

Fulltext SearchFulltext Search

Architettura completamente rifatta

Ora i cataloghi degli indici sono inclusi in Backup e Restore

Attach e Detach del db includono i cataloghi

Multi-InstanzaUna istanza di FTS per SQL Server

Architettura completamente rifatta

Ora i cataloghi degli indici sono inclusi in Backup e Restore

Attach e Detach del db includono i cataloghi

Multi-InstanzaUna istanza di FTS per SQL Server

Page 5: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

5

Configurazione dinamicaConfigurazione dinamica

Tutti i parametri di configurazione dinamiciNessun restart modificando i parametri

CPU Affinity

I/O Affinity

Address Windowing Extensions (AWE)Modifiche alla dimensione fisica non richiedono downtime

Configurazione dinamica (Min / Max)Limitata solo dalla memoria fisicaGestisce dinamicamente la memoria “hot-add”

Richiede Windows Server 2003

Tutti i parametri di configurazione dinamiciNessun restart modificando i parametri

CPU Affinity

I/O Affinity

Address Windowing Extensions (AWE)Modifiche alla dimensione fisica non richiedono downtime

Configurazione dinamica (Min / Max)Limitata solo dalla memoria fisicaGestisce dinamicamente la memoria “hot-add”

Richiede Windows Server 2003

Page 6: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

6

Supporto “Hot-add”Supporto “Hot-add”

La memoria fisica può essere aggiunta senza restart di servizio o del server

Elimina i failover pianificati per la manutenzione

RichiedeHW appropriatoWindows Server 2003

La memoria fisica può essere aggiunta senza restart di servizio o del server

Elimina i failover pianificati per la manutenzione

RichiedeHW appropriatoWindows Server 2003

Page 7: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

7

SetupSetup

Il setup è basato su Windows Installer

Il Setup Consistency Checker consente di prevenire possibili incompatibilità

Setup remoto ora basato su WMI

Failover ClusterSupporta fino a 8 nodiReport sul progresso delle installazioni per setup su nodi multipliSetup di Analysis Services in clusterSetup unattended sul cluster

Il setup è basato su Windows Installer

Il Setup Consistency Checker consente di prevenire possibili incompatibilità

Setup remoto ora basato su WMI

Failover ClusterSupporta fino a 8 nodiReport sul progresso delle installazioni per setup su nodi multipliSetup di Analysis Services in clusterSetup unattended sul cluster

Page 8: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

8

ConnettivitàConnettività

Accesso HTTPNuova “Net-lib” alternativa a TCP/IP, Named Pipes e Shared MemorySQL Server implementa uilizza il lister HTTP

Può convivere con IIS, ma IIS non è richiesto

Disabilitato all’installazione (secure by default)Possibilità di restringere l’accesso ai utenti, SP e databasePossibilità di consentire l’accesso a batch di comandi o query ad-hoc

Accesso HTTPNuova “Net-lib” alternativa a TCP/IP, Named Pipes e Shared MemorySQL Server implementa uilizza il lister HTTP

Può convivere con IIS, ma IIS non è richiesto

Disabilitato all’installazione (secure by default)Possibilità di restringere l’accesso ai utenti, SP e databasePossibilità di consentire l’accesso a batch di comandi o query ad-hoc

Page 9: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

9

Virtual TableVirtual Table

‘Tabelle’ che riflettono lo stato dei parametri interni di funzionamentoAlmeno 25 nuove Virtual Tables per aiutare il DBA a:

Monitorare il serverDiagnosticare il problema

syswaits è l’esempio migliore Statistiche sui tempi di attesa dei thread di sistemaUnione di

Grafo degli stati di waitInformazioni in sysprocesses

Colonne in syswaitswaitingTask spid waitTimewaitType resource blockingTask

‘Tabelle’ che riflettono lo stato dei parametri interni di funzionamentoAlmeno 25 nuove Virtual Tables per aiutare il DBA a:

Monitorare il serverDiagnosticare il problema

syswaits è l’esempio migliore Statistiche sui tempi di attesa dei thread di sistemaUnione di

Grafo degli stati di waitInformazioni in sysprocesses

Colonne in syswaitswaitingTask spid waitTimewaitType resource blockingTask

Page 10: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

10

Server EventsServer Events

Eventi generati da operazioni di tipi DML e DDL

Applicazioni e utenti possono registrarsi per ricevere una notifica all’avvenire di un certo eventoRegistrazione che avviene attraverso WMI per essere notificato di operazioni DDL, DML ed eventi di trace

Eventi generati da operazioni di tipi DML e DDL

Applicazioni e utenti possono registrarsi per ricevere una notifica all’avvenire di un certo eventoRegistrazione che avviene attraverso WMI per essere notificato di operazioni DDL, DML ed eventi di trace

Page 11: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

11

SQL Server TraceSQL Server Trace

Architettura “alleggerita” per dare la possibilità di eseguire trace in forma continuativa e regolare

Nuovi eventi disponibili

Filtering migliorato per evitare di omettere informazioni importanti

Es. Omettere tutto quello che ha ‘password’ nel testo

Non è più necessario essere sysadmin per eseguire il trace

Architettura “alleggerita” per dare la possibilità di eseguire trace in forma continuativa e regolare

Nuovi eventi disponibili

Filtering migliorato per evitare di omettere informazioni importanti

Es. Omettere tutto quello che ha ‘password’ nel testo

Non è più necessario essere sysadmin per eseguire il trace

Page 12: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

12

Strumenti di amministrazioneStrumenti di amministrazione

Suite di tool integratiSupporto per tutti i servizi di SQL ServerCompatibilità con SQL Server 7.0, 2000, e Yukon

SQL Server Agent è stato completamente ridisegnato

Obiettivo: performance, sicurezza e scalabilità

ProfilerFunziona anche per Analysis ServerShowplan Events, Deadlock Events

ReplayMigliorata la capacità di replay di trace catturati su processi multipli e paralleli

Suite di tool integratiSupporto per tutti i servizi di SQL ServerCompatibilità con SQL Server 7.0, 2000, e Yukon

SQL Server Agent è stato completamente ridisegnato

Obiettivo: performance, sicurezza e scalabilità

ProfilerFunziona anche per Analysis ServerShowplan Events, Deadlock Events

ReplayMigliorata la capacità di replay di trace catturati su processi multipli e paralleli

Page 13: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

13

SecuritySecurity

Security su catalogo e metadatiChi si collega vede solo i metadati sui quali ha qualche permission!!!

Separazione tra User e SchemaControllo granulare sulle permission

È possibile assegnare permission che in precedenza erano riservato solo a ruoli particolare

Es: Profiler per i non-SA

I fixed roles sono ancora disponibili

Enforcement di policy sulle passwordPassword strength, expiration

Row-level security

Security su catalogo e metadatiChi si collega vede solo i metadati sui quali ha qualche permission!!!

Separazione tra User e SchemaControllo granulare sulle permission

È possibile assegnare permission che in precedenza erano riservato solo a ruoli particolare

Es: Profiler per i non-SA

I fixed roles sono ancora disponibili

Enforcement di policy sulle passwordPassword strength, expiration

Row-level security

Page 14: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

14

Catalogo di sistema e metadatiCatalogo di sistema e metadati

Il System Catalog è cambiato radicalmenteConsente una architettura di sicurezza più robusta e aggiornamenti più rapidi

Nessun accesso diretto alle tabelle di sistemaRow-level security applicata a tutti gli oggetti del catalogo

You only see what you have access to

Compatibilità con il passato attraverso un set di viste dedicato

Se non sono state utilizzate cose non documentateCirca 100 nuove “Catalog Views”

Schema normalizzato; nomenclatura consistenteNessun campo gestito a “bit”Meno chiamate a OBJECTPROPERTYNessuna colonna “For internal use only”

Il System Catalog è cambiato radicalmenteConsente una architettura di sicurezza più robusta e aggiornamenti più rapidi

Nessun accesso diretto alle tabelle di sistemaRow-level security applicata a tutti gli oggetti del catalogo

You only see what you have access to

Compatibilità con il passato attraverso un set di viste dedicato

Se non sono state utilizzate cose non documentateCirca 100 nuove “Catalog Views”

Schema normalizzato; nomenclatura consistenteNessun campo gestito a “bit”Meno chiamate a OBJECTPROPERTYNessuna colonna “For internal use only”

Page 15: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

15

Catalogo di sistema e metadatiCatalogo di sistema e metadatiIl catalogo di sistema risiede nel “resource database” – e non nel “master”

Il database catalog appare nello schema sys di ogni database

sys.sp_help, sys.tables, sys.objects, …

Attraverso le viste è possibile accedere ai vari metadati del sistema

Esistono viste per:Le tabelle di sistema di SQL Server 2000Le viste di INFORMATION_SCHEMALe funzioni “Property”Funzioni built-in

Il catalogo di sistema risiede nel “resource database” – e non nel “master”

Il database catalog appare nello schema sys di ogni database

sys.sp_help, sys.tables, sys.objects, …

Attraverso le viste è possibile accedere ai vari metadati del sistema

Esistono viste per:Le tabelle di sistema di SQL Server 2000Le viste di INFORMATION_SCHEMALe funzioni “Property”Funzioni built-in

Page 16: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

16

Data typesData types

Varchar(1-8000), Nvarchar(1-4000), Varbinary(1-8000)

La dimensione max della colonna rimane 8,000 bytesUn record può ora superare la dimensione di una pagina

Varchar(max), Nvarchar(max), Varbinary(max)

Possono ospitare più di 8000 character / byteVarbinary(max) Filestream

Date, Time – data e ora separata (sono tipi CLR)XML – Supporto completo al nuovo tipoUDDT – User-defined Data Types utilizzando il CLR

Varchar(1-8000), Nvarchar(1-4000), Varbinary(1-8000)

La dimensione max della colonna rimane 8,000 bytesUn record può ora superare la dimensione di una pagina

Varchar(max), Nvarchar(max), Varbinary(max)

Possono ospitare più di 8000 character / byteVarbinary(max) Filestream

Date, Time – data e ora separata (sono tipi CLR)XML – Supporto completo al nuovo tipoUDDT – User-defined Data Types utilizzando il CLR

Page 17: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

17

FILESTREAMFILESTREAMFILESTREAM permettono un accesso al filesystem attraverso le API del database server (transazionali) in modo trasparente

Per applicazioni che gestiscono immagini, documenti, video, ecc.

FILESTREAM è un’attributo dello storage che può essere specificato per colonne varbinary(max)La gestione delle colonne FILESTREAM avviene attraverso comendi DDL

FILESTREAM permettono un accesso al filesystem attraverso le API del database server (transazionali) in modo trasparente

Per applicazioni che gestiscono immagini, documenti, video, ecc.

FILESTREAM è un’attributo dello storage che può essere specificato per colonne varbinary(max)La gestione delle colonne FILESTREAM avviene attraverso comendi DDL

Page 18: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

18

Access via Database Access via Database

FILESTREAM DataFILESTREAM DataSQL Server’sSQL Server’sRow DataRow Data

SQL Server

Application

Win32 NTFS Win32 NTFS FilesystemFilesystem

Page 19: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

19

Access via Database Access via Database

FILESTREAM DataFILESTREAM DataSQL Server’sSQL Server’sRow DataRow Data

SQL Server

Application

Win32 NTFS Win32 NTFS FilesystemFilesystem

Page 20: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

20

Access via Database Access via Database

FILESTREAM DataFILESTREAM DataSQL Server’sSQL Server’sRow DataRow Data

SQL Server

Application

Win32 NTFS Win32 NTFS FilesystemFilesystem

Page 21: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

21

Access via Database Access via Database

SQL Server’sSQL Server’sFILESTREAMFILESTREAM

AgentAgent

FILESTREAM DataFILESTREAM DataSQL Server’sSQL Server’sRow DataRow Data

SQL Server

Application

Win32 NTFS Win32 NTFS FilesystemFilesystem

Page 22: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

22

Access via Database Access via Database

SQL Server’sSQL Server’sFILESTREAMFILESTREAM

AgentAgent

FILESTREAM DataFILESTREAM DataSQL Server’sSQL Server’sRow DataRow Data

SQL Server

Application

Win32 NTFS Win32 NTFS FilesystemFilesystem

Page 23: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

23

Access via Database Access via Database

SQL Server’sSQL Server’sFILESTREAMFILESTREAM

AgentAgent

FILESTREAM DataFILESTREAM DataSQL Server’sSQL Server’sRow DataRow Data

SQL Server

Application

Win32 NTFS Win32 NTFS FilesystemFilesystem

Page 24: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

24

Access via FilesystemAccess via Filesystem

SQL Server’sSQL Server’sFILESTREAMFILESTREAM

AgentAgent

FILESTREAM DataFILESTREAM DataSQL Server’sSQL Server’sRow DataRow Data

SQL Server

Application

Win32 NTFS Win32 NTFS FilesystemFilesystem

Page 25: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

25

Access via FilesystemAccess via Filesystem

SQL Server’sSQL Server’sFILESTREAMFILESTREAM

AgentAgent

FILESTREAM DataFILESTREAM DataSQL Server’sSQL Server’sRow DataRow Data

SQL Server

Application

Win32 NTFS Win32 NTFS FilesystemFilesystem

Path obtained Path obtained from SQL Serverfrom SQL Server

Page 26: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

26

Access via FilesystemAccess via Filesystem

SQL Server’sSQL Server’sFILESTREAMFILESTREAM

AgentAgent

FILESTREAM DataFILESTREAM DataSQL Server’sSQL Server’sRow DataRow Data

SQL Server

Application

Win32 NTFS Win32 NTFS FilesystemFilesystem

Security checkSecurity check

Path obtained Path obtained from SQL Serverfrom SQL Server

Page 27: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

27

Access via FilesystemAccess via Filesystem

SQL Server’sSQL Server’sFILESTREAMFILESTREAM

AgentAgent

FILESTREAM DataFILESTREAM DataSQL Server’sSQL Server’sRow DataRow Data

SQL Server

Application

Win32 NTFS Win32 NTFS FilesystemFilesystem

Security checkSecurity check

Path obtained Path obtained from SQL Serverfrom SQL Server

Page 28: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

28

Access via FilesystemAccess via Filesystem

SQL Server’sSQL Server’sFILESTREAMFILESTREAM

AgentAgent

FILESTREAM DataFILESTREAM DataSQL Server’sSQL Server’sRow DataRow Data

SQL Server

Application

Win32 NTFS Win32 NTFS FilesystemFilesystem

Security checkSecurity check

Path obtained Path obtained from SQL Serverfrom SQL Server

Page 29: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

29

Access via BothAccess via Both

SQL Server’sSQL Server’sFILESTREAMFILESTREAM

AgentAgent

FILESTREAM DataFILESTREAM DataSQL Server’sSQL Server’sRow DataRow Data

SQL Server

Application

Win32 NTFS Win32 NTFS FilesystemFilesystem

Security checkSecurity check

Path obtained Path obtained from SQL Serverfrom SQL Server

Transaction ManagerTransaction Manager

Page 30: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

30

Fast RecoveryRestart o RestoreFast RecoveryRestart o Restore

SQL Server 2000Database disponibile dopo l’Undo

SQL Server 2000Database disponibile dopo l’Undo

UndoUndoRedoRedo

AvailableAvailableTimeTime

Page 31: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

31

Fast RecoveryRestart or RestoreFast RecoveryRestart or Restore

SQL Server 2000Database is available after Undo completes

YukonDatabase disponibile all’inizio dell’Undo

SQL Server 2000Database is available after Undo completes

YukonDatabase disponibile all’inizio dell’Undo

UndoUndoRedoRedo

AvailableAvailable

UndoUndoRedoRedo

AvailableAvailable

TimeTime

Page 32: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

32

Database “ViewPoint”Database “ViewPoint”

Copia consistente e read-only del databaseOttimo per soluzioni di reportingPosso fare rollback di un db ad un certo ViewPoint

Per correggere errori dell’applicazion o del DBA

Non “sincronizzato” con il database dal quale provienePoco costoso

Veloce alla creazioneEconomico in termini di spazio

Tecnologia “Copy-on-Write”

Possono essere creati per qualsiasi databaseDi produzionePer copie di standby di un Database Mirroring

Copia consistente e read-only del databaseOttimo per soluzioni di reportingPosso fare rollback di un db ad un certo ViewPoint

Per correggere errori dell’applicazion o del DBA

Non “sincronizzato” con il database dal quale provienePoco costoso

Veloce alla creazioneEconomico in termini di spazio

Tecnologia “Copy-on-Write”

Possono essere creati per qualsiasi databaseDi produzionePer copie di standby di un Database Mirroring

Page 33: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

33

Snapshot IsolationSnapshot Isolation

Nuovo livello transazionale

Aumenta la disponibilità dei dati per le applicazioni in lettura

Permette la lettura non-bloccante e consistente in un database OLTP

Writers don’t block readersReaders don’t block writers

Permette la modifica dei dati, ma questo causa conflitti

Nel caso, è obbligatorio un sistema di individuazione e gestione dei conflitti

Nuovo livello transazionale

Aumenta la disponibilità dei dati per le applicazioni in lettura

Permette la lettura non-bloccante e consistente in un database OLTP

Writers don’t block readersReaders don’t block writers

Permette la modifica dei dati, ma questo causa conflitti

Nel caso, è obbligatorio un sistema di individuazione e gestione dei conflitti

Page 34: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

34

Operazioni online sugli indiciOperazioni online sugli indici

Ora le operazioni sugli indici possono essere fatte durante la modifica delle tabelle sottostanti

Update, Insert, Delete

Manutenzion online degli indiciCreazione, Rebuild e cancellazioneRiorganizzazione (includendo i BLOB)Anche sui vincoli basati sugli indici (PK, Unique)

Gli aggiornamenti possono provocare costi aggiuntivi durante una operazione sugli indici

Vengono mantenute le copie nuova e vecchia dell’indice

Ora le operazioni sugli indici possono essere fatte durante la modifica delle tabelle sottostanti

Update, Insert, Delete

Manutenzion online degli indiciCreazione, Rebuild e cancellazioneRiorganizzazione (includendo i BLOB)Anche sui vincoli basati sugli indici (PK, Unique)

Gli aggiornamenti possono provocare costi aggiuntivi durante una operazione sugli indici

Vengono mantenute le copie nuova e vecchia dell’indice

Page 35: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

35

Database MirroringDatabase Mirroring

Meccanismo di failover semplice e istantaneoFailover veloce … meno di 3 secondiAutomatico o manualeNessuna perdita di datiRe-sync automatico dopo un failover

HardwareNessun bisogno di hardware certificatoNessuno storage condiviso

Minimo impatto sulle operazioni transazionaliÈ possibile pensarlo sulle macchine di produzione

I client vengono rediretti automaticamenteIl server mirror non è “online”

Ma posso usare un ViewPoint per creare una soluzione di reporting simile al Log Shipping

Meccanismo di failover semplice e istantaneoFailover veloce … meno di 3 secondiAutomatico o manualeNessuna perdita di datiRe-sync automatico dopo un failover

HardwareNessun bisogno di hardware certificatoNessuno storage condiviso

Minimo impatto sulle operazioni transazionaliÈ possibile pensarlo sulle macchine di produzione

I client vengono rediretti automaticamenteIl server mirror non è “online”

Ma posso usare un ViewPoint per creare una soluzione di reporting simile al Log Shipping

Page 36: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

36

Database MirroringDatabase Mirroring

Fault tolerant virtual databaseFault tolerant virtual database

MirrorMirrorPrincipalPrincipal

ClientsClients

WitnessWitness

Page 37: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

37

Redirezione automatica del clientRedirezione automatica del client

Nessuna modifica al codice delle applicazioni

Il client viene automaticamente rediretto se la sessione cade

MDAC conosce il server Principal e il Mirror

Dopo la connessioni iniziale al principal, MDAC mantiene in cache il nome del MirrorQuando il client prova a riconnettersi

Se il Principal è disponibile apre la connessioneAltrimenti, MDAC redirige sul Mirror

Nessuna modifica al codice delle applicazioni

Il client viene automaticamente rediretto se la sessione cade

MDAC conosce il server Principal e il Mirror

Dopo la connessioni iniziale al principal, MDAC mantiene in cache il nome del MirrorQuando il client prova a riconnettersi

Se il Principal è disponibile apre la connessioneAltrimenti, MDAC redirige sul Mirror

Page 38: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

38

Connessione amministrativa dedicataConnessione amministrativa dedicata

Fornisce un accesso amministrativo al server indipendentemente dal carico di lavoro del server

Accesso privilegiato rispetto alle connessioni degli utenti

Nessun bisogno di far ripartire il server per riguadagnarne il controllo

Ovviamente, riservata ai sysadmin

Fornisce un accesso amministrativo al server indipendentemente dal carico di lavoro del server

Accesso privilegiato rispetto alle connessioni degli utenti

Nessun bisogno di far ripartire il server per riguadagnarne il controllo

Ovviamente, riservata ai sysadmin

Page 39: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

39

Restore OnlineRestore Online

Online RestoreIl database rimane online

Solo i dati in fase di restore sono offlineL’unità di disponibilità è il filegroup e non il db

Piecemeal RestoreRestore online dei filegroup per priorità

Tracking delle pagine danneggiate

Page-Level RestoreRestore di pagine individuali mentre il database è online

Online RestoreIl database rimane online

Solo i dati in fase di restore sono offlineL’unità di disponibilità è il filegroup e non il db

Piecemeal RestoreRestore online dei filegroup per priorità

Tracking delle pagine danneggiate

Page-Level RestoreRestore di pagine individuali mentre il database è online

Page 40: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

40

Backup e RestoreBackup e Restore

Il backup dei dati non blocca il backup del log

Possono andare in concorrenzaÈ possibile solo un backup dei dati alla volta per database

Backup / Restore includono gli indici FullText e i dati di tipo FILESTREAM

Il backup dei dati non blocca il backup del log

Possono andare in concorrenzaÈ possibile solo un backup dei dati alla volta per database

Backup / Restore includono gli indici FullText e i dati di tipo FILESTREAM

Page 41: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

41

Estensioni DDLEstensioni DDL

Attach e Detach includono i cataloghi Fulltext, e i tipi FilestreamPer creare un db partendo dai file dati, ricostruendo il log…

CREATE DATABASE <dbname> … FOR ATTACH_REBUILD_LOG

I file possono essere spostati come posizione

Era solo sul tempdb, ora per qulunque dbOperazione offlineALTER DATABASE <dbname> MODIFY FILE ( name = <logical name>, filename = <new path>)

Attach e Detach includono i cataloghi Fulltext, e i tipi FilestreamPer creare un db partendo dai file dati, ricostruendo il log…

CREATE DATABASE <dbname> … FOR ATTACH_REBUILD_LOG

I file possono essere spostati come posizione

Era solo sul tempdb, ora per qulunque dbOperazione offlineALTER DATABASE <dbname> MODIFY FILE ( name = <logical name>, filename = <new path>)

Page 42: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

42

Miglioramenti sugli indiciMiglioramenti sugli indici

La ricostruzione di un indice Clustered, non causa la ricostruzione di tutti i Nonclustered correlatiIndici con Included Columns

Permettono l’inserimento di dati di altre colonne nel livello foglia di un indice

Le colonne non chiave non sono incluse nella struttura dell’indice e nella verifica della dimensione limite

Possibilità di creare più indici ‘covering’Disabilitare gli indici

Possibilità di stoppare l’utilizzo e l’aggiornamento di un indice

Disallocazione dello spazio ma mantenimento dei metadatiOccorre ricostruire prima di poter utilizzare di nuovo

Semplice riattivazione, avendo i metadati disponibiliALTER INDEX … REBUILD

La ricostruzione di un indice Clustered, non causa la ricostruzione di tutti i Nonclustered correlatiIndici con Included Columns

Permettono l’inserimento di dati di altre colonne nel livello foglia di un indice

Le colonne non chiave non sono incluse nella struttura dell’indice e nella verifica della dimensione limite

Possibilità di creare più indici ‘covering’Disabilitare gli indici

Possibilità di stoppare l’utilizzo e l’aggiornamento di un indice

Disallocazione dello spazio ma mantenimento dei metadatiOccorre ricostruire prima di poter utilizzare di nuovo

Semplice riattivazione, avendo i metadati disponibiliALTER INDEX … REBUILD

Page 43: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

43

Caricamento massivo di datiCaricamento massivo di dati

Nuovo formato XML-basedFornisce tutte le funzionalità del precedente ma ne consente molte di piùFormato semplice da specificare e comprendereSupportato dai comandi T-SQL e BCPIl vecchio formato può essere ancora utilizzatoIl vecchio formato dati può essere caricato utilizzando i nuovi format file XML

Problematiche di sicurezzaUtilizza i privilegi dell’utente Windows che ha lanciato il programma per leggere/scrivere i file da disco

Performance migliorate

Nuovo formato XML-basedFornisce tutte le funzionalità del precedente ma ne consente molte di piùFormato semplice da specificare e comprendereSupportato dai comandi T-SQL e BCPIl vecchio formato può essere ancora utilizzatoIl vecchio formato dati può essere caricato utilizzando i nuovi format file XML

Problematiche di sicurezzaUtilizza i privilegi dell’utente Windows che ha lanciato il programma per leggere/scrivere i file da disco

Performance migliorate

Page 44: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

44

Caricamento massivo di datiCaricamento massivo di dati

Logging degli erroriL’operazione va a termine anche se ci sono erroriLe righe non correttamente formattate vengono redirette sul file di log per analisi successiveLe righe che violano qualche constraint vengono redirette su una tabella degli errori insieme con il messaggio generato

Modello uniforme con il comando di InsertL’Insert-Select del T-SQL guadagna gli stessi miglioramenti e ottimizzazioni

Es: Logging

OPENROWSET migliorato per leggere i dati da file esterni

Logging degli erroriL’operazione va a termine anche se ci sono erroriLe righe non correttamente formattate vengono redirette sul file di log per analisi successiveLe righe che violano qualche constraint vengono redirette su una tabella degli errori insieme con il messaggio generato

Modello uniforme con il comando di InsertL’Insert-Select del T-SQL guadagna gli stessi miglioramenti e ottimizzazioni

Es: Logging

OPENROWSET migliorato per leggere i dati da file esterni

Page 45: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

45

Partizionamento dei datiPartizionamento dei dati

Il partizionamento suddivide un oggetto in parti più facilmente gestibili

Trasparente alle applicazioniConsente la gestione di tabelle e indici di grandissime dimensioni in maniera sempliceLa riga è l’unità di partizionamentoTutte le partizioni devono risiedere nello stesso database

Il partizionamento suddivide un oggetto in parti più facilmente gestibili

Trasparente alle applicazioniConsente la gestione di tabelle e indici di grandissime dimensioni in maniera sempliceLa riga è l’unità di partizionamentoTutte le partizioni devono risiedere nello stesso database

A, B, CA, B, C D, E, FD, E, F G, H, IG, H, I J, K, LJ, K, L

A, B, C, D, E, F, G, H, I, J, K, LA, B, C, D, E, F, G, H, I, J, K, LNon PartizionataNon Partizionata

PartizionataPartizionata

Page 46: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

46

Perchè partizionare?Perchè partizionare?

Tabelle e indici molto grandi possono essere gestiti in modo semplice

Esempio: i dati di vendita separati per trimestre – backup e operazioni di manutenzione a livello di partizione

Per avvantaggiarsi di macchie con più CPU (16-64) (machine scale-up)

Ogni CPU può lavorare sulla propria partizione indipendentemente (concorrenza migliorata)

Tabelle e indici molto grandi possono essere gestiti in modo semplice

Esempio: i dati di vendita separati per trimestre – backup e operazioni di manutenzione a livello di partizione

Per avvantaggiarsi di macchie con più CPU (16-64) (machine scale-up)

Ogni CPU può lavorare sulla propria partizione indipendentemente (concorrenza migliorata)

Page 47: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

47

Partizionamento dei datiPartizionamento dei dati

Le partizioni possono essere aggiunte e cancellate senza perdere la disponibilità della tabella stessa

La tabella rimane completamente disponibile durante il caricamento e l’indicizzazione di una nuova partizioneLa creazione di nuove partizioni e la cancellazione delle vecchie è immediataVelocità di caricamento molto elevate

Se gli indici sono allineati, è possibile muovere partizioni dentro e fuori da una tabella

Scenario “Sliding window”

Le partizioni possono essere aggiunte e cancellate senza perdere la disponibilità della tabella stessa

La tabella rimane completamente disponibile durante il caricamento e l’indicizzazione di una nuova partizioneLa creazione di nuove partizioni e la cancellazione delle vecchie è immediataVelocità di caricamento molto elevate

Se gli indici sono allineati, è possibile muovere partizioni dentro e fuori da una tabella

Scenario “Sliding window”

Page 48: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

48

Cosa può essere partizionatoCosa può essere partizionato

Gli oggetti partizionabili sonoTabelle di baseIndici (clustered e non clustered)Viste indicizzate

Solo partizionamento “orizzontale”Riga come più piccola unità di partizionamento

Gli oggetti partizionabili sonoTabelle di baseIndici (clustered e non clustered)Viste indicizzate

Solo partizionamento “orizzontale”Riga come più piccola unità di partizionamento

Page 49: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

49

Come partizionareCome partizionare

Ogni riga è assegnata ad una partizione attraverso una “partition function”

Ogni funzione di partizionamento è mappata ad un elemento di storage specifico (Filegroup) attraverso un “partition scheme”

Ogni riga è assegnata ad una partizione attraverso una “partition function”

Ogni funzione di partizionamento è mappata ad un elemento di storage specifico (Filegroup) attraverso un “partition scheme”

Page 50: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

50

Partition FunctionPartition Function

Mappa una riga ad una partizione sulla base del valore delle colonne

MyPtnFunc(T.salesdate) --> (1, 2, 3, ...)

Due tipi di funzioni di partizionamentoHash – hashing definito dal sistema; L’utente definisce le colonne della chiave e il numero di partizioniRange – L’utente definisce le colonne chiave, il numero delle partizione e i confini di ogni partizione

Le funzioni di partizionamento devono mappare completamente il dominio del range di input

Tutti i possibili valori per quel tipo di colonna

Mappa una riga ad una partizione sulla base del valore delle colonne

MyPtnFunc(T.salesdate) --> (1, 2, 3, ...)

Due tipi di funzioni di partizionamentoHash – hashing definito dal sistema; L’utente definisce le colonne della chiave e il numero di partizioniRange – L’utente definisce le colonne chiave, il numero delle partizione e i confini di ogni partizione

Le funzioni di partizionamento devono mappare completamente il dominio del range di input

Tutti i possibili valori per quel tipo di colonna

Page 51: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

51

Partition SchemePartition Scheme

Assegna una partizione ad un elemento di storage fisico (Filegroup)

Più partizioni possono essere mappate sullo stesso o su differenti Filegroup

In SQL Server 2000, tabelle e indici erano mappati su Filegroup – ora vengono mappati a partition scheme

Una funzione di partizionamento può essere legata a più partition scheme

Assegna una partizione ad un elemento di storage fisico (Filegroup)

Più partizioni possono essere mappate sullo stesso o su differenti Filegroup

In SQL Server 2000, tabelle e indici erano mappati su Filegroup – ora vengono mappati a partition scheme

Una funzione di partizionamento può essere legata a più partition scheme

Page 52: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

52

Database Tuning Advisor Database Tuning Advisor

Il successore del “Index Tuning Wizard”Applicazione completa – nuova e più ricca UINon solo per indici e viste indicizzate

Aggiunta di partizione e tuning multi databaseSuggerimenti sulle nuove feature legate agli indici

Es: indici con Included Columns, ecc.

Raccomandazioni sulla high availability tengono conto dei criteri di disponibilità (es. Solo indici che possono essere ricostruiti online)

Limiti di tempo alle operazioniL’amministratore decide il ‘think’ time

Analisi “What-if” sulla base dei suggerimenti del tool

Il successore del “Index Tuning Wizard”Applicazione completa – nuova e più ricca UINon solo per indici e viste indicizzate

Aggiunta di partizione e tuning multi databaseSuggerimenti sulle nuove feature legate agli indici

Es: indici con Included Columns, ecc.

Raccomandazioni sulla high availability tengono conto dei criteri di disponibilità (es. Solo indici che possono essere ricostruiti online)

Limiti di tempo alle operazioniL’amministratore decide il ‘think’ time

Analisi “What-if” sulla base dei suggerimenti del tool

Page 53: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

53

Enterprise Data Enterprise Data ManagementManagement

Enterprise Data Enterprise Data ManagementManagement

ProgrammabilitàProgrammabilitàe BIe BI

ProgrammabilitàProgrammabilitàe BIe BI

Prestazioni ePrestazioni eScalabilitàScalabilità

Prestazioni ePrestazioni eScalabilitàScalabilità

Replica dei dati

Replicazione dei tipi .NETReplicazione dei tipi .NET Programmazione attraverso le .NET APIProgrammazione attraverso le .NET API Pubblicazione dei dati da Oracle a SQL ServerPubblicazione dei dati da Oracle a SQL Server Replicazione su HTTP / HTTPSReplicazione su HTTP / HTTPS

Riduzione dei tempi di replicaRiduzione dei tempi di replica Supporto di un più largo numero di Supporto di un più largo numero di

subscribersubscriber Miglioramento della concorrenza con le Miglioramento della concorrenza con le

applicazioniapplicazioni

Increase uptime Increase uptime Semplifica il setup e l’amministrazioneSemplifica il setup e l’amministrazione Nuovo sistema di controllo dello stato della Nuovo sistema di controllo dello stato della

replicazione (health monitor)replicazione (health monitor)

Page 54: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

54

In sintesiIn sintesi

Ci sono una “tonnellata” di novità in Yukon per l’amministratore del sistema

I focus particolari:SicurezzaDisponibilità dei datiScalabilitàSemplificazione delle attività amministrative

Per saperne di più:http://www.microsoft.com/sql/yukonhttp://blogs.gotdotnet.com/scoriani ☺

Ci sono una “tonnellata” di novità in Yukon per l’amministratore del sistema

I focus particolari:SicurezzaDisponibilità dei datiScalabilitàSemplificazione delle attività amministrative

Per saperne di più:http://www.microsoft.com/sql/yukonhttp://blogs.gotdotnet.com/scoriani ☺

Page 55: 1 Amministrare SQL Server Yukon: le novità, dai tools alla High Availability. Silvano Coriani Developer & Platform Evangelism Microsoft Silvano Coriani

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