Příliš nízká hodnota maxservermemory

Nešťastnou náhodou se povedlo nastavit maximální pamět SQL serveru na hodnotu 240. Je třeba si uvědomit, že parametr pro uloženou proceduru sp_configure je třeba zadávat v MB a ne v GB. Jednalo se o server, který měl paměti opravdu dostatečně – 256GB. Bohužel s takovýmto nastavením služba SQL Server nenaběhne, vždyt se podařilo nastavit, že může používat maximálně 240MB. Není podstatné, jak se změnil memory manager mezi verzemi, tato hodnota je natolik nízká, že službu není možné pustit.

Nezbývá než v takovém případě je potřeba použít jeden ze startup parametrů -f, který umožnuje start služby s naprosto minimální konfigurací. I v tomto případě je možné se připojit přes Management Studio, pokud se Vám nechce pracovat přes příkazovou řádku, a nastavit správnou hodnotu pro max server memory. Po odstranění parametru a restartu služby už funguje vše v pořádku.

Optimalizace nastavení SQL Serveru pro SharePoint 2010/2013

Při nasazení SharePoint Server 2010 nebo 2013 je jedním ze základních stavebních kamenů celé farmy i SQL Server, který nabízí nepřeberné množství konfiguračních položek. Pro optimální výkon celého prostředí je vhodné nastavit některé konfigurační volby tak, aby vyhovovaly právě SharePoint serveru. Mnohdy jsou tyto volby odlišné od těch, které bychom chtěli mít pro jiné produkční systémy, proto je také doporučeno pro nasazení SharePoint serveru mít dedikovaný SQL Server.

Auto Create and Update Statistics

Každá databáze vytvořená na SQL Serveru má několik „auto“ vlastností, které mají vliv na výkon dané aplikace. U všech SharePoint databází (konfigurační, servisní, obsahové) je vhodné nastavit tuto volbu na false, alespoň taková informace je k dispozici na stránce technet.microsoft.com. SharePoint server si řeší údržbu databáze pomocí Healt Analyzer pravidla, které je spouštěno každý den a stará se právě o statistiky na jednotlivých databázích. Toto pravidlo ale pouze volá uloženou proceduru, která není v každé SharePoint databázi a u takových je vhodné nechat tyto volby nastavené na true.

Continue reading

Vliv Instant File Initialization na výkon SQL Serveru

SQL Server pokud je správně nastaven dokáže použít „Instant File Initialization (dále jen IFI) pro optimalizaci práce s diskovým systémem. Každá databáze SQL Serveru je tvořena minimálně dvěma soubory – souborem datovým (přípona mdf, master data file) a souborem pro transakční log (ldf, log data file). Při vytváření obou souborů je za výchozího nastavení nutné provést „nulování“ souboru, tj. nastavení jednotlivých bitů na hodnotu 0 pro celou velikost souboru. K těmto operacím dochází pří použití příkazů CREATE DATABASE, ALTER DATABASE (týká-li se IO), RESTORE DATABASE a v případě autogrow operací (každý soubor může být nastaven na autogrow v procentuelní velikosti, nebo v pevné velikosti přírůstku). Zejména v případě autogrow a restore je nutnost čekat na nulování souboru zdlouhavá a zbytečná (vezměme v úvahu případ obnovy databáze o velikosti 200GB, poté čekáme na zapsání nulových hodnot, než proběhne samotná obnova databáze i několik desítek minut). Celé nulování provádí samotný SQL Server, a ne NTFS filesystém.

Continue reading