Microsoft SQL Server 2005: Temporary Objects & Troubleshooting Francesco Quaratino Francesco Quaratino MCP, MCDBA, MCT Francesco

Slides:



Advertisements
Presentazioni simili
Accesso ai dati su Relational Database Management Systems LSA - Laboratorio di Sistemi Informativi Economico-Aziendali Salvatore Ruggieri Dipartimento.
Advertisements

CREAZIONE UTENTE SU ORACLE1 Pagina delle risorse: crea utente oracle ( Password:… Dora in poi, in questi lucidi,
Architettura MySQL E Motori MySQL L. Vigliano.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità B1 Introduzione alle basi di dati.
SQL applicato a SQL Server
Sicurezza e concorrenza nelle basi di dati
Stored Procedure Function Trigger
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D3 Sicurezza e concorrenza nelle basi di dati.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Windows Server 2003 Active Directory Diagnostica, Troubleshooting e Ripristino PierGiorgio Malusardi IT Pro – Evangelist Microsoft.
Miglioramento della protezione dei dati mediante SQL Server 2005 Utilizzo della crittografia di SQL Server 2005 per agevolare la protezione dei dati Pubblicato:
Introduzione ad Active Directory
SQL (Standard query language) Istruzioni per la creazione di una tabella: Create table ( tipo, (, [vincoli]) Primary key ( ) CHIVE PRIMARIA Foreign key(
1 SQL come linguaggio di definizione di dati Eugenio Di Sciascio.
SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Massimo Mancino MODULO DIDATTICO - Ambienti.
Active Directory.
SQL Structured Query Language
RCS - Revision Control System Cosè A cosa serve Funzionalità principali Documentazione e installazione Corso di Programmazione Internet 1.
Limplementazione del database Oracle in Aleph500 Udine, marzo 2001.
1 IT FOR BUSINESS AND FINANCE ACCESS INTRODUCTION.
Esercitazione 5 MySQL Laboratorio di Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR -
File System NTFS 5.0 Disco: unità fisica di memorizzazione
SQL: Lezione 7 Nataliya Rassadko
SQL Per la definizione di basi di dati SQL per definire ed amministrare Ogni utente puo definire una base di dati di cui diventa lamministratore potendo.
SIMULAZIONE RETE INTERNET INTERNET SERVICE PROVIDER GRUPPO 2 COMMESSA – INFORMATICA GRANATA Corso Sicurezza su Reti II Prof. A. De Santis Anno Accademico.
Manipolazione dei dati I comandi SQL che permettono di modificare il contenuto di una base di dati sono insertdeleteupdate insert ha la seguente sintassi:
Transazioni.
Viste. Cosè una vista? è possibile creare un subset logico di dati o una combinazione di dati una vista è una tabella logica basata su una tabella o su.
Creazione e manipolazione tabelle. TABELLE una tabella può essere creata in qualsiasi momento,anche quando gli utenti stanno usando il database la struttura.
SQL basato su ANSI (American National Standards Institute) – standard SQL SQL – Structured Query Language è un linguaggio dichiarativo e permette di comunicare.
DBMS ( Database Management System)
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
DAGLI ARCHIVI AI DATABASE
L’applicazione integrata per la gestione proattiva delle reti IT
SQL SERVER Modulo 4 Relatore: Stefano Furlan. Sommario Criteri per scrivere del buon codice TSQL Con cenni a Indici e performances Breve carrellata di.
Fabrizio Grossi Verifica delle attività. L'operato degli amministratori di sistema deve essere oggetto, con cadenza almeno annuale, di un'attività
Chronos Jpdl Designer versione 1.0
Corso di Basi di Dati Il Linguaggio SQL Home page del corso:
1 Il Linguaggio SQL Il Linguaggio SQL Prof. Lorenzo Vita, Ing. Luigi Testa.
Basi di Dati e Sistemi Informativi Il Linguaggio SQL Home page del corso:
BIOINFO3 - Lezione 41 ALTRO ESEMPIO ANCORA Progettare il comando di creazione di una tabella di pubblicazioni scientifiche. Come chiave usare un numero.
Configurazione di una rete Windows
CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 4 - Dicembre Utenti e privilegi del database - 1 Root è lutente amministratore predefinito, ma.
ASP – Active Server Pages Introduzione Pagine Web Statiche & Dinamiche(ASP)
CREAZIONE UTENTE SU ORACLE1 Pagina delle risorse: crea utente oracle ( D’ora in poi, in questi lucidi, il vostro utente oracle.
FUNZIONI Dichiarazione: Definizione:
Esempio di un volume RAID-5
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D3 Sicurezza e concorrenza nelle basi di dati.
1 Gestione della Memoria. 2 Idealmente la memoria dovrebbe essere –grande –veloce –non volatile Gerarchia di memorie –Disco: capiente, lento, non volatile.
SQL, esempi 30/10/2014Basi di dati SQL1. 30/10/2014Basi di dati SQL2 CREATE TABLE, esempi CREATE TABLE corsi( codice numeric NOT NULL PRIMARY KEY, titolo.
Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto;
Esercizio ODBC. Configurare il driver ODBC Start  Control Panel  Administrative Tools Aprire: Data Source(ODBC) User DSN  Add…. Selezionare il driver.
Sviluppo per Pocket PC con SQL Server CE 2.0 Fabio Santini Silvano Coriani.NET Developer Evangelist Microsoft Corporation.
MySQL Database Management System
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
Distribuzione controllata del software con Systems Management Server 2003 Fabrizio Grossi.
Nozione ed uso Operazioni eseguite automaticamente ogni volta che avviene un certo evento Uso: –Gestione di vincoli di integrità: Per fallimento Per modifica.
Introduzione a SQL Server 2000 LSA - Laboratorio di Sistemi Informativi Economico-Aziendali Salvatore Ruggieri Dipartimento di Informatica, Università.
Transazioni in MySQL 4 Transazioni in MySQL 4
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015 UdA 1A Database Progettazione Fisica G IORGIO P ORCU
Gaetano Anastasi Beatrice Miotti Lorenzo Guerriero Monica Pellegrinelli Massimiliano Sartor Giorgio Macauda SQLite Esempi di utilizzo della libreria in.
Active Directory. Cos’è Active Directory (AD)  Un “directory service”  Un contenitore di oggetti  Un insieme di servizi di accesso  Un “namespace”
Linguaggio SQL prima parte Linguaggio SQL prima parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright © Istituto Italiano.
#sqlsatPordenone #sqlsat495 February 27, 2016 SQL Server 2016 Temporal Database Support Gianluca
#sqlsatTorino #sqlsat400 May 23, 2015 Analisi prestazionale (Performance Tuning) in Microsoft SQL Server tramite Dynamic Management Objects Gilberto Zampatti.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
* R AMAN K AZHAMIAKIN O SCAR Z G IOVANNI D E ITT M. B UONARROTI, T RENTO A NDROID D EVELOPMENT P ERSISTENZA.
La gestione della rete e dei server. Lista delle attività  Organizzare la rete  Configurare i servizi di base  Creare gli utenti e i gruppi  Condividere.
Transcript della presentazione:

Microsoft SQL Server 2005: Temporary Objects & Troubleshooting Francesco Quaratino Francesco Quaratino MCP, MCDBA, MCT Francesco

AgendaAgenda Introduzione Materializzazione dei dati Tabelle temporanee Tempdb Caratteristiche e funzionamento internal objects, version store, user objects User objects Local tables, global tables, in tempdb, table variables Improvements in Sql Server 2005 avoiding “after value” logging, instant data file initialization, deferred drop, caching Troubleshooting Space, I/O bottlenecks, contention in DML/DDL operations Performance counter, Dynamic Management Views (DMVs) Best Practise Number of files, files size, shrinking Introduzione Materializzazione dei dati Tabelle temporanee Tempdb Caratteristiche e funzionamento internal objects, version store, user objects User objects Local tables, global tables, in tempdb, table variables Improvements in Sql Server 2005 avoiding “after value” logging, instant data file initialization, deferred drop, caching Troubleshooting Space, I/O bottlenecks, contention in DML/DDL operations Performance counter, Dynamic Management Views (DMVs) Best Practise Number of files, files size, shrinking

IntroduzioneIntroduzione materializzazione dei dati Tabelle temporanee, viste, table variables, table expressions ospitare dati intermedi Possibilità di indicizzare solo una porzione di dati condividere dati fra più connessioni Tempdb come risorse globale condivisa tabelle temporanee nel tempdb o in cache da qualsiasi connessione e database context materializzazione dei dati Tabelle temporanee, viste, table variables, table expressions ospitare dati intermedi Possibilità di indicizzare solo una porzione di dati condividere dati fra più connessioni Tempdb come risorse globale condivisa tabelle temporanee nel tempdb o in cache da qualsiasi connessione e database context

Tempdb (Caratteristiche e funzionamento) si ricrea ad ogni riavvio A partire dal database model No Recovery Process Non necessità di ripristino all’avvio del servizio recovery model Simple Non può essere modificato si ricrea ad ogni riavvio A partire dal database model No Recovery Process Non necessità di ripristino all’avvio del servizio recovery model Simple Non può essere modificato

Tempdb (Caratteristiche e funzionamento) tempdb log Le operazioni sul tempdb sono loggate! Bulk copy program, bulk insert, SELECT INTO, index rebuild are bulk logged Ammesso il rollback transazioni che coinvolgono tabelle temporanee Non supportato il roll-forward Meno informazioni registrate rispetto a un user-db operazioni fino a 4 volte più veloci! tempdb log Le operazioni sul tempdb sono loggate! Bulk copy program, bulk insert, SELECT INTO, index rebuild are bulk logged Ammesso il rollback transazioni che coinvolgono tabelle temporanee Non supportato il roll-forward Meno informazioni registrate rispetto a un user-db operazioni fino a 4 volte più veloci!

Tempdb (internal objects, version store, user objects) Internal objects Ad uso interno di Sql Server Esempi d’uso: Per variabili di tipo XML e LOB Cursori Keyset e Static Dati intermedi di una query da ordinare Messaggi in transito del Service Broker Non utilizzabili dalle applicazioni Non visibili attraverso sys.all_objects No log records Internal objects Ad uso interno di Sql Server Esempi d’uso: Per variabili di tipo XML e LOB Cursori Keyset e Static Dati intermedi di una query da ordinare Messaggi in transito del Service Broker Non utilizzabili dalle applicazioni Non visibili attraverso sys.all_objects No log records

Tempdb (internal objects, version stores, user objects) Version stores per registrare row versions Snapshot isolation, tiggers, MARS, online index build Non visibili attraverso sys.all_objects No log records User objects Tabelle e indici definiti dall’utente Visibili attraverso sys.all_objects Trattabili mediante DML e DDL Version stores per registrare row versions Snapshot isolation, tiggers, MARS, online index build Non visibili attraverso sys.all_objects No log records User objects Tabelle e indici definiti dall’utente Visibili attraverso sys.all_objects Trattabili mediante DML e DDL

Local (or Private) Temporary Tables Visibilità solo nella connessione che l’ha creata Solo nel batch che l’ha creata Se creata in una SP, al termine di quest’ultima non è più visibile perché automaticamente distrutta No name-collision Ammessi tutti i constraints eccetto Foreign Key Visibilità solo nella connessione che l’ha creata Solo nel batch che l’ha creata Se creata in una SP, al termine di quest’ultima non è più visibile perché automaticamente distrutta No name-collision Ammessi tutti i constraints eccetto Foreign Key CREATE TABLE #T1 ( [id] INT NOT NULL PRIMARY KEY, [nome] VARCHAR(50) DEFAULT ('Ivan'), [età] TINYINT CHECK ([età]>18) )

Local temporary tables

Global Temporary Tables Visibilità Da tutte le connessioni Non necessità di permessi (non molto salutare..) Ogni sessione può farne il DROP Possibilità di name-collision Ammessi tutti i constraints eccetto Foreign Key Visibilità Da tutte le connessioni Non necessità di permessi (non molto salutare..) Ogni sessione può farne il DROP Possibilità di name-collision Ammessi tutti i constraints eccetto Foreign Key CREATE TABLE ##T1 (... )

Global Temporary Tables Muore con la chiusura dell’ultima connessione che la usa Dopo la chiusura della connessione in cui è stata creata, vi accede solo le connessioni che la stanno già utilizzando Di fatto, una connessione che la sta usando detiene un lock sulla tabella e quando l’ultimo lock viene rilasciato, la tabella viene distrutta automaticamente Muore con la chiusura dell’ultima connessione che la usa Dopo la chiusura della connessione in cui è stata creata, vi accede solo le connessioni che la stanno già utilizzando Di fatto, una connessione che la sta usando detiene un lock sulla tabella e quando l’ultimo lock viene rilasciato, la tabella viene distrutta automaticamente

Global temporary tables

Direttamente nel tempdb Tabelle temporanee sempre disponibili..un po’ un controsenso Necessità di permessi sul tempdb Da reimpostare a ogni riavvio! Un idea è sfruttare il model (ma non è consigliabile) Ammessi tutti i constraints Tabelle temporanee sempre disponibili..un po’ un controsenso Necessità di permessi sul tempdb Da reimpostare a ogni riavvio! Un idea è sfruttare il model (ma non è consigliabile) Ammessi tutti i constraints CREATE TABLE tempdb.dbo.T1 (... )

Table variables Create tacitamente nel tempdb Limitazioni No explicit indexes (except PK e Unique) No alter definition No SELECT INTO e INSERT EXEC Visibilità limitata al livello e al batch corrente (come una qualsiasi variabile) Non è parte di una transazione esplicita Create tacitamente nel tempdb Limitazioni No explicit indexes (except PK e Unique) No alter definition No SELECT INTO e INSERT EXEC Visibilità limitata al livello e al batch corrente (come una qualsiasi variabile) Non è parte di una transazione esplicita AS TABLE ( [CustomerID] VARCHAR(100), [name] VARCHAR(100) )

Table variables Table variables

Improvements in Sql Server 2005 evita il log degli “after value” A vantaggio delle operazioni di INSERT e UPDATE delle dimensioni del file di log del tempdb delle operazioni di I/O sul disco che ospita il log instant data file initialization Non azzera il nuovo spazio del data file Solo per il data file Necessita di WinXP o Win2003 evita il log degli “after value” A vantaggio delle operazioni di INSERT e UPDATE delle dimensioni del file di log del tempdb delle operazioni di I/O sul disco che ospita il log instant data file initialization Non azzera il nuovo spazio del data file Solo per il data file Necessita di WinXP o Win2003

Improvements in Sql Server 2005 deferred drop L’applicazione non deve attendere l’avvenuta cancellazione perché realizzata in background Usato per oggetti più grandi di 8 MB Caching A vantaggio delle operazioni di creazione e cancellazione objects smaller than 8 MB are cached Non avviene il cache per le tabelle ridefinite mediante DML dopo la creazione Che presentano constraints con nome Se create in modo dinamico deferred drop L’applicazione non deve attendere l’avvenuta cancellazione perché realizzata in background Usato per oggetti più grandi di 8 MB Caching A vantaggio delle operazioni di creazione e cancellazione objects smaller than 8 MB are cached Non avviene il cache per le tabelle ridefinite mediante DML dopo la creazione Che presentano constraints con nome Se create in modo dinamico

TroubleshootingTroubleshooting Identificare applicazioni e query che consumano risorse Space, I/O bottlenecks, contention in DML/DDL operations Intraprendere azioni correttive Dimensionamento dei file Potenziamento hardware Modifica delle applicazioni Identificare applicazioni e query che consumano risorse Space, I/O bottlenecks, contention in DML/DDL operations Intraprendere azioni correttive Dimensionamento dei file Potenziamento hardware Modifica delle applicazioni

TroubleshootingTroubleshooting Tools for monitoring (for Space) Performance counters Dynamic Management Views (DMVs) Sys.dm_db_file_space_usage allocazione file - a livello di istanza - divisi per categorie di oggetti (internal, versin store, user) Sys.dm_db_session_file_usage allocazione file - livello di sessione Sys.dm_db_task_space_usage allocazione file – livello di task (batch) Tools for monitoring (for Space) Performance counters Dynamic Management Views (DMVs) Sys.dm_db_file_space_usage allocazione file - a livello di istanza - divisi per categorie di oggetti (internal, versin store, user) Sys.dm_db_session_file_usage allocazione file - livello di sessione Sys.dm_db_task_space_usage allocazione file – livello di task (batch)

Best Practices for tempdb (1/2) Numero di file più file di dati e log per potenziare I/O linea guida: un file per ogni CPU Dischi ad-hoc RAID10 per dati RAID1 per log Evitare l’auto-incremento di dafult impostato a 10% Induce alla frammentazione dei dati Numero di file più file di dati e log per potenziare I/O linea guida: un file per ogni CPU Dischi ad-hoc RAID10 per dati RAID1 per log Evitare l’auto-incremento di dafult impostato a 10% Induce alla frammentazione dei dati

Best Practices for tempdb (2/2) Files size Dopo aver osservato le dimensioni del tempdb per un lungo periodo di attività senza riavvio, modificare manualmente la dimensione dei file di dati e log Shrinking non è una buona norma Non agisce su internal object e version store Necessita avvio in single user mode Files size Dopo aver osservato le dimensioni del tempdb per un lungo periodo di attività senza riavvio, modificare manualmente la dimensione dei file di dati e log Shrinking non è una buona norma Non agisce su internal object e version store Necessita avvio in single user mode

RiferimentiRiferimenti Inside Microsoft Sql Server 2005: T-sql Programming Itzik Ben-Gan, Microsoft Press, 2006 Working with tempdb in SQL Server 2005 (whitepaper) /4f8f2dc9-a9a7-4b68-98cb c95e0b/WorkingWithTempDB.doc Inside Microsoft Sql Server 2005: T-sql Programming Itzik Ben-Gan, Microsoft Press, 2006 Working with tempdb in SQL Server 2005 (whitepaper) /4f8f2dc9-a9a7-4b68-98cb c95e0b/WorkingWithTempDB.doc

RisorseRisorse DotNetSide User Group: Xplayn: Ugiss: My.settings. DotNetSide User Group: Xplayn: Ugiss: My.settings.

Prossimi Webcast Dotnetside 19/10/ Introduzione a Windows Presentation Foundation Vito Arconzo

Prossimi Webcast Sql Server /10/2006 – Backup & Restore dei dati Gianluca Hotz 23/10/2006 – Programmazione T-SQL: le stored procedure e le viste Andrea Benedetti 16/10/2006 – Backup & Restore dei dati Gianluca Hotz 23/10/2006 – Programmazione T-SQL: le stored procedure e le viste Andrea Benedetti

Workshop Un workshop gratuto a Bari in cui parleremo di Asp.net, Click Once, Team System, Workflow e Windows Communication Foundation, il tutto accompagnato da esempi reali e subito disponibili per il download! Ed in più un.netShow in compagnia di Francesco Balena e Giuseppe Di Mauro! Consulta l’agenda all’indirizzo: Registrati subito! I posti sono limitati!!!

Grazie! & Enjoy Your SeQueL Grazie! & Enjoy Your SeQueL