novembre 2009 - Posts
Articolo molto ben curato riguardante l'argomento
Indici e Tabelle Temporanee.
http://www.ugiss.org/Content/Article/Indexes-and-temporary-table.aspx
(Fonte UGISS - Sergio Govoni)
Ciao
È sicuramente una delle ricerche più comuni e banali ma nasconde
alcune insidie.
Proviamo a creare una query capace di restituire la
riga corrispondente
alla data corrente nella tabella T_PROVA generata
precedentemente :
SELECT * FROM T_PROVA
WHERE DATA=GETDATE()
Apparentemente semplice, ma il risultato non è scontato! La query
non restituisce alcuna riga,
eppure tutto è corretto perchè la data
odierna è sicuramente presente nella tabella.
Anche se ciò è vero non ci sono risultati perché i valori che andiamo a
confrontare non sono uguali, o meglio solo in parte.
La data memorizzata nella tabella (al momento in cui ho eseguito lo
script
ovviamente) è
pari a '2005-02-07 22:03:39.117' mentre la funzione
GETDATE() restituisce solamente la stessa parte di data
con un tempo in
ore minuti e millisecondi logicamente differente.
Per fare un confronto omogeneo dobbiamo eliminare la porzione ore, minuti e
millisecondi da entrambe le date, vediamo ora i diversi modi con cui possibile
ottenere un risultato corretto :
SELECT * FROM T_PROVA
WHERE
FLOOR( CAST(DATA
AS FLOAT) ) = FLOOR( CAST(GETDATE() AS FLOAT) )
Oppure :
SELECT * FROM T_PROVA
WHERE
CONVERT(VARCHAR(8),DATA,112)
= CONVERT(VARCHAR(8),GETDATE(),112)
Ciao a Tutti 
E’ stata rilasciata una Cumulative Update per SQL 2008
che mette a
posto un problema che impediva il corretto funzionamento
dell’opzione
RECOMPILE, fondamentale per poter gestire in modo performante
delle
condizioni di ricerca dinamiche all’interno di stored procedure.
Per chi c’era l’anno scorso, ne abbiamo parlato proprio alla WPC
nella sessione SQL Server 2008 Developing for Performance.
Con l’opzione RECOMPILE è possibile scrivere query di questo tipo :
select
*
from
dbo.Ordini
where
(NomeDestinatario = @Nome or @Nome is null)
and
(CittaDestinatario = @Citta or @Citta is null)
and
(CAPDestinatario = @CAP or @CAP is null)
and
(DataOrdine = @DataOrdine or @DataOrdine is null)
option(recompile)
ed avere sempre il piano di esecuzione migliore, anziche uno generico,
in base ai valori dei parametri passati.
Purtroppo un bug impediva il corretto funzionamento
dei questa opzione…che, come anticipato,
è finalmente stato risolto, e la fix è inclusa nel CU5 SP1 o CU8 RTM.
Da scaricare!
(Fonte Davide Mauri - SQL Server & .NET Specialist)
Ciao Ciao
SQLWorkshop
fornisce la possibilità di scaricare una serie di webcasts che
spiegano come effettuare (in pratica e per problemi reali) le attività
di Performance Tuning.
Il webcast completo sarà disponibile per il download a partire dal 23 novembre 2009
a questo link: webcasts.sqlworkshops.com
(Fonte UGISS)
Ciao Ciao
In allegato vi è un file Script.zip contenente gli script ed un file
Readme.txt che non è altro che una guida per creare una pianificazione dello
Shrink di un Database in SQL Server Express, che come tutti sappiamo,
non prevede il servizio AGENT e di conseguenza i piani di manutenzione.
Ciao Ciao
Nella sezione Download del sito UGISS c'è una Slide interessante che
permette di approfondire l’ottimizzazione di SQL Server in ambenti che
prevedono
la virtualizzazione in ambiente Microsoft Hyper-V o VMWare.
Verranno trattati argomenti relativi al posizionamento dei dischi in
SAN,
la creazione dei file di database e l’ottimizzazione dello I/O.
In Allegato al Post vi è il file Virtualizzazione SQL Server 2008 - Slide.zip.
(Documento UGISS)
Ciao Ciao 
A differenza di quello detto nel post precedente :
http://community.ugiss.org/blogs/superzani3/archive/2009/05/07/Schedulazione-backup-in-sql-server-express.aspx
qui illustreremo la schedulazione d'un backup in SQL Server EXPRESS
tramite un piano di manutenzione creato attraverso delle apposite
Stored Procedure e file Batch.
1) Store Procedure ExpressMaint.sql
Questa Stored Procedure permette di creare la
gestione per il piano di manutenzione ;
2) Script Impostazione_Backup.sql
Questo Script permette di impostare delle opzioni per il
Bakcup (Nome, Frequenza ecc ecc) ;
3) File Batch Install ExpressMaint.bat
Permette di installare la Stored Procedure
ExpressMaint nel DB Master ;
4) File Batch Backup.bat
File che esegue l'operazione di Bakcup già vista nel
post precedente sopracitato.
In allegato al Post troverete il file Script.zip contenente tutti questi file
ed il file Readme.txt che spiega i passi da svolgere.
Ciao a Tutti