<?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: SQL 2000 - SNAPSHOT ISOLATION</title><link>http://sqlserver.ro/forums/thread/7913.aspx</link><pubDate>Sat, 12 Dec 2009 12:09:04 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:7913</guid><dc:creator>xmldeveloper</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/7913.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=7913</wfw:commentRss><description>SQL Server 2000 aborda varianta pesimista pentru tratarea tranzactiilor.&lt;br&gt;Introducerea nivelului de izolare snapshot inseamna de fapt folosirea versiunilor de rand (o abordare optimista) si tratarea potentialelor conflicte in cazul modificarilor.&lt;br&gt;Evident chiar si in SQL Server 2000 se pot genera versiuni de rand folosind un mecanism custom (similare celui prezentat de Bogdan) sau folosind bazati pe triiggers.&lt;br&gt;</description></item><item><title>Re: SQL 2000 - SNAPSHOT ISOLATION</title><link>http://sqlserver.ro/forums/thread/7898.aspx</link><pubDate>Mon, 07 Dec 2009 12:41:32 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:7898</guid><dc:creator>B_gd_n[ ]Sahlean</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/7898.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=7898</wfw:commentRss><description>Dacă este ... să o luăm aşa ... atunci chiar şi dialectul SQL din Access 2000 are nişte chestii faine care lipsesc din T-SQL 2000 iar Cascade Update/Delete era în Access încă de pe vremea lu' SQL Server 7.&lt;br&gt;</description></item><item><title>Re: SQL 2000 - SNAPSHOT ISOLATION</title><link>http://sqlserver.ro/forums/thread/7897.aspx</link><pubDate>Mon, 07 Dec 2009 12:18:26 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:7897</guid><dc:creator>neagu_laurentiu</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/7897.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=7897</wfw:commentRss><description>Multumesc pt. raspuns.&lt;br /&gt;Nu pot sa implementez eu povestea fiindca aplicatia e deja functionala.&lt;br /&gt;Voiam sa stiu daca nu mi-a scapat ceva din lectura documentatiei pt. 2000, ca sa pot seta ceva si sistemul sa faca asta (precum in 2005(8)).&lt;br /&gt;Totusi mi se pare ciudat ca nu au implementat versionarea in 2000 ! Pana si VFoxPro are asa ceva...</description></item><item><title>Re: SQL 2000 - SNAPSHOT ISOLATION</title><link>http://sqlserver.ro/forums/thread/7896.aspx</link><pubDate>Sun, 06 Dec 2009 14:12:43 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:7896</guid><dc:creator>B_gd_n[ ]Sahlean</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/7896.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=7896</wfw:commentRss><description>ALLOW_SNAPSHOT_ISOLATION a fost introdus începând cu SQL 2005.&lt;br&gt;&lt;br&gt;Totuşi dacă &lt;a href="http://sqlblog.com/blogs/linchi_shea/archive/2009/09/25/snapshot-isolation-and-sql-server-2000-compatibility-level.aspx"&gt;BD este SQL2005(2008 ?) şi setezi nivelul de compatibilitate la SQL2000 poţi utiliza acest nivel de izolare a tranzacţiilor&lt;/a&gt;. Citeşte şi comentariile.&lt;br&gt;&lt;br&gt;A doua opţiune ar fi să implementezi chiar tu acest nivel de izolare.&lt;br&gt;O posibilă soluţie în acest sens ar putea fi (scripturile 2 şi 3 tb. rulate în ferestre separate SSMS/"&lt;i&gt;în parale&lt;/i&gt;l"):&lt;br&gt;&lt;img src="http://sqlserver.ro/emoticons/emotion-13.gif" alt="Angel" /&gt; Script T-SQL 1&lt;br&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;IF&lt;/span&gt; &lt;span style="color:Fuchsia;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;OBJECT_ID&lt;/span&gt;(&lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'Marbles'&lt;/span&gt;) &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;IS&lt;/span&gt; &lt;span style="color:Silver;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;NOT&lt;/span&gt; &lt;span style="color:Silver;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;NULL&lt;/span&gt; &lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DROP&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;TABLE&lt;/span&gt; Marbles;&lt;br&gt;GO&lt;br&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;CREATE&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;TABLE&lt;/span&gt; Marbles&lt;br&gt;(&lt;br&gt;ID &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INT&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;PRIMARY&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;KEY&lt;/span&gt;, &lt;br&gt;Color &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;VARCHAR&lt;/span&gt;(10) &lt;span style="color:Silver;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;NOT&lt;/span&gt; &lt;span style="color:Silver;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;NULL&lt;/span&gt;&lt;br&gt;);&lt;br&gt;GO&lt;br&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INSERT&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INTO&lt;/span&gt; Marbles &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;VALUES&lt;/span&gt; (1, &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'Black'&lt;/span&gt;);&lt;br&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INSERT&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INTO&lt;/span&gt; Marbles &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;VALUES&lt;/span&gt; (2, &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'White'&lt;/span&gt;);&lt;br&gt;GO&lt;br&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SELECT&lt;/span&gt; * &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; Marbles &lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;img src="http://sqlserver.ro/emoticons/emotion-22.gif" alt="Beer" /&gt; Script T-SQL 2&lt;br&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;BEGIN&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;TRAN&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DECLARE&lt;/span&gt; @temp &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;TABLE&lt;/span&gt; (ID &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INT&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;PRIMARY&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;KEY&lt;/span&gt;, Color &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;VARCHAR&lt;/span&gt;(10) &lt;span style="color:Silver;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;NOT&lt;/span&gt; &lt;span style="color:Silver;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;NULL&lt;/span&gt;)&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INSERT&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INTO&lt;/span&gt; @temp &lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SELECT&lt;/span&gt; * &lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; Marbles&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;WHERE&lt;/span&gt; Color = &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'Black'&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;WAITFOR&lt;/span&gt; DELAY &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'00:00:10'&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;UPDATE&lt;/span&gt; @temp &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SET&lt;/span&gt; Color = &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'White'&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;UPDATE&lt;/span&gt; Marbles &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SET&lt;/span&gt; Color = TMP.Color &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; @temp &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; TMP &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;WHERE&lt;/span&gt; Marbles.ID = TMP.ID&lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;COMMIT&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;TRAN&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;PRINT&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'Finish T1'&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SELECT&lt;/span&gt; * &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; Marbles&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;img src="http://sqlserver.ro/emoticons/emotion-44.gif" alt="Coffee" /&gt; Script T-SQL 3&lt;br&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;BEGIN&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;TRAN&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DECLARE&lt;/span&gt; @temp &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;TABLE&lt;/span&gt; (ID &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INT&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;PRIMARY&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;KEY&lt;/span&gt;, Color &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;VARCHAR&lt;/span&gt;(10) &lt;span style="color:Silver;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;NOT&lt;/span&gt; &lt;span style="color:Silver;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;NULL&lt;/span&gt;)&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INSERT&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;INTO&lt;/span&gt; @temp &lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SELECT&lt;/span&gt; * &lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; Marbles&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;WHERE&lt;/span&gt; Color = &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'White'&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;WAITFOR&lt;/span&gt; DELAY &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'00:00:20'&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;UPDATE&lt;/span&gt; @temp &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SET&lt;/span&gt; Color = &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'Black'&lt;/span&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;UPDATE&lt;/span&gt; Marbles &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SET&lt;/span&gt; Color = TMP.Color &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; @temp &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; TMP &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;WHERE&lt;/span&gt; Marbles.ID = TMP.ID&lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;/span&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;COMMIT&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;TRAN&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;PRINT&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'Finish T2'&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SELECT&lt;/span&gt; * &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; Marbles&lt;/span&gt;&lt;br&gt;&lt;br&gt;Iniţial am:&lt;br&gt;ID&amp;nbsp;&amp;nbsp;&amp;nbsp; Color&lt;br&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp; Black&lt;br&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp; White&lt;br&gt;&lt;br&gt;Rezultatul este:&lt;br&gt;ID&amp;nbsp;&amp;nbsp;&amp;nbsp; Color&lt;br&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp; White&lt;br&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp; Black&lt;br&gt;&lt;br&gt;şi &lt;font color="#ff0000"&gt;&lt;b&gt;NU&lt;/b&gt;&lt;/font&gt;&lt;br&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp; White&lt;br&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp; White&lt;br&gt;sau&lt;br&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp; Black&lt;br&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp; Black&lt;br&gt;&lt;br&gt;După cum se observă, ideea este ca la începutul fiecărei tranzacţii se încarcă înregistrările într-un cache (@temp) şi toate modificările care le realizăm, nu se fac direct pe tabela Marbles ci în cache. La finalul tranzacţiei actualizez tabela Marbles cu modificările din cache-ul fiecărei tranzacţii folosind&amp;nbsp; valorile din cheia primară. &lt;br&gt;&lt;br&gt;Soluţia aceasta nu este 100% . Dacă cea de-a doua tranzacţie citeşte (INSERT ... SELECT) date din Marbles între ultimul UPDATE şi COMMIT de la prima tranzacţie:&lt;br&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;UPDATE&lt;/span&gt; Marbles &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SET&lt;/span&gt; Color = TMP.Color &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; @temp &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; TMP &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;WHERE&lt;/span&gt; Marbles.ID = TMP.ID&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color:Teal;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;--- aici T2 citeste datele cu INSERT ... SELECT ... ---&lt;/span&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;COMMIT&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;TRAN&lt;/span&gt;&lt;/span&gt;&lt;br&gt;atunci vei avea o problemă.&lt;br&gt;&lt;br&gt;PS: Alte informaţii utile pot fi găsite &lt;a href="http://www.informit.com/articles/printerfriendly.aspx?p=357098"&gt;aici&lt;/a&gt;.&lt;br&gt;</description></item><item><title>SQL 2000 - SNAPSHOT ISOLATION</title><link>http://sqlserver.ro/forums/thread/7895.aspx</link><pubDate>Sat, 05 Dec 2009 23:36:01 GMT</pubDate><guid isPermaLink="false">963f3a18-65dd-4aad-905c-b785cfe1d7c7:7895</guid><dc:creator>neagu_laurentiu</dc:creator><slash:comments>0</slash:comments><comments>http://sqlserver.ro/forums/thread/7895.aspx</comments><wfw:commentRss>http://sqlserver.ro/forums/commentrss.aspx?SectionID=15&amp;PostID=7895</wfw:commentRss><description>In SQL Server 2000 pot avea un fel de ALLOW_SNAPSHOT_ISOLATION ?&lt;br&gt;Daca o tranzactie a unui user incepe sa modifice anumite randuri dintr-o tabela, ceilalti useri sa nu astepte terminarea tranzactiei ci sa citeasca valoarea dinaintea respectivei tranzactii (READPAST sare peste row-urile blocate iar READ UNCOMMITTED nici nu poate intra in calcul)...</description></item></channel></rss>