pipponet ha scritto:
Salve,
ho cercato un pò on line ma non ho trovato niente che mi possa illuminare sulla possibilità in sql server, all'interno di una store, di sapere la dimensione in byte ad esempio che occupa un campo di una tabella o il totale di un record.
C'è un modo?
Grazie
In primo luogo devi discriminare tra campi a lunghezza fissa e campi a lunghezza variabile. I primi occupano, a prescindere dal valore che rappresentano, sempre un valore fisso di byte. I campi a lunghezza variabile hanno una occupazione di spazio su disco legata al valore che rappresentano. Per valutare se un campo è a lunghezza fissa o a lunghezza variabile devi tenere conto del datatype utilizzato, del fatto che ammetta o meno valori NULL e dell'impostazione ANSI PADDING al momento in cui è stata creata la tabella. In merito a questo argomento fai riferimento a questo post
http://groups.google.it/group/microsoft.public.it.sql/msg/b7f8d1e008c99ce9?hl=it&
A questo punto, stabilita la reale occupazione di spazio di una singola riga, devi aggiungere qualche byte derivante dall'overhead legato alla gestione dei campi a lunghezza variabile e alla possibile presenza di valori NULL. Informazioni dettagliate su come procedere per il calcolo puoi trovarle incollando la stringa che segue nel menù GO->URL del Book On Line di SQL Server
createdb.chm::/cm_8_des_02_92k3.htm
Calcolarlo all'interno di una stored procedure... beh, vorrei conoscerne l'utilità... ;-)
Bye