T-Sql

Detect Heap Tables

Sergio Govoni

Quando progettiamo una nuova tabella, è molto importante decidere di creare o meno l’indice cluster.

Una tabella che non ha l’indice cluster è chiamata anche tabella HEAP, mentre una tabella su cui insiste un indice cluster è definita clustered table. Se non ci poniamo il problema, di creare o meno il clustered index in fase di progettazione, probabilmente non ci penseremo più fino a quando gli utenti (eventualmente) non si lamenteranno delle performance della nostra soluzione (database o applicativa).

Script che restituisce la cronologia delle modifiche agli oggetti di un database

Davide Mauri

Capita, di frequente, di avere la necessità di stabilire quale sia stata la cronologia delle modifiche effettuate agli oggetti di un database, ad esempio alle Stored Procedure.
Lo script restituisce la cronologia di modifica a tutti gli oggetti o, a particolari tipologie di oggetti. Se si vuole ottenere la cronologia di modifica delle SP basta inserire nella sezione di assegnazione delle variabili l’istruzione SET @obj_type=‘P’.
Se il database in esame prevede l’uso degli oggetti di supporto per il diagramming l’elenco delle SP include anche SP come sp_creatediagram etc., che appartengono, di default, allo schema dbo.
Viene adottato un criterio di ordinamento per data modifica e tipo oggetto, ma il criterio è personalizzabile cambiando il valore di @sqlord.

Message 8152: String or binary data would be truncated

Sergio Govoni

Recentemente, ho avuto l’occasione di seguire in prima persona l’aggiornamento di versione del software gestionale presso un cliente. Una delle best practicies da adottare in queste situazioni è la predisposizione di un ambiente di test (con una copia del DB del cliente) su cui installare la nuova versione dell’ERP. Tale ambiente servirà per eseguire gli opportuni test prima di passare in produzione l’aggiornamento.

Il sistema gestionale è dotato anche di un’interfaccia che permette di dialogare con il software di logistica di una società di spedizioni, presso la quale viene stoccato il materiale destinato alla vendita. Lo spedizioniere dovrà quindi essere informato periodicamente circa le spedizioni da eseguire. Si comprende facilmente quanto il modulo di interfaccia diventi un punto critico in sede di aggiornamento e proprio per questo motivo dovrà essere provato in tutte le situazioni.

About OFFSET/FETCH options (T-SQL) in SQL Server Code-Name "Denali"

Sergio Govoni

Nello scorso mese di novembre, durante il PASS Summit 2010, Microsoft ha annunciato la disponibilità della prima community technology preview (CTP) di SQL Server 2011 noto anche con il Code-Name “Denali”. Dopo l’annuncio, la CTP1 è stata resa disponibile per il download. La documentazione online (BOL) descrive le nuove funzionalità del linguaggio T-SQL.

La clausola ORDER BY (utilizzata per ordinare il result set di una query), in SQL Server 2011 Code-Name “Denali”, è stata arricchita con alcune interessanti opzioni, che permettono di semplificare la costruzione personalizzata delle pagine del result set di una query. Si tratta delle clausole OFFSET e FETCH di cui vedremo una preview in questo articolo.