<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqlserver.ro/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>T-SQL</title><link>http://sqlserver.ro/forums/15/ShowForum.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>Re: Blocaje</title><link>http://sqlserver.ro/forums/thread/6105.aspx</link><pubDate>Sat, 08 Nov 2008 12:14:04 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:6105</guid><dc:creator>step</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/6105.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=6105</wfw:commentRss><description>Se pare ca s-au cam rezolvat problemele&lt;br /&gt;&lt;br /&gt;log-ul de tranzactie era cu "steroizi" -avea o dimensiune maricica -aprox 73 G&lt;br /&gt;&lt;br /&gt;Dupa micsorarea lui -s-a linistit treaba.&lt;br /&gt;Dar cum a ajuns la dimensiunea asta nu am idee.&lt;br /&gt;&lt;br /&gt;Din cate stiu eu  -planul  de backup este aceelasi  de ani de zile   &lt;br /&gt;&lt;br /&gt;Bine ca s-a rezolvat ;)&lt;br /&gt;S</description></item><item><title>Re: Blocaje</title><link>http://sqlserver.ro/forums/thread/6026.aspx</link><pubDate>Tue, 04 Nov 2008 09:43:07 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:6026</guid><dc:creator>ignatandrei</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/6026.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=6026</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://sqlserver.ro/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;alinescoo:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Intru si eu in discutie, poate cu ocazia asta ma mai lamuresc.&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;cel mai bine este sa deschizi un nou thread...&lt;br&gt;</description></item><item><title>Re: Blocaje</title><link>http://sqlserver.ro/forums/thread/6024.aspx</link><pubDate>Tue, 04 Nov 2008 09:21:38 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:6024</guid><dc:creator>alinescoo</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/6024.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=6024</wfw:commentRss><description>Intru si eu in discutie, poate cu ocazia asta ma mai lamuresc. Tot probleme cu blocaje pe un server SQL 2005. Dupa indelungi cautari si incercari am facut o procedura stocata care imi returneaza informatii despre cine blocheaza si pe cine blocheaza. Problema e ca nu reusesc sa adaptez procedura sa vad exact ce parametri sunt folositi. Dau un exemplu:&lt;br /&gt;Query1:&lt;br /&gt;create table ##TblTest (SomeColumn int)&lt;br /&gt;go&lt;br /&gt;begin transaction&lt;br /&gt;insert into ##TblTest (SomeColumn) values (1)&lt;br /&gt;&lt;br /&gt;waitfor delay '0:01:40'  /* hold the transaction open for 40 seconds */&lt;br /&gt;go&lt;br /&gt;commit transaction&lt;br /&gt;&lt;br /&gt;Query2:&lt;br /&gt;SELECT * FROM ##tblTest WHERE somecolumn=1&lt;br /&gt;&lt;br /&gt;La rularea procedurii imi apare ca primul query il blocheaza pe al doilea.Folosing sys.dm_exec_sql_text imi la al doilea proces imi afiseaza query-ul ca fiind:&lt;br /&gt;(@1 tinyint)SELECT * FROM [##tblTest] WHERE [somecolumn]=@1 &lt;br /&gt;Deci, nu stiu ce valoare are @1. Am incercat si cu Inputbuffer dar tot nu afiseaza ce se intampla pentru cazurile 'real life' de ex, cand se salveaza o factura, se executa o procedura... totul e cu parametri @x&lt;br /&gt;&lt;br /&gt;Atasez procedura poate aveti mai multa inspiratie:&lt;br /&gt;&lt;br /&gt;Create PROCEDURE [dbo].[sp_GetBlockingStatus]&lt;br /&gt;AS&lt;br /&gt;&lt;br /&gt;BEGIN&lt;br /&gt;    SET NOCOUNT ON;&lt;br /&gt;&lt;br /&gt;    WITH Blocking(SPID, SPIDCareBlocheaza, Query, RowNo, LevelRow)&lt;br /&gt;    AS&lt;br /&gt;    (&lt;br /&gt;		SELECT s.SPID, &lt;br /&gt;		       s.BlockingSPID, &lt;br /&gt;		       s.Definition,&lt;br /&gt;		       ROW_NUMBER() OVER(ORDER BY s.SPID),&lt;br /&gt;		       0 AS LevelRow&lt;br /&gt;		FROM (SELECT s.spid, BlockingSPID = s.blocked, DatabaseName = DB_NAME(s.dbid),&lt;br /&gt;		             s.program_name, s.loginame, ObjectName = OBJECT_NAME(objectid,s.dbid), &lt;br /&gt;		             Definition = CAST(text AS VARCHAR(MAX))&lt;br /&gt;		      FROM sys.sysprocesses s CROSS APPLY sys.dm_exec_sql_text (sql_handle)&lt;br /&gt;		      WHERE s.spid &gt; 50 ) s&lt;br /&gt;		      JOIN &lt;br /&gt;		      (SELECT s.spid, BlockingSPID = s.blocked, DatabaseName = DB_NAME(s.dbid),&lt;br /&gt;		             s.program_name, s.loginame, ObjectName = OBJECT_NAME(objectid,s.dbid), &lt;br /&gt;		             Definition = CAST(text AS VARCHAR(MAX))&lt;br /&gt;		      FROM sys.sysprocesses s CROSS APPLY sys.dm_exec_sql_text (sql_handle)&lt;br /&gt;		      WHERE s.spid &gt; 50 ) s1 ON s.SPID = s1.BlockingSPID&lt;br /&gt;		WHERE s.BlockingSPID = 0&lt;br /&gt;		UNION ALL&lt;br /&gt;		SELECT r.SPID,  &lt;br /&gt;		       r.BlockingSPID, &lt;br /&gt;		       r.Definition,&lt;br /&gt;		       d.RowNo,&lt;br /&gt;		       d.LevelRow + 1&lt;br /&gt;		FROM (SELECT s.spid, BlockingSPID = s.blocked, DatabaseName = DB_NAME(s.dbid),&lt;br /&gt;		             s.program_name, s.loginame, ObjectName = OBJECT_NAME(objectid,s.dbid), &lt;br /&gt;		             Definition = CAST(text AS VARCHAR(MAX))&lt;br /&gt;		      FROM sys.sysprocesses s CROSS APPLY sys.dm_exec_sql_text (sql_handle)&lt;br /&gt;		      WHERE s.spid &gt; 50 ) r&lt;br /&gt;		      JOIN Blocking d ON r.BlockingSPID = d.SPID&lt;br /&gt;		WHERE r.BlockingSPID &gt; 0&lt;br /&gt;    )&lt;br /&gt;    SELECT SPID, SPIDCareBlocheaza, Query, RowNo, LevelRow FROM Blocking&lt;br /&gt;    ORDER BY RowNo, LevelRow&lt;br /&gt;END&lt;br /&gt;</description></item><item><title>Re: Blocaje</title><link>http://sqlserver.ro/forums/thread/5980.aspx</link><pubDate>Thu, 30 Oct 2008 09:22:38 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5980</guid><dc:creator>ignatandrei</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5980.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=5980</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://sqlserver.ro/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;step:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Si astept, si astept ...
Si aflu ca cei din compania respectiva au intrat in concediu fortat cateva zile  (cu criza au scazut comenzile)&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;tocmai a aparut un articol despre blocaje... vezi daca merge&lt;br&gt;http://www.sqlservercentral.com/articles/Blocking/64474/&lt;br&gt;</description></item><item><title>Re: Blocaje</title><link>http://sqlserver.ro/forums/thread/5975.aspx</link><pubDate>Wed, 29 Oct 2008 20:53:40 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5975</guid><dc:creator>ignatandrei</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5975.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=5975</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://sqlserver.ro/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;step:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Si astept, si astept ...
Si aflu ca cei din compania respectiva au intrat in concediu fortat cateva zile  (cu criza au scazut comenzile)&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;Mda... de ce nu faci tu exact ce face aplicatia intr-o aplicatie .NET , care lanseaza 100 de thread-uri...poate reusesti sa reproduci problema.&lt;br&gt;Pe de alta parte- iata problema rezolvata &lt;img src="http://sqlserver.ro/emoticons/emotion-4.gif" alt="Stick out tongue" /&gt;&lt;br&gt;</description></item><item><title>Re: Blocaje</title><link>http://sqlserver.ro/forums/thread/5974.aspx</link><pubDate>Wed, 29 Oct 2008 16:23:01 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5974</guid><dc:creator>step</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5974.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=5974</wfw:commentRss><description>Si astept, si astept ...&lt;br /&gt;Si aflu ca cei din compania respectiva au intrat in concediu fortat cateva zile  (cu criza au scazut comenzile)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description></item><item><title>Re: Blocaje</title><link>http://sqlserver.ro/forums/thread/5971.aspx</link><pubDate>Wed, 29 Oct 2008 12:08:20 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5971</guid><dc:creator>step</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5971.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=5971</wfw:commentRss><description>ok; stau cu ochii pe Activity MOnitor;&lt;br /&gt;&lt;br /&gt;am lasat tranzactii explicite doar in  punctele "critice"&lt;br /&gt;&lt;br /&gt;si astept ....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description></item><item><title>Re: Blocaje</title><link>http://sqlserver.ro/forums/thread/5970.aspx</link><pubDate>Wed, 29 Oct 2008 11:55:36 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5970</guid><dc:creator>ignatandrei</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5970.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=5970</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://sqlserver.ro/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;rremus:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://sqlserver.ro/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;ignatandrei:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;Daca sunt situatii statistice ... si sunt de acum x zile ( unde x&amp;gt;0) poti sa te gindesti la o alta BD, in care sa replici datele la 12 noaptea ( de ex.) si sa citesti de acolo.&lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;Nu ca vreau sa fiu gica contra :) dar mai simplue sa faci un Snapshot database (create database ... as snapshot of ...)&lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;scuze,Remus&lt;br&gt;&lt;br&gt;Pentru mine "replici datele " era un termen generic ... care putea insemna orice (snapshot, log shipping, database mirroring, backup and restore, solutie custom intr-o aplicatie ...) Stiu ca nu am folosit termenul corect, insa nu imi dau seama care ar fi ...&lt;br&gt;</description></item><item><title>Re: Blocaje</title><link>http://sqlserver.ro/forums/thread/5969.aspx</link><pubDate>Wed, 29 Oct 2008 10:57:47 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5969</guid><dc:creator>rremus</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5969.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=5969</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://sqlserver.ro/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;step:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Multam pt sfaturi;
blocajele au fost descoperite din Activity Monitor.&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;Si ce procese blocau pe cine? Coloanele 'Blocked By' si 'Blocking' in Activity Monitor.&lt;br&gt;</description></item><item><title>Re: Blocaje</title><link>http://sqlserver.ro/forums/thread/5968.aspx</link><pubDate>Wed, 29 Oct 2008 10:56:55 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5968</guid><dc:creator>rremus</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5968.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=5968</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://sqlserver.ro/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;ignatandrei:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;Daca sunt situatii statistice ... si sunt de acum x zile ( unde x&amp;gt;0) poti sa te gindesti la o alta BD, in care sa replici datele la 12 noaptea ( de ex.) si sa citesti de acolo.&lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;Nu ca vreau sa fiu gica contra :) dar mai simplue sa faci un Snapshot database (create database ... as snapshot of ...)&lt;br&gt;</description></item><item><title>Re: Blocaje</title><link>http://sqlserver.ro/forums/thread/5967.aspx</link><pubDate>Wed, 29 Oct 2008 10:53:04 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5967</guid><dc:creator>ignatandrei</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5967.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=5967</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://sqlserver.ro/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;step:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;

In ceea ce priveste dirty reads -pot sa il folosesc -mai ales pt situatiile statistice -pt ca nu sunt acordate permisiuni de update/delete .&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;Daca sunt situatii statistice ... si sunt de acum x zile ( unde x&amp;gt;0) poti sa te gindesti la o alta BD, in care sa replici datele la 12 noaptea ( de ex.) si sa citesti de acolo. Totusi, te-as sfatui, cum zice remus , sa dai mai multe detalii referitoare la &lt;br&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://sqlserver.ro/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;step:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;

&lt;br&gt;blocajele au fost descoperite din Activity Monitor .
&lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;</description></item><item><title>Re: Blocaje</title><link>http://sqlserver.ro/forums/thread/5966.aspx</link><pubDate>Wed, 29 Oct 2008 09:30:39 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5966</guid><dc:creator>step</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5966.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=5966</wfw:commentRss><description>Multam pt sfaturi;&lt;br /&gt;blocajele au fost descoperite din Activity Monitor .&lt;br /&gt;&lt;br /&gt;In ceea ce priveste dirty reads -pot sa il folosesc -mai ales pt situatiile statistice -pt ca nu sunt acordate permisiuni de update/delete .&lt;br /&gt;&lt;br /&gt;</description></item><item><title>Re: Blocaje</title><link>http://sqlserver.ro/forums/thread/5965.aspx</link><pubDate>Wed, 29 Oct 2008 08:17:49 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5965</guid><dc:creator>rremus</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5965.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=5965</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://sqlserver.ro/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;step:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;situatia 1:
era un view (select), o procedura stocata  ( select )
si mai era o procedura stocata care facea insert si care avea begin tran ...

pe server primele doua nu era un tranzactie , in client -nu aveam tranzactie (cel putin in ultimele versiuni ale mele)

toate cele 3 procese erau pe server in blocaj
si cand a eliminat primele doua  -s-a deblocat si al 3 proces

situatia&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;&lt;br&gt;Potzi sa ne spui ce methodologie ai avut cind ai investigat blocajele respective? Cum ai vazut ca 3 procese sint blocate, cum ai eliminat primele 2 etc etc.&lt;br&gt;Fara sa ne spui detaliile ne ramine doar sa ghicim ce ai facut. Un scenariu ar fi ca te-ai conectat cu SSMS, ai rulat sp_who, sp_who2 sau altceva asemanator, ai vazut ca 3 procese erau 'blocate'. Asta ar insemna ca in coloana BlkBy exista ceva. Sa zicem ca ai vazut ca SPID 51 (selectul), 52 (procedura) si 53 (insertul) erau 'blocate', deci aveau o valoare in BlkBy.&amp;nbsp; Cine le bloca? Era o relatie circulara (51 si 52 blocate de 53, 53 blocate de 51 de ex care ar insemna un deadlock) ? Erau intr-o relatie lineara (51 blocat de 53 si 53 blocat de 52 de ex) si in acest caz, cine il bloca pe ultimul din serie? Erau blocate de un al 4-lea SPID (si in acest caz cine era acest al 4-lea spid si ce facea)?&lt;br&gt;&lt;br&gt;Pina nu stim astfel de detalii toate sfaturile care le vei primi vor fi banuieli si incercari. E drept, venind de la niste oameni cu experienta si care au sansa (mare) sa nimereasca exact problema, dar la fel de bine ne putem invirti in cerc o saptamina fara nici un progress.&lt;br&gt;&lt;br&gt;Eu in primul rind tzi-as recomanda sa urmezi metodologia descrisa in &lt;a href="http://support.microsoft.com/kb/271509"&gt;KB 271509 'How to monitor blocking in SQL Server'&lt;/a&gt;. Instaleaza procedura sp_blocker_pss80 din articol si urmeaza sfaturile de acolo despre cum sa o rulezi periodic si apoi vezi daca procedura indica vreun batch ca fiind mereu cauza blocarilor, si putem continua de acolo.&lt;br&gt;&lt;br&gt;Si nu in ultimul rind ia in considerare ca exista si altfel de blocaje decit cele cauzate de locks. In primul rind exista blocaje cauzate de filegrowth cind bazat ta de date sau log-ul sau umplut si sint periodic expandate. Uitate in perfmon counters pentru database ca sa vezi daca exista 'Log Growths' (select * from sys.dm_os_performance_counters where counter_name = 'Log Growths') sau daca exista database grow events (astea trebuie sa le cautzi in ERRORLOG din pacate). Alte cauza care pot genera blocaje pot fi limitari de resurse: memorie (caz in care in ERRORLOG ar aparea erori 701 sau 801/802), CPU (caz in care in work_queue_count in sys.dm_os_schedulers ar incepe sa creasca), retea (daca clientul nu proceseaza suficient de rapid resultatele). Script-ul de la KB 271509 poate identifica toate aceste cazuri din fericire.&lt;br&gt;&lt;br&gt;Cit despre dirty reads si NOLOCK, daca asta e ce doresti dezinstaleaza SQL acuma si treci la MS Access.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Re: Blocaje</title><link>http://sqlserver.ro/forums/thread/5964.aspx</link><pubDate>Wed, 29 Oct 2008 07:33:10 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5964</guid><dc:creator>ignatandrei</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5964.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=5964</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://sqlserver.ro/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;step:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;procedura stocata
SELECT     dbo.Detalii.ProdusID, SUM(dbo.Detalii.Cantit) AS cantitE, dbo.BC.Predator
FROM         dbo.BC INNER JOIN
                      dbo.Detalii ON dbo.BC.ID = dbo.Detalii.ID INNER JOIN
                      dbo.NirD ON dbo.Detalii.ReceptieID = dbo.NirD.ID  
		 INNER JOIN             dbo.NIR ON dbo.NirD.NirID = dbo.NIR.nirID 
WHERE     (dbo.BC.AnulatDe IS NULL) 
GROUP BY dbo.Detalii.ProdusID, dbo.BC.Predator, dbo.NirD.NirID
HAVING      (dbo.Detalii.ProdusID = @produsID) AND (dbo.BC.Predator = @Predator) AND (dbo.NirD.NirID = @id)


view ul
SELECT     SUM(dbo.Detalii.Cantit) AS Cantit, dbo.Detalii.ProdusID, dbo.Detalii.SarjaID, dbo.BC.ID, 0 AS Modif
FROM                   dbo.Detalii  INNER JOIN
                      dbo.BC ON dbo.BC.ID = dbo.Detalii.ID 
GROUP BY dbo.Detalii.ProdusID, dbo.Detalii.SarjaID, dbo.BC.ID&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;Dupa cite vad , amindoua folosesc aceleasi 2 tabele :Detalii si BC&amp;nbsp; - si probabil de aceea ai lock-ul ...&lt;br&gt;E vreuna care nu trebuie sa fie executata "real-time" - de ex., am impresia ca procedura stocata este folosita pentru raportare dupa parametri ...&lt;br&gt;</description></item><item><title>Re: Blocaje</title><link>http://sqlserver.ro/forums/thread/5963.aspx</link><pubDate>Wed, 29 Oct 2008 07:30:29 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:5963</guid><dc:creator>rremus</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/5963.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=5963</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://sqlserver.ro/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;step:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;
pe server primele doua nu era un tranzactie , in client -nu aveam tranzactie (cel putin in ultimele versiuni ale mele)&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;Trebuie sa atrag atentia ca o tranzactie exista intotdeauna. Daca tu nu ai declarat o tranzactie explicita, o tranzactie implicita va fi creata pentru fiecare instructiune care acceseaza date si va fi comisa la terminarea instructiunii.&lt;br&gt;</description></item></channel></rss>