<?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>Le blog de SQLpro &#187; durée</title>
	<atom:link href="https://blog.developpez.com/sqlpro/ptag/duree/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/sqlpro</link>
	<description>Le SQL pour SQL Server, PostGreSQL et tous les autres SGBDR</description>
	<lastBuildDate>Thu, 15 Oct 2020 12:59:17 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>Une requête pour traquer les transactions trop longues</title>
		<link>https://blog.developpez.com/sqlpro/p12892/ms-sql-server/une-requete-pour-traquer-les-transactions-trop-longues</link>
		<comments>https://blog.developpez.com/sqlpro/p12892/ms-sql-server/une-requete-pour-traquer-les-transactions-trop-longues#comments</comments>
		<pubDate>Thu, 16 Jul 2015 14:30:57 +0000</pubDate>
		<dc:creator><![CDATA[SQLpro]]></dc:creator>
				<category><![CDATA[MS SQL Server]]></category>
		<category><![CDATA[SQL Server 2005]]></category>
		<category><![CDATA[SQL Server 2008]]></category>
		<category><![CDATA[SQL Server 2012]]></category>
		<category><![CDATA[SQL Server 2014]]></category>
		<category><![CDATA[SQL Server 2016]]></category>
		<category><![CDATA[blocage]]></category>
		<category><![CDATA[durée]]></category>
		<category><![CDATA[SQL server]]></category>
		<category><![CDATA[transaction]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/sqlpro/?p=575</guid>
		<description><![CDATA[Des transactions qui durent peuvent être à l&#8217;origine de blocage soudain intervenant de manière aléatoire (phénomènes stochastique). Il convient de les traquer et d&#8217;y répondre, soit en analysant la cause, soit en les tuant. Voici une requête permettant de les lister&#8230; DECLARE @MINUTES SMALLINT; SET @MINUTES = 10; --&#62; durée minimale en minutes depuis le [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Des transactions qui durent peuvent être à l&rsquo;origine de blocage soudain intervenant de manière aléatoire (phénomènes stochastique). Il convient de les traquer et d&rsquo;y répondre, soit en analysant la cause, soit en les tuant. Voici une requête permettant de les lister&#8230;<br />
<span id="more-575"></span></p>
<div class="codecolorer-container sql default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="sql codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #993333; font-weight: bold;">DECLARE</span> @MINUTES <span style="color: #993333; font-weight: bold;">SMALLINT</span>;<br />
<span style="color: #993333; font-weight: bold;">SET</span> @MINUTES <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">10</span>; <span style="color: #808080; font-style: italic;">--&gt; durée minimale en minutes depuis le démarrage de la transaction</span><br />
<span style="color: #993333; font-weight: bold;">WITH</span> T <span style="color: #993333; font-weight: bold;">AS</span><br />
<span style="color: #66cc66;">&#40;</span><br />
<span style="color: #993333; font-weight: bold;">SELECT</span> at<span style="color: #66cc66;">.</span>transaction_begin_time<span style="color: #66cc66;">,</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp;DATEDIFF<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">SECOND</span><span style="color: #66cc66;">,</span> at<span style="color: #66cc66;">.</span>transaction_begin_time<span style="color: #66cc66;">,</span> GETDATE<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> DUREE_SECONDE<span style="color: #66cc66;">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;login_time<span style="color: #66cc66;">,</span> host_name<span style="color: #66cc66;">,</span> program_name<span style="color: #66cc66;">,</span> login_name<span style="color: #66cc66;">,</span> transaction_state<span style="color: #66cc66;">,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;s<span style="color: #66cc66;">.</span>cpu_time<span style="color: #66cc66;">,</span> s<span style="color: #66cc66;">.</span>total_elapsed_time<span style="color: #66cc66;">,</span> s<span style="color: #66cc66;">.</span>reads<span style="color: #66cc66;">,</span> s<span style="color: #66cc66;">.</span>writes<span style="color: #66cc66;">,</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp;client_net_address<span style="color: #66cc66;">,</span> DB_NAME<span style="color: #66cc66;">&#40;</span>dbid<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> DATABASE_NAME<span style="color: #66cc66;">,</span> text <span style="color: #993333; font-weight: bold;">AS</span> SQL_query<br />
<span style="color: #993333; font-weight: bold;">FROM</span> &nbsp; sys<span style="color: #66cc66;">.</span>dm_tran_active_transactions &nbsp;<span style="color: #993333; font-weight: bold;">AS</span> at<br />
&nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #993333; font-weight: bold;">JOIN</span> sys<span style="color: #66cc66;">.</span>dm_tran_session_transactions <span style="color: #993333; font-weight: bold;">AS</span> st<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #993333; font-weight: bold;">ON</span> at<span style="color: #66cc66;">.</span>transaction_id <span style="color: #66cc66;">=</span> st<span style="color: #66cc66;">.</span>transaction_id<br />
&nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #993333; font-weight: bold;">JOIN</span> sys<span style="color: #66cc66;">.</span>dm_exec_sessions <span style="color: #993333; font-weight: bold;">AS</span> s<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #993333; font-weight: bold;">ON</span> st<span style="color: #66cc66;">.</span>session_id <span style="color: #66cc66;">=</span> s<span style="color: #66cc66;">.</span>session_id<br />
&nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #993333; font-weight: bold;">JOIN</span> sys<span style="color: #66cc66;">.</span>dm_exec_connections <span style="color: #993333; font-weight: bold;">AS</span> c<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #993333; font-weight: bold;">ON</span> st<span style="color: #66cc66;">.</span>session_id <span style="color: #66cc66;">=</span> c<span style="color: #66cc66;">.</span>session_id<br />
&nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #993333; font-weight: bold;">LEFT</span> <span style="color: #993333; font-weight: bold;">OUTER</span> <span style="color: #993333; font-weight: bold;">JOIN</span> sys<span style="color: #66cc66;">.</span>dm_exec_requests <span style="color: #993333; font-weight: bold;">AS</span> r<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #993333; font-weight: bold;">ON</span> st<span style="color: #66cc66;">.</span>session_id <span style="color: #66cc66;">=</span> r<span style="color: #66cc66;">.</span>session_id<br />
&nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #993333; font-weight: bold;">OUTER</span> APPLY sys<span style="color: #66cc66;">.</span>dm_exec_sql_text<span style="color: #66cc66;">&#40;</span>most_recent_sql_handle<span style="color: #66cc66;">&#41;</span><br />
<span style="color: #993333; font-weight: bold;">WHERE</span> &nbsp;transaction_type &nbsp;<span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">1</span> <span style="color: #808080; font-style: italic;">-- active</span><br />
&nbsp; <span style="color: #993333; font-weight: bold;">AND</span> &nbsp;transaction_state <span style="color: #993333; font-weight: bold;">IN</span> <span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">7</span><span style="color: #66cc66;">&#41;</span> <span style="color: #808080; font-style: italic;">-- écriture</span><br />
&nbsp; <span style="color: #993333; font-weight: bold;">AND</span> &nbsp;transaction_begin_time <span style="color: #66cc66;">&lt;</span> DATEADD<span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">MINUTE</span><span style="color: #66cc66;">,</span> <span style="color: #66cc66;">-</span>@MINUTES<span style="color: #66cc66;">,</span> GETDATE<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><br />
<span style="color: #66cc66;">&#41;</span><br />
<span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*,</span> <span style="color: #993333; font-weight: bold;">CAST</span><span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">CAST</span><span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">CAST</span><span style="color: #66cc66;">&#40;</span>DUREE_SECONDE<span style="color: #66cc66;">/</span><span style="color: #cc66cc;">86400</span> <span style="color: #993333; font-weight: bold;">AS</span> DATETIME<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> <span style="color: #993333; font-weight: bold;">INT</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">10</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">+</span> <span style="color: #ff0000;">' jour '</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">+</span> <span style="color: #993333; font-weight: bold;">RIGHT</span><span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">CONVERT</span><span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">CHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">24</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">CAST</span><span style="color: #66cc66;">&#40;</span>DUREE_SECONDE<span style="color: #66cc66;">/</span><span style="color: #cc66cc;">86400.0</span> <span style="color: #993333; font-weight: bold;">AS</span> DATETIME<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">121</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">13</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> DUREE<br />
<span style="color: #993333; font-weight: bold;">FROM</span> &nbsp; T<br />
<span style="color: #993333; font-weight: bold;">ORDER</span> <span style="color: #993333; font-weight: bold;">BY</span> DUREE_SECONDE <span style="color: #993333; font-weight: bold;">DESC</span>;</div></div>
<p>Le paramètre @MINUTES sert à éviter de lister les requêtes durant moins de n minutes.<br />
Vous pouvez changer la valeur de ce paramètre qui est à 10 minutes (une valeur déjà élevée).</p>
<p>La sortie fournit les informations suivantes :</p>
<ul>
<li>machine à l&rsquo;origine</li>
<li>applications à l&rsquo;origine</li>
<li>compte de connexion</li>
<li>adresse réseau de la machine à l&rsquo;origine
<li>base contuextelle</li>
<li>requête SQL</li>
<li>durée en Jour, Heure, Minutes, Seconde&#8230;</li>
<li>diverses métriques de temps</li>
</ul>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Frédéric Brouard, alias SQLpro, ARCHITECTE DE DONNÉES<br />
Expert &nbsp;S.G.B.D &nbsp;relationnelles &nbsp; et &nbsp; langage &nbsp;S.Q.L<br />
Moste &nbsp;Valuable &nbsp;Professionnal &nbsp;Microsoft &nbsp;SQL Server<br />
Société SQLspot &nbsp;: &nbsp;modélisation, conseil, formation,<br />
optimisation, &nbsp;audit, &nbsp;tuning, &nbsp;administration &nbsp;SGBDR<br />
Enseignant: CNAM PACA, ISEN Toulon, CESI Aix en Prov.</div></div>
<p>L&rsquo;entreprise <a href="http://www.sqlspot.com">SQL Spot</a><br />
<strong>Le site web sur le </strong><a href="http://sqlpro.developpez.com/">SQL et les SGBDR</a></p>
<p><img src="http://blog.developpez.com/media/Microsoft_MVP_logo_vertical Brouard 400.jpg" width="400" height="135" alt="MVP Microsoft SQL
Server" /></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
