Tak jsem zase narazil na jednu "zajímavou vlastnost" SharePointu 2007 (resp. WSS 3.0). Tentokrát se týká práce se skupinami v SharePointu a doménovými uživateli (alespoň podle informací na webu se problém týká pouze jich).
Projevuje se následovně: V doméně se vám objeví nový uživatel a vy jej chcete přidat do některé ze skupin, které máte v SharePointu vytvořené. Když se o to pokusíte, objeví se vám chyba "Operace přerušena". Aby to nebylo tak jednoduché, dochází k tomu u skupin, které mají větší počet uživatelů (cca více než 100, alespoň tedy podle mých experimentů).
Řešení je v nastavení proměnné SQL spojení XACT_ABORT na OFF. Protože nejsme schopni ovlivnit parametry spojení do SQL databáze, které SharePoint vytváří, musíme nastavit na SQL serveru výchozí hodnotu této proměnné pro všechna spojení. To může být problém, pokud dotyčný SQL server hostuje databáze i jiných systémů. Proměnná XACT_ABORT totiž výrazně ovlivňuje reakci SQL serveru na chyby, které nastanou při zpracování SQL příkazů.
Více se o tom můžete dočíst na webu MSDN. Ve stručnosti jde o to, že pokud je hodnota nastavena na ON a při zpracovávání některého z příkazů transakce dojde k chybě, tak je ukončena s chybou (ROLLBACK) celá transakce. V případě nastavení hodnoty na OFF, vyhodnocuje SQL závažnost chyby a celou transakci ukončí s chybou jen v závažných případech. V ostatních případech pokračuje SQL dál ve zpracovávání příkazů transakce, jen nastaví hodnotu systémové proměnné @@ERROR po provedení inkriminovaného příkazu. Po něm následující příkazy tak na neúspěch mohou reagovat.