<?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>Cap Data Team SGBD Blog : Oracle, SQL Server, MySQL, Sybase... &#187; tempdb</title>
	<atom:link href="http://blog.capdata.fr/index.php/tag/tempdb/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.capdata.fr</link>
	<description>Le blog technique sur les bases de données de CAP DATA Consulting</description>
	<lastBuildDate>Wed, 01 Feb 2012 17:21:53 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How-To : réduire l&#8217;enveloppe de tempdb</title>
		<link>http://blog.capdata.fr/index.php/how-to-reduire-lenveloppe-de-tempdb/</link>
		<comments>http://blog.capdata.fr/index.php/how-to-reduire-lenveloppe-de-tempdb/#comments</comments>
		<pubDate>Thu, 07 Jul 2011 08:25:28 +0000</pubDate>
		<dc:creator>David BAFFALEUF</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[tempdb]]></category>

		<guid isPermaLink="false">http://blog.capdata.fr/?p=2673</guid>
		<description><![CDATA[Pour rééquilibrer un peu le discours global des articles, dans lesquels on essaie d&#8217;aborder des sujets très peu étayés sur le net, et qui du coup peuvent paraître parfois obscurs à celui qui cherche juste comment  réduire son journal de transactions où changer son compte de service, nous allons partir sur une autre série de [...]]]></description>
			<content:encoded><![CDATA[<p>Pour rééquilibrer un peu le discours global des articles, dans lesquels on essaie d&#8217;aborder des sujets très peu étayés sur le net, et qui du coup peuvent paraître parfois obscurs à celui qui cherche juste comment  réduire son journal de transactions où changer son compte de service, nous allons partir sur une autre série de How-To sur des actions basiques, avec des démos sous la forme de petites vidéos. Et ce pour deux raisons principales:</p>
<p>- C&#8217;est plus pratique pour nous <img src='http://blog.capdata.fr/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> . Il m&#8217;est arrivé de passer plusieurs semaines sur un seul article donc ça ne va pas faire de mal de parler de choses communes, et en plus s&#8217;il y a une démo à l&#8217;appui&#8230;<br />
- Ça parle à plus de gens. Je suis conscient qu&#8217;on ne doit pas être très nombreux à s&#8217;intéresser aux schedulers non-préemptifs et aux IO completion ports (re- <img src='http://blog.capdata.fr/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ).</p>
<p>Ces articles seront taggés &#8216;<em><strong>howto</strong></em>&#8216; dans le nuage de tags, vous pourrez donc les retrouver tous facilement. Pour ce premier, on va parler d&#8217;un sujet qui revient de temps en temps dans les forums, à savoir comment faire pour réduire la taille de tempdb sur SQL 2005 et SQL 2008.</p>
<h2>Démo sur SQL 2005:</h2>

<span id="video0" class="HDFLV">
<a href="http://www.macromedia.com/go/getflashplayer">Get the Flash Player</a> to see this player.</span>
<script type="text/javascript">
var s0 = new SWFObject("http://blog.capdata.fr/wp-content/plugins/contus-hd-flv-player/hdflvplayer/hdplayer.swf","n0","800height=600","400","7");
s0.addParam("allowfullscreen","true");
s0.addParam("allowscriptaccess","always");
s0.addParam("wmode","opaque");
s0.addVariable("baserefW","http://blog.capdata.fr");s0.addVariable("pid","1");
s0.addVariable("vid","3");
s0.write("video0");
</script>
<div id="htmlplayer1"><iframe  type="text/html" width="800height=600" height="400"  src="http://www.youtube.com/embed/Q7p07GnIxPw" frameborder="0">
</iframe> </div><script>var txt =  navigator.platform ;if(txt =="iPod"|| txt =="iPad"|| txt =="iPhone" || txt =="Linux armv7I")
            {   document.getElementById("htmlplayer1").style.display = "block";
                document.getElementById("video1").style.display = "none";
            }else{
 document.getElementById("htmlplayer1").style.display = "none";
            }
			 function failed(e) {
			  if(txt =="iPod"|| txt =="iPad"|| txt =="iPhone" || txt =="Linux armv7I")
            {
   alert("Player doesnot support this video.");
   }
}
        </script>
<h2>Sur SQL Server 2005:</h2>
<p>Parce que ça a l&#8217;air trivial comme ça, en théorie. Vous vous dites, trop facile je fais un dbcc shrinkfile du ou des fichiers de données de tempdb. Ou alors je fais un ALTER DATABASE tempdb MODIFY FILE (NAME=&#8230;, SIZE=&#8230;) et je redémarre.</p>
<p>Voyons voir:</p>
<pre><span style="color: #0000ff;">select serverproperty('productversion')
</span><span style="color: #0000ff;"><span style="color: #008000;">-- Taille initiale</span></span>
<span style="color: #0000ff;">SELECT size/128 FROM master.sys.master_files WHERE file_id=1 and database_id=2<span style="color: #008000;"> </span>
</span><span style="color: #0000ff;"><span style="color: #008000;"> -- Taille courante</span></span>
<span style="color: #0000ff;">select size/128 from tempdb.sys.database_files WHERE file_id=1
</span></pre>
<pre><em><span style="color: #0000ff;">---------------------------
9.00.4035.00
</span><span style="color: #0000ff;">
---------------------------
</span><span style="color: #0000ff;">1699
</span><span style="color: #0000ff;">
---------------------------
1699</span></em><span style="color: #0000ff;">
</span></pre>
<pre><span style="color: #0000ff;">alter database tempdb modify file(name='tempdev',size=500MB)</span>

<em><span style="color: #ff0000;">Msg 5039, Niveau 16, État 1, Ligne 2
Échec de MODIFY FILE. La taille spécifiée est inférieure à la taille en cours.</span></em></pre>
<p>Dans cette version de SQL Server, la base tempdb est considérée comme les autres bases: on ne peut pas réduire l&#8217;enveloppe à une valeur inférieure à la taille en cours. Quant au DBCC SHRINKFILE / SHRINKDATABASE, il ne va fonctionner que sur une base sans activité, or sur une instance en production, il y a toujours de l&#8217;activité dans tempdb: tris, agrégats, tables temporaires, version store, etc&#8230; Toute cette activité va le plus souvent empêcher DBCC SHRINKFILE de réduire l&#8217;enveloppe à la taille désirée:</p>
<pre><span style="color: #0000ff;">select name,size/128 from master.sys.master_files where database_id=2 and file_id=1
GO
</span>
<span style="color: #0000ff;"><em></em><em>-----------------
1699

</em></span><span style="color: #0000ff;">dbcc shrinkfile('tempdev',500)
GO
<em>
DbId	FileId	CurrentSize	MinimumSize	UsedPages	EstimatedPages
------- ------- --------------  --------------- --------------  --------------
2	1	200200	         1024	         200192	         200192</em></span></pre>
<p>Les tailles sont exprimées en nombre de pages. Taille en Mb = 200200/128 = 1564 Mb, donc on n&#8217;a pas récupéré grand chose. Vous pouvez tenter le shrinkfile avec moins d&#8217;activité si vous ne souhaitez pas une interruption de service, mais si ça ne fonctionne pas, il n&#8217;y qu&#8217;une seule façon de régler le problème: il faut redémarrer l&#8217;instance avec la configuration minimale:</p>
<p>Démarrer SQL Server manuellement dans un prompt DOS en utilisant les options -f -c:</p>
<pre><span style="color: #0000ff;"><strong>C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn&gt;sqlservr -c -f</strong>
2011-07-06 07:35:12.17 Server      Microsoft SQL Server 2005 - <span style="color: #ff0000;">9.00.4035.00</span> (Intel X86)
        Nov 24 2008 13:01:59
        Copyright (c) 1988-2005 Microsoft Corporation
        Developer Edition on Windows NT 5.1 (Build 2600: Service Pack 3)

2011-07-06 07:35:12.18 Server      (c) 2005 Microsoft Corporation.
2011-07-06 07:35:12.18 Server      All rights reserved.
2011-07-06 07:35:12.18 Server      Server process ID is 4076.
2011-07-06 07:35:12.18 Server      Authentication mode is MIXED.
2011-07-06 07:35:12.19 Server      Logging SQL Server messages in file
                                    'V:\DBA2\MSSQL.1\MSSQL\LOG\ERRORLOG'.
2011-07-06 07:35:12.19 Server      This instance of SQL Server last reported using a process
                                  ID of 3496 at 06/07/2011 07:34:18 (local) 06/07/2011 05:34:18
                                  (UTC). This is an informational message only;
 no user action is required.
2011-07-06 07:35:12.19 Server      Registry startup parameters:
2011-07-06 07:35:12.19 Server            -d V:\DBA2\MSSQL.1\MSSQL\DATA\master.mdf
2011-07-06 07:35:12.20 Server            -e V:\DBA2\MSSQL.1\MSSQL\LOG\ERRORLOG
2011-07-06 07:35:12.20 Server            -l V:\DBA2\MSSQL.1\MSSQL\DATA\mastlog.ldf
2011-07-06 07:35:12.20 Server      Command Line Startup Parameters:
2011-07-06 07:35:12.20 Server            -c
2011-07-06 07:35:12.20 Server            -f
<span style="color: #ff0000;">2011-07-06 07:35:12.26 Server      Warning: The server instance was started using minimal
                                   configuration startup option (-f). Starting an instance
                                   of SQL Server with minimal configuration places the server
                                   in single-user mode automatically.  After the server has been
                                   started with minimal configuration, you should change the appropriate
                                   server option value or values, stop, and then restart the server.</span>
2011-07-06 07:35:12.27 Serveur     SQL Server is starting at normal priority base (=7)...
2011-07-06 07:35:12.27 Serveur     Detected 2 CPUs. This is an informational message; no user action is required.
2011-07-06 07:35:12.94 Serveur     Using dynamic lock allocation.  Initial allocation of 2500 Lock blocks and 5000 Lock Owner blocks per node...
<span style="color: #ff0000;">2011-07-06 07:35:12.96 Serveur     Support for distributed transactions was not enabled for this instance of the Database Engine because it was started using the minimal
                                  configuration option. </span><span style="color: #ff0000;"> </span>
2011-07-06 07:35:12.97 spid5s      Starting up database 'master'.
2011-07-06 07:35:13.11 spid5s      Recovery is writing a checkpoint in database 'master' (1). This is an informational message only. No user action is required.
<span style="color: #ff0000;">2011-07-06 07:35:13.16 spid5s      Server started with '-f' option. Auditing will not be started. This is an informational message only; no user action is required.</span>
2011-07-06 07:35:13.18 spid5s      Starting up database 'mssqlsystemresource'.
2011-07-06 07:35:13.20 spid5s      The resource database build version is 9.00.4035. This is an informational message only. No user action is required.
2011-07-06 07:35:13.40 spid6s      Starting up database 'model'.
2011-07-06 07:35:13.40 spid5s      Server name is 'DBA2'. This is an informational message only. No user action is required.
(...)</span></pre>
<p>-f indique à SQL Server de démarrer avec les options minimales et en mode mono utilisateur (pas besoin d&#8217;utiliser le mode -m). Dans ce mode, tempdb reprend la taille initiale de la base model (2Mb), donc on va pouvoir faire passer un ALTER DATABASE MODIFY FILE.<br />
-c indique que SQL Server ne démarre pas en tant que service</p>
<p>A partir de là on se connecte dans une seconde fenêtre DOS:</p>
<pre><span style="color: #0000ff;">DOS&gt;sqlcmd -E
1&gt; select size/128 from tempdb.sys.database_files WHERE file_id=1
2&gt; go

<em>-----------
          2</em>

1&gt; alter database tempdb modify file(name='tempdev',size=500MB)
2&gt; go</span>
<span style="color: #0000ff;">1&gt; </span><span style="color: #0000ff;">exit
</span></pre>
<p>En on redémarre via SQL Configuration Manager.</p>
<h2>Sur SQL Server 2008:</h2>
<p>La bonne nouvelle, c&#8217;est qu&#8217;à partir de SQL Server 2008, on n&#8217;a plus besoin de redémarrer en mode minimal, un ALTER DATABASE MODIFY FILE fonctionne avec des tailles inférieures à la taille en cours (uniquement sur tempdb):</p>
<pre><span style="color: #0000ff;">select serverproperty('productversion')
<span style="color: #008000;">-- Taille initiale</span>
SELECT size/128 FROM master.sys.master_files WHERE file_id=1 and database_id=2
<span style="color: #008000;"> -- Taille courante</span>
select size/128 from tempdb.sys.database_files WHERE file_id=1
<em>
-------------------
10.0.2757.0

-------------------
1564

-------------------
1564</em>

alter database tempdb modify file(name='tempdev',size=500MB)

<em>Command(s) completed successfully.</em></span></pre>
<p>Suivi d&#8217;un arrêt / redémarrage de l&#8217;instance avec SQL Configuration Manager.</p>
<p>A suivre un autre how-to SQL Server. A+</p>
<p>David B.</p>
<h2>Liens:</h2>
<p><a href="http://support.microsoft.com/kb/307487/en-us">http://support.microsoft.com/kb/307487/en-us</a></p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">9.00.4035.00</div>
<p><strong>Continuez votre lecture sur le blog :</strong>
<ul class="similar-posts">
<li><a href="http://blog.capdata.fr/index.php/pourquoi-il-faut-sauvegarder-les-bases-systemes/" rel="bookmark" title="3 juillet 2011">Pourquoi il faut sauvegarder les bases systèmes</a> (David BAFFALEUF) [SQL Server]</li>
<li><a href="http://blog.capdata.fr/index.php/how-to-reduire-la-taille-du-journal-de-transactions-sur-disque/" rel="bookmark" title="11 juillet 2011">How-To: réduire la taille du journal de transactions sur disque</a> (David BAFFALEUF) [SQL Server]</li>
<li><a href="http://blog.capdata.fr/index.php/bench-avec-netapp-datacore-esx/" rel="bookmark" title="26 avril 2011">Bench avec NetApp / Datacore / ESX</a> (David BAFFALEUF) [SQL Server]</li>
<li><a href="http://blog.capdata.fr/index.php/openrowset-episode-1/" rel="bookmark" title="13 juillet 2011">OPENROWSET, épisode 1</a> (David BAFFALEUF) [SQL Server]</li>
<li><a href="http://blog.capdata.fr/index.php/point-in-time-recovery-et-fn_dump_dblog/" rel="bookmark" title="13 juillet 2011">Point-in-time recovery et fn_dump_dblog()</a> (David BAFFALEUF) [SQL Server]</li>
</ul>
<p><!-- Similar Posts took 3.964 ms -->
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fhow-to-reduire-lenveloppe-de-tempdb%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fhow-to-reduire-lenveloppe-de-tempdb%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.capdata.fr/index.php/how-to-reduire-lenveloppe-de-tempdb/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Sessions consommatrices dans tempdb</title>
		<link>http://blog.capdata.fr/index.php/sql-server-sessions-consommatrices-dans-tempdb/</link>
		<comments>http://blog.capdata.fr/index.php/sql-server-sessions-consommatrices-dans-tempdb/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 08:56:42 +0000</pubDate>
		<dc:creator>David BAFFALEUF</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[dbcc inputbuffer]]></category>
		<category><![CDATA[DBCCINPUTBUFFER]]></category>
		<category><![CDATA[DBCCSHOWFILESTATS]]></category>
		<category><![CDATA[monitorTempdb]]></category>
		<category><![CDATA[sessions]]></category>
		<category><![CDATA[tempdb]]></category>

		<guid isPermaLink="false">https://www.alldb.fr/blogs/?p=184</guid>
		<description><![CDATA[Je sais ce que vous allez dire: on l&#8217;a déjà vu partout, il y a déjà un million d&#8217;articles sur le sujet, quel intérêt pour une société qui se défend justement de poster sur des sujets originaux, etc&#8230;
Je vous répondrai que le problème n&#8217;est pas trivial. Tout le monde utilise les vues DMV pour récupérer [...]]]></description>
			<content:encoded><![CDATA[<p>Je sais ce que vous allez dire: on l&#8217;a déjà vu partout, il y a déjà un million d&#8217;articles sur le sujet, quel intérêt pour une société qui se défend justement de poster sur des sujets originaux, etc&#8230;</p>
<p>Je vous répondrai que le problème n&#8217;est pas trivial. Tout le monde utilise les vues DMV pour récupérer les infos de la session qui occupe l&#8217;espace dans tempdb, notamment le texte SQL de la requête:<br />
- <em>sys.dm_db_task_space_usage</em>: pour voir l&#8217;espace utilisé par session.<br />
- <em>sys.dm_exec_requests</em> ou <em>sys.dm_exec_query_stats</em> + <em>cross apply sys.dm_exec_sql_text(sql_handle)</em>: pour plus d&#8217;infos sur les sessions (stats + texte des requêtes).</p>
<p>Seulement voilà: les sessions dont le plan a été purgé du cache ne sont plus visibles dans les DMV sys.dm_exec&#8230; donc la jointure entre sys.dm_db_task_space_usage et sys.dm_exec&#8230; ne renverra pas d&#8217;infos pour des sessions qui utilisent pourtant bel et bien de l&#8217;espace dans tempdb.</p>
<p>Donc il faut avoir recours au bon vieux  <strong><em>dbcc inputbuffer</em></strong> pour récupérer tout ça.</p>
<p>1) D&#8217;abord, on va créer les tables de recueil.</p>
<p>1.1 DBCCINPUTBUFFER va nous permettre de récupérer le contenu du dbcc inputbuffer par session:</p>
<pre>CREATE TABLE tempdb.guest.DBCCINPUTBUFFER
(
EventType varchar(50),
Parameters int,
SQLText varchar(8000)
)</pre>
<p>1.2 DBCCSHOWFILESTATS va nous permettre de récupérer l&#8217;espace total et utilisé dans tempdb:</p>
<pre>CREATE TABLE tempdb.guest.DBCCSHOWFILESTATS
(
[fileid] [int], [filegroup] [int],
[totalextents] [int], [usedextents] [int],
[name] [varchar] (255), [filename] [varchar] (255)
)</pre>
<p>1.3 monitorTempdb sera notre table finale d&#8217;historique.</p>
<pre>CREATE TABLE tempdb.guest.monitorTempdb
(
curdate datetime,
spaceintempdb bigint,
spaceusedintempdb bigint,
spid int,
sqltext varchar(8000),
internal_objects_alloc_MB bigint,
internal_objects_dealloc_MB bigint,
user_objects_alloc_MB bigint,
user_objects_dealloc_MB bigint,
program_name varchar(100),
login_time datetime,
hostname varchar(20),
login_name varchar(100)
)</pre>
<p>2) Par session récupérer les infos et le texte de la requête: on va placer les sessions consommatrices ainsi que les espaces consommés dans un curseur, puis boucler pour chaque session_id et récupérer plus d&#8217;infos (program_name, login, etc&#8230; depuis sys.dm_exec_sessions, la seule DMV qui affiche toutes les sessions actives ou non) et le dernier texte SQL généré:</p>
<pre>use tempdb
go
declare
	@spid int,
	@sqltext varchar(8000),
	@internal_objects_alloc_page_count bigint,
	@internal_objects_dealloc_page_count bigint,
	@user_objects_alloc_page_count bigint,
	@user_objects_dealloc_page_count bigint,
	@program_name varchar(100),
	@login_time datetime,
	@hostname varchar(20),
	@login_name varchar(100),
	@SQLQUERY varchar(100),
	@spaceintempdb bigint,
	@spaceusedintempdb  bigint

declare cr_sqltext CURSOR READ_ONLY for
select session_id,internal_objects_alloc_page_count,internal_objects_dealloc_page_count,
user_objects_alloc_page_count, user_objects_dealloc_page_count
from sys.dm_db_task_space_usage where internal_objects_alloc_page_count &gt; 12000 

open cr_sqltext
fetch next from cr_sqltext into
	@spid,
	@internal_objects_alloc_page_count,
	@internal_objects_dealloc_page_count,
	@user_objects_alloc_page_count,
	@user_objects_dealloc_page_count

while @@fetch_status = 0
begin
	select
		@program_name = program_name,
		@login_time = login_time,
		@hostname = host_name,
		@login_name = login_name
	from sys.dm_exec_sessions where session_id = @spid

	select @SQLQUERY = 'dbcc inputbuffer('+convert(char(3),@spid)+')'

	insert into tempdb.guest.DBCCINPUTBUFFER exec (@SQLQUERY)
	select @sqltext = SQLText from tempdb.guest.DBCCINPUTBUFFER 

	insert into tempdb.guest.DBCCSHOWFILESTATS exec ('DBCC showfilestats with NO_INFOMSGS')
	select
		@spaceintempdb = sum(totalextents)/16,
		@spaceusedintempdb = sum(usedextents)/16
	from tempdb.guest.DBCCSHOWFILESTATS

	delete from tempdb.guest.DBCCINPUTBUFFER
	delete from tempdb.guest.DBCCSHOWFILESTATS

	insert tempdb.guest.monitorTempdb values
	(getdate(),
	@spaceintempdb,
	@spaceusedintempdb ,
	@spid, 	@sqltext,
	@internal_objects_alloc_page_count*8192/1048576 ,
	@internal_objects_dealloc_page_count*8192/1048576 ,
	@user_objects_alloc_page_count*8192/1048576 ,
	@user_objects_dealloc_page_count*8192/1048576 ,
	@program_name ,
	@login_time ,
	@hostname ,
	@login_name)

fetch next from cr_sqltext into
	@spid,
	@internal_objects_alloc_page_count,
	@internal_objects_dealloc_page_count,
	@user_objects_alloc_page_count,
	@user_objects_dealloc_page_count

end
close cr_sqltext
deallocate cr_sqltext
go</pre>
<p>Cette dernière partie peut être mise dans un job planifié toutes les minutes par exemple. C&#8217;est ainsi que j&#8217;ai découvert que sp_MSget_repl_commands et sp_MSdistribution_cleanup (procs de répli) peuvent être extrêmement consommatrices lorsque la file des requêtes à répliquer est très importante.</p>
<p>A+ [ David B. ]</p>
<p><script src="http://tcr.tynt.com/javascripts/Tracer.js?user=d4FlbGI04r35lZadbi-bpO" type="text/javascript"></script><strong>Continuez votre lecture sur le blog :</strong>
<ul class="similar-posts">
<li><a href="http://blog.capdata.fr/index.php/bench-avec-netapp-datacore-esx/" rel="bookmark" title="26 avril 2011">Bench avec NetApp / Datacore / ESX</a> (David BAFFALEUF) [SQL Server]</li>
<li><a href="http://blog.capdata.fr/index.php/how-to-reduire-lenveloppe-de-tempdb/" rel="bookmark" title="7 juillet 2011">How-To : réduire l&#8217;enveloppe de tempdb</a> (David BAFFALEUF) [SQL Server]</li>
<li><a href="http://blog.capdata.fr/index.php/sybase-ase-planification-dans-adaptive-server/" rel="bookmark" title="19 juin 2009">Planification dans Adaptive Server</a> (David BAFFALEUF) [Sybase]</li>
</ul>
<p><!-- Similar Posts took 2.232 ms -->
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fsql-server-sessions-consommatrices-dans-tempdb%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fsql-server-sessions-consommatrices-dans-tempdb%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.capdata.fr/index.php/sql-server-sessions-consommatrices-dans-tempdb/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

