<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Mssql on loman.it</title><link>https://loman.it/tags/mssql/</link><description>Recent content in Mssql on loman.it</description><generator>Hugo</generator><language>it</language><lastBuildDate>Mon, 15 Sep 2008 17:40:00 +0200</lastBuildDate><atom:link href="https://loman.it/tags/mssql/index.xml" rel="self" type="application/rss+xml"/><item><title>MSSQL: risolvere il conflitto sulle regole di confronto</title><link>https://loman.it/2008/09/15/mssql-risolvere-il-conflitto-sulle-regole-di-confronto/</link><pubDate>Mon, 15 Sep 2008 17:40:00 +0200</pubDate><guid>https://loman.it/2008/09/15/mssql-risolvere-il-conflitto-sulle-regole-di-confronto/</guid><description>&lt;p&gt;Quando si usano i DBLink (Linked Server) tra un server MSSQL e un altro, potrebbe saltare fuori questo errore:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Impossibile risolvere il conflitto tra le regole di confronto &amp;quot;SQL_Latin1_General_CP1_CI_AS&amp;quot; e &amp;quot;Latin1_General_BIN&amp;quot; nell'operazione equal to.&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Il modo per risolvere è forzare per quella query una regola di confronto con l&amp;rsquo;istruzione &amp;ldquo;collate&amp;rdquo;:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;select COUNT(1) from [mio_linked_server].[DB_linked_server].[dbo].[TABELLA_SRV_LINK] RMT LEFT OUTER JOIN TABELLA_LOCALE LCL ON LCL.ID = RMT.ID collate SQL_Latin1_General_CP1_CI_AS&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Questo dovrebbe risolvere il problema&lt;/p&gt;</description></item><item><title>Post tecnico: come aggiornare tanti record in MSSQL senza fare dei LOCK</title><link>https://loman.it/2008/07/14/post-tecnico-come-aggiornare-tanti-record-in-mssql-senza-fare-dei-lock/</link><pubDate>Mon, 14 Jul 2008 22:07:00 +0200</pubDate><guid>https://loman.it/2008/07/14/post-tecnico-come-aggiornare-tanti-record-in-mssql-senza-fare-dei-lock/</guid><description>&lt;p&gt;Come aggiornare tantissimi record su una tabella del db della Microsoft senza effettuare un lock alla stessa?&lt;/p&gt;
&lt;p&gt;Potremmo semplicemente usare l&amp;rsquo;istruzione&lt;/p&gt;
&lt;p&gt;&lt;code&gt;SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;ma rischieremmo di creare disallineamenti vari a causa della lettura &amp;ldquo;al volo&amp;rdquo; dovuta all&amp;rsquo;istruzione sopra citata.&lt;/p&gt;
&lt;p&gt;La soluzione quindi è aggiornare un po&amp;rsquo; di record alla volta, così come segue:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;set ROWCOUNT 100 update TABELLA_PROVA with(UPDLOCK) set FL_AGG = 1, CAMPO1 = CAMPO2 + CAMPO3 where FL_AGG = 0 set ROWCOUNT 0&lt;/code&gt;&lt;/p&gt;</description></item></channel></rss>