jaká rizika jsou, pokud povolíme snímek potvrzující čtení na serveru sql?
<p>přečetl jsem <a href="https://stackoverflow.com/questions/4111660/what-are-implications-of-set-ting-allow-snapshot-isolation-on">zde</a> , že některá další data budou uložena na řádek, abychom mohli vidět zhoršení výkonu, ale jaká jsou další rizika?</p><p>např. ovlivní to obnovení databáze? musíme ještě něco udělat, abychom to využili?</p><p>mám v plánu provést tyto příkazy:</p><pre><code>alter database databasename set read\_committed\_snapshot on alter database databasename set allow\_snapshot\_isolation on </code></pre><p>věřím, že nám to přinese něco bližšího k oracle, kde, pokud se jedna transakce aktualizuje, mohou ostatní transakce stále přečíst stará data. je to správně?</p><p>dívám se na to, protože mi chybí problémy se zamykáním v serveru sql server 2005. doufám, že by to mohlo snížit příležitostné zablokování, které uživatelé uvidí, pomůže celkový výkon naší aplikace a povzbudí naše vývojáře, aby provedli více než jednu operaci na transakci bez strach.</p>
<p><strong> souhrn </strong></p><ol> <li>pokud máte problémy se zamykáním, máte problém s kódem: nejedná se o databázový stroj</li> <li>není to kouzelná střela</li> <li>můžete přidat další problémy</li> </ol><p><strong> zatížení </strong></p><p>také zvýší zatížení vašeho tempdb a <a href="https://web.archive.org/web/20170130011816/http://sqlblog.com/blogs/alexander\_kuznetsov/archive/2008/07/12/cpu-overhead-for-higher-isolation-levels.aspx"> cpu </a> . viz také:</p><ul> <li> <a href="https://web.archive.org/web/20170915173116/http://sqlblog.com/blogs/linchi\_shea/archive/2007/10/05/performance-impact-the-potential-cost-of-read-committed-snapshot.aspx">"dopad na výkon: potenciální náklady na čtení\_kompletní\_snapshot"</a> (linchi shea)</li> </ul><p><strong> bezpečnost </strong></p><p>nejdůležitější je, že izolace snímků <em> není v mnoha případech bezpečná </em> <em> ve výchozím nastavení </em>. přečtěte si <a href="https://en.wikipedia.org/wiki/snapshot\_isolation#definition">"snapshot izolace" (wikipedia)</a> pro další informace o anomáliích se skreslením. další část je „jak provést sériovou izolaci snímkování“.</p><blockquote> <p>obecně tedy izolace snímků přináší některé problémy s udržováním netriviálních omezení na uživatele, který nemusí ocenit potenciální úskalí ani možná řešení. nevýhodou tohoto převodu je lepší výkon.</p> </blockquote><p>viz také:</p><ul> <li> <a href="http://www.jimmcleod.net/blog/index.php/2009/08/27/the-potential-dangers-of-the-read-committed-snapshot-isolation-level">"potenciální nebezpečí čtecí úrovně izolace snímaného odevzdání"</a> (jimmcleod, sporný v komentářích alexa kuznetsova)</li> <li> <a href="http://nickberardi.com/deadlocked-read-committed-snapshot-explained/">deadlocked !: "číst potvrzující snímek" vysvětlil</a> (nick berardi)</li> <li> <a href="https://blogs.msdn.microsoft.com/craigfr/2007/05/16/serializable-vs-snapshot-isolation-level/">serializable vs. snapshot isolation level, marble problem</a> (craig freedman)</li> <li> <a href="https://web.archive.org/web/20170511045506/http://sqlblog.com/blogs/alexander\_kuznetsov/archive/2011/08/02/reads-involving-udfs-under-read-committed-snapshot-may-seem-inconsistent.aspx">čtení zahrnující udf v read\_committed\_snapshot se může zdát nekonzistentní</a> (alex kuznetsov)</li> </ul>
Jen si všiml na tuto otázku.


To je jeden z použití Nans že IEEE 754 Výbor má na mysli (byl jsem členem výboru). Pravidla pro šíření pro Nans v aritmetice, aby to velmi atraktivní, protože pokud máte výsledek z dlouhé posloupnosti výpočtů, které se týkají některé inicializovaná data nebude splést výsledek za platný výsledek. To může také zpětné vysledování prostřednictvím vašich výpočtů zjistit, kde používáte inicializační údaje mnohem přímočařejší.


To znamená, že existuje několik úskalí, které jsou mimo kontrolu 754 výboru: jak si všimli jiní, ne všichni hardware podporuje hodnoty rychlostí, což může mít za následek nebezpečí výkonu NaN. Naštěstí se člověk nemusí často mnoho operací na inicializovaných dat v prostředí výkonu kritických. Často toto je provedeno pomocí [„Data Driven odběry“](https://msdn.microsoft.com/en-us/library/ms169673.aspx) , ale tato funkce je k dispozici pouze v některých SQL vydáních: Enterprise a Business Intelligence, ale ne v normě.


Takže existuje celá řada kreativních řešení. Ale nemám rád žádné z nich, a všechny vyžadují spravedlivý trochu práce mimo SSRS.


Mezi řešení, které jsem viděl, patří: Vytvoření odběr a potom zakázání nebo povolení SQL úlohu, kterou odešle předplatné (identifikovatelné podle GUID).


Vytvořte si .NET obálky exe zvládnout odeslání e-mailu. Je možné spustit dotaz nejprve zjistit, kolik se vrací řádky, a pak v případě potřeby generovat zprávu a zahrnout do e-mailu. protože používáte WinForms aplikaci, pokud je to v NET 2.0 je to vlastně systém uživatelských nastavení (tzv Properties), který je navržen pro tento účel. [Tento článek na webu MSDN](http://msdn.microsoft.com/en-us/library/aa730869(VS.80).aspx) má docela dobrý úvod do této


Pokud jste stále obavy o výkonu pak se podívat na [SQL Compact Edition](http://www.microsoft.com/sql/editions/compact/default.mspx) , který je podobný SQLite, ale je dar společnosti Microsoft, který jsem našel hraje velmi pěkně s WinForms a je tu i možnost [, aby to fungovalo s LINQ](http://geekswithblogs.net/steveclements/archive/2007/11/13/LINQ-to-SQL.compact.aspx) SMO se systémem T-SQL pod přikrývkou. Dalo by se prototyp SMO a pak sledovat v Profiler získat T-SQL.


Je to pravděpodobně k narušení EULA, ale mohli jste redistrib SMO sestav bok po boku s aplikací, bez nutnosti instalace v tomto případě. Nemyslím si, že jejich instalační program zasáhne registru. Docela snadno rozbít otevřený na SQLServerManagementObjects.msi a zjistit. Zkusil bych zazálohovat a tovární nastavení. Videl bych to na prava na slozce. Pouzivam osobne XP, ale na nich se musi v moznostech slozky odzaskrtnout pole pouzivat zjednodusene sdileni. Po te pri kazdem nastavovani sdileni slozky pribude zalozka s pravama, kde se da nastavit uzivatel nebo skupina, ktera do slozky muze vstupovat, zapisovat atd. Dle mého názoru je lepší to tam nechat,je to integrované v systému a pokud to dáš  
pryč,máš větší šanci na nestabilitu systému. Budete dělat NTLM / Kerberos / vyjednávání [SSPI výměny smyčku](http://msdn.microsoft.com/en-us/library/aa375403(VS.85).aspx) . Tam je aa plný vzorek na MSDN jak pro [klienta](http://msdn.microsoft.com/en-us/library/aa380536(VS.85).aspx) i [serveru](http://msdn.microsoft.com/en-us/library/aa380537(VS.85).aspx) . Aby bylo jasno: vy *ani* používat žádný druh přístupu LDAP explictily. Je LSA (Local Security Authority), který mluví s LDAP a určuje totožnost klienta. Pokud jste úspěšný v tom celý SSPI smyčky, ověření se podařilo už i identita klienta je *alread* ověřen proti LDAP. Pokud váš server potřebuje znát identitu klienta (např. Znát použití rname) je to načte z kontextu zabezpečení za následek SSPI smyčky pomocí [`QueryContextAttributes(..., SECPKG_ATTR_NAMES,...)`](http://msdn.microsoft.com/en-us/library/aa379328(VS.85).aspx)a načte uživatelské jméno ze [`SecPkgContext_Names`](http://msdn.microsoft.com/en-us/library/aa380089(VS.85).aspx)struktury. Pokusy zjišťuji, že výzva k uložení hesel se zobrazuje, hesla se ukládají, nikoliv však na stránce s dříve smazaným heslem. Když teď koupíš 512 MB a později dalších 512 MB, vystavuješ se riziku, že ti to pak nepojede v dual chanel, protože ty paměti nebudou identické...