Pagine

giovedì 7 febbraio 2013

SQL 2012, IN_ROW_DATA, ROW_OVERFLOW_DATA, LOB_DATA.... e le performace?

Nel post Data Type e performance abbiamo visto che la scelta del tipo di dato è fondamentale per ottenere un Db performante.
Per i tipi dato con lunghezza a discrezione dell'utente, come per esempio i varchar, varbinary etc... è necessaria una maggiore attenzione.

I dati sono allocati in Data Pages dalla dimensione di 8K, quindi, in teoria, la lunghezza massima di un record inseribile in una data page è di 8kb (Per la precisione, tolti alcuni byte di sistema, a noi ne restano disponibili 8060).
Ma cosa accade se la somma delle dimensioni dei campi contenuti in una tabella supera la soglia fatidica ?

giovedì 6 dicembre 2012

SQL Server 2012 : Configurare il Resource Governor

Il Resource Governor è stato introdotto dall'edizione di SQL 2008, ma non mi pare sia molto utilizzato..... In poche parole vi consente di definire il limite di utilizzo della cpu e della memoria per i login e le applicazioni che si connettono a SQL server.

domenica 2 dicembre 2012

SQL Injection...

Girovagando qua e la in internet sono capitato su un sito fatto da un amico.... Perchè non provare un po di sana SQL Injection mi sono detto !! ;-)
Con stupore ho visto che il sito non era protetto. Non essendo un vero malintenzionato ho avvisato subito l'interessato che ovviamente ha provveduto, dopo una bella sequenza di insulti amichevoli rivolta al sottoscritto, a mettere in sicurezza l'applicazione.
Ma cosa è la Sql Injection ? E' una tecnica molto diffusa e conosciuta utilizzata dagli hacker per penetrare nelle web app e non solo e carpirne i dati etc...
Come funziona ? Sfruttando il codice SQL utilizzato dall'RDBMS su cui si appoggia l'applicazione

domenica 25 novembre 2012

SQL Server 2012: Column Store Index & Query Performance

Una delle novità di SQL Server 2012 è quella dei ColumnStore Index.
Come dice il nome, questo nuovo tipo di indici, invece di contenere righe, contiene i valori delle colonne. Ogni colonna compresa nell'indice ha una propria struttura di allocazione che consente al DB di implementare operazioni di raggruppamento in modo molto più efficiente rispetto agli indici tradizionali.

venerdì 9 novembre 2012

SQL Server 2012 : Service Pack 1

E' uscito il Service Pack 1 di SQL server 2012.
La lista delle novita del sp1 la trovate qui

Da qui potete fare il download dell'sp1.

Ciao

venerdì 26 ottobre 2012

Begin Try, Transazioni, Xact_Abort e Uncommittable transaction

Il costrutto BEGIN TRY, introdotto sin dal'edizione sql 2005, implementa una gestione degli errori simile a quella di altri linguaggi (C#, C++...).
Tenta di eseguire gli statement contenuti nel blocco try, in caso d’errore esegue gli statement del blocco catch.
E' estremamente utile ma presenta alcune restrizioni di cui è bene tenere conto.

domenica 7 ottobre 2012

Data Quality Service : Ripulire i dati con un Data Quality Projects

Nel post precedente abbiamo visto come creare una semplicissima Knowledge Base, ora vediamo come utilizzarla per ripulire i nostri dati utilizzando un Data Quality Projects.

Data Quality Service : Creare una Knowledge Base

Siamo sicuri della qualità dei nostri dati ? Da essi dipende la qualità delle informazioni che vi possiamo attingere.
Bad Data = Bad Business !!
I nostri database potrebbero contenere dati provenienti da altri database, da file excell, da file testuali che, a loro volta, potrebbero contenere dati incompleti, inconsistenti, invalidi, duplicati.

mercoledì 8 agosto 2012

Tabelle partizionate, indici, ricerche e manutenzione...

Gli indici partizionati/allineati sono estremamente utili quando dobbiamo fare ricerche nei dati di tabelle partizionate ma potrebbero essere un collo di bottiglia per le performance quando non sono creati correttamente. Qui un breve post sulla struttura degli indici in tabelle partizionate.

martedì 7 agosto 2012

Tabelle Partizionate e struttura degli indici

Tempo fa avevo parlato della modalità di creazione di tabelle partizionate, ora vediamo come sono composti gli indici creati su questa tipologia di tabelle.