<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Michele Levada &#187; MSDE</title>
	<atom:link href="https://www.levada.info/Blog/?feed=rss2&#038;tag=msde" rel="self" type="application/rss+xml" />
	<link>https://www.levada.info/Blog</link>
	<description>Magoo &#124;&#124; Sentry &#124;&#124; TomClancy  =&#62; www.levada.info</description>
	<lastBuildDate>Fri, 05 Jun 2015 19:38:43 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.2.2</generator>
	<item>
		<title>MSDE &#8211; &#8216;PRIMARY&#8217; filegroup is full</title>
		<link>https://www.levada.info/Blog/?p=9</link>
		<comments>https://www.levada.info/Blog/?p=9#comments</comments>
		<pubDate>Sun, 13 Jul 2008 15:24:34 +0000</pubDate>
		<dc:creator><![CDATA[michele]]></dc:creator>
				<category><![CDATA[MSDE]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[shrink]]></category>

		<guid isPermaLink="false">http://www.levada.info/Blog/?p=9</guid>
		<description><![CDATA[Oggi parliamo di databases. Microsoft SQL Server Ã¨ un DBMS relazionale prodotto da Microsoft. Spesso il limite di 2GB relativo a MSDE puÃ² diventare un problema in quanto non ci si accorge che il database Ã¨ prossimo alla soglia e quando perviene la fatidica frase &#8220;Could not allocate space for object &#8216;&#60;nometabella&#62;&#8217; in database &#8216;&#60;nomedatabase&#62;&#8217; [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Oggi parliamo di databases.</p>
<p><a title="Wikipedia Microsoft SQL Server" href="http://it.wikipedia.org/wiki/Microsoft_SQL_Server" target="_blank">Microsoft SQL Server Ã¨ un DBMS relazionale prodotto da Microsoft.</a><br />
<img src="http://www.levada.info/Blog/wp-content/uploads/2008/07/ConfrontoSQL.png" alt="Tabella confronto DB" width="500" height="100" /></p>
<p>Spesso il limite di 2GB relativo a MSDE puÃ² diventare un problema in quanto non ci si accorge che il database Ã¨ prossimo alla soglia e quando perviene la fatidica frase <em></em></p>
<p><em>&#8220;Could not allocate space for object &#8216;&lt;nometabella&gt;&#8217; in database &#8216;&lt;nomedatabase&gt;&#8217; because the &#8216;PRIMARY&#8217; filegroup is full.&#8221; </em></p>
<p>Ã¨ tardi&#8230; il database Ã¨ praticamente bloccato ed &#8216;inservibile&#8217;</p>
<p><span id="more-9"></span></p>
<p>In realtÃ  il database non sempre Ã¨ &#8216;veramente&#8217; pieno ma Ã¨ lo spazio allocato ad aver raggiunto il limite.</p>
<p>Le soluzioni sono molteplici&#8230;. ma spesso per liberare spazio bisogna in qualche modo allocarne dell&#8217;altro e questo innesca in circolo vizioso che non permette di risolvere il problema.</p>
<p>Lo script .sql che vi propongo puÃ² aiutare alla risoluzione, va lanciato tramite query analizer.</p>
<p><code><br />
/* 	SHRINK DATABASE 							*/<br />
/*	Michele Levada	20080130						*/</code></p>
<p>/*	HOW TO EXECUTE (Using query analizer)					*/<br />
/*	Edit &#8211;&gt; Replace template parameter					*/<br />
/*	put the name of database to shrink					*/<br />
/*	NOTE: lauch twice for better compression				*/</p>
<p>/*	Inizialmente vengono selezionate le singole tabelle e messe in 		*/<br />
/*	ordine di grandezza asc Sucessivamente viene lanciata la 		*/<br />
/*	reindicizzazione dei dati per singola tabella				*/<br />
/*	Al termine viene fatto lo shrink del database				*/</p>
<p>/*	TO DO LIST								*/<br />
/*	Verify autogrow.. and if off turn on					*/<br />
/*	sp_dboption &#8221;					*/<br />
/*	sp_dboption &#8221; , &#8216;trunc. log on chkpt.&#8217; , &#8216;TRUE&#8217;	*/<br />
/*	sp_dboption &#8221; , &#8216;autoshrink&#8217; , &#8216;TRUE&#8217; 		*/</p>
<p>USE</p>
<p>CREATE TABLE #LISTATABELLE<br />
(	Nome		VARCHAR (128)	,<br />
Risorsa		INT		,<br />
Dimensione	INT<br />
)<br />
INSERT #LISTATABELLE ( Nome, Risorsa, Dimensione )</p>
<p>SELECT<br />
Nome		= SYSOBJECTS.NAME	,<br />
Risorsa 	= SYSOBJECTS.ID		,<br />
Dimensione	= 0<br />
FROM 	SYSOBJECTS (NOLOCK)<br />
WHERE 	XTYPE  = &#8216;U&#8217;<br />
ORDER BY	NAME</p>
<p>UPDATE	Z<br />
SET	Z.Dimensione	= ( 	select sum(convert(dec(15),reserved))<br />
from sysindexes<br />
where 	indid in (0, 1, 255)<br />
and	ID = Z.Risorsa<br />
)<br />
FROM	#LISTATABELLE Z</p>
<p>SELECT * FROM #LISTATABELLE</p>
<p>DECLARE @NAME		VARCHAR (128)<br />
DECLARE @COMANDO	NVARCHAR (128)</p>
<p>DECLARE RSREINDICIZZA CURSOR READ_ONLY<br />
FOR 	SELECT 	Nome<br />
FROM 	#LISTATABELLE  (NOLOCK)<br />
ORDER BY Dimensione</p>
<p>OPEN RSREINDICIZZA<br />
FETCH NEXT FROM RSREINDICIZZA INTO @name<br />
WHILE @@FETCH_STATUS &lt;&gt; -1<br />
BEGIN<br />
IF @@FETCH_STATUS &lt;&gt; -2<br />
BEGIN</p>
<p>set @COMANDO = N&#8217;DBCC DBREINDEX (&#8220;&#8216;+ @NAME + &#8216;&#8221;)&#8217;<br />
PRINT @COMANDO<br />
EXECUTE sp_executesql  @COMANDO</p>
<p>END<br />
FETCH NEXT FROM RSREINDICIZZA INTO @name<br />
END<br />
CLOSE RSREINDICIZZA<br />
DEALLOCATE RSREINDICIZZA</p>
<p>dbcc shrinkdatabase (&#8221;)</p>
]]></content:encoded>
			<wfw:commentRss>https://www.levada.info/Blog/?feed=rss2&#038;p=9</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
