“Disk Partition Alignment Best Practices for SQL Server 2008”

by Marco 24. febbraio 2010 17.17

Quando si parla di ottimizzazioni delle performance di SQL Server spesso si tende a focalizzarsi solo sulla “query” o sul “disegno del database” in questione. Un’altro aspetto di non poca importanza per le performance è il “dove” i nostri file di dati/log risiedono.

Se volete capire meglio come l’allineamento delle partizioni può darvi anche oltre il 30% in più di performance(“…Disk latency is a fundamental measure of disk performance…”) vi consiglio di leggere questo interessante “paper” sulle “best practices” da utilizzare prima di cominciare l’installazione del nostro amato DBMS.

http://msdn.microsoft.com/en-us/library/dd758814.aspx

buona lettura…

Vota questo post per primo

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,

SQL Server

“Saving changes is not permitted…” SQL Server Management Studio

by Marco 30. luglio 2009 16.27

Se vi capita di modicare la struttura di una tabella attraverso il SQL Server Management Studio di SQL Server 2008 potreste incappare in una finestra di questo tipo:

PC1

il messaggio vi dice che la modifica che state apportando richiederà di cancellare e ricreare la tabella(almeno questa è la modalità con cui il SQL Management Studio funziona riguardo a questi tipi di modifiche) e vi suggerisce in caso vi vada bene questa modalità di modifica, di disabilitare l’opzione chiamata “Prevent saving changes that require table to be re-created”.

L’opzione si trova sotto al menù Tool->Options->Designers

PS

Il Management Studio di solito crea una tabella temporanea con la nuova struttura, carica al suo interno tutti i dati della tabella da modificare e poi cancella la tabella vecchia e rinomina la temporanea. Se questa modalità non vi piace potete sempre ricorrere a degli ALTER a manina.

Vota questo post per primo

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

SQL Server

Generare una serie di date con T-SQL

by Marco 4. giugno 2009 14.36

Per un progetto su cui sto lavorando ho bisogno di avere tutti i giorni di un dato mese passando come parametri l’anno e il mese.

Dopo aver preso spunto dall’idea di Itzik Ben-Gan dal suo libro “Inside SQL Server 2005 T-SQL Programming” sono arrivato a questa soluzione( è la bozza diciamo ).

set dateformat ymd
declare @year int,@month int
set @year = 2009
set @month = 6
;with
    L0 as (select 1 as c union all select 1 ),
    L1 as (select 1 as c from L0 as A,L0 as B),
    L2 as (select 1 as c from L1 as A,L1 as B),
    L3 as (select 1 as c from L2 as A,L2 as B),
    L4 as (select 1 as c from L3 as A,L3 as B),
    L5 as (select 1 as c from L4 as A,L4 B),
    Nums as (select row_number() over(order by c) as n from L5)
select CAST(    CAST(@year as nvarchar(4))  + N'-' +
                CAST(@month as nvarchar(2)) +N'-' +
                CAST( n  as nvarchar(2)) as datetime) as dt 
from Nums where n <= 31 and
                ISDATE(CAST(@year as nvarchar(4))  + N'-' +
                CAST(@month as nvarchar(2)) +N'-' +
                CAST( n  as nvarchar(2))) = 1

Questa query ritorna il set di date del mese di giugno dell’anno 2009.
Lo script fa uso delle CTE, funzioni di Ranking e funzioni sulle date. Funziona con le versioni di SQL Server che supportano queste features, io la sto usando su SQL Server 2005.

Correntemente valutato 3.0 da 5 utenti

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: ,

SQL Server

Disclaimer
Le opinioni espresse in questo blog sono mie opinioni personali.

© Copyright 2012 Knowledge.CreateAsync()