Protože Azure AD Connect (AAD Connect) pravidelně přidává nové funkce, stává se pro mnoho firem a organizací stále důležitější komponentou cloudových služeb. Často se stává, že služba po prvotní instalaci „prostě běží“, a vlastně ani aktivně po administrátorech nevyžaduje žádnou pravidelnou údržbu. Možná je na čase vzpomenout si, na kterém serveru jsme ji nainstalovali, a zkontrolovat ji. Máte? J

 

Kolik vlastně mám volného místa v databázi?

Pokud jste použili výchozí nastavení a používáte lokální databázi SQL Server Express, rozhodně je dobré zkontrolovat (a průběžně monitorovat) volné místo v databázi. Nezapomeňte, že limit je 10 GB, který se s postupným přidáváním synchronizovaných objektů a atributů může docela rychle vyčerpat. Po dosažení tohoto limitu AAD Connect v podstatě bez varování zhavaruje.

Pro okamžitou manuální kontrolu můžete použít následující postup:

 

1.     Zjistíme název instance z registru HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server Local DB\Shared Instances\ADSync\InstanceName. Řekněme, že naše instance se jmenuje LOCALDB#ABC12345

2.     Spustíme příkazovou řádku a přepneme se do C:\Program Files\Microsoft SQL Server0\Tools\Binn

3.     Spustíme příkaz sqlcmd -S "np:\\.\pipe\LOCALDB#ABC1234\tsql\query" (samozřejmě jméno instance nahradíte hodnotou získanou v kroku 1).

4.     Nyní vybereme databázi, která se jmenuje ADSYNC příkazy

a.      1> use adsync

b.     2> go

Poznámka: pokud by se v budoucnosti jméno databáze změnilo, jméno databáze zjistíte příkazy

a.      1> select * from sysdatabases

b.     2> go

5.     A konečně se podíváme na volné místo, které je aktuálně k dispozici

a.      1> sp_spaceused

b.     2> go

Výsledek bude vypadat například takto:

Obrázek 1 - kontrola volného místa v lokální databázi

6.     Nakonec ukončíme připojení k databázi

a.      1> exit

 

Protože hodnota database_size zahrnuje velikost souborů databáze a transakčních logů, zajímá nás spíše hodnota „reserved“ (viz  https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-spaceused-transact-sql?view=sql-server-2017 ).

 

Pokud jsme například zjistili, že máme k dispozici poslední 1 GB volného místa, můžeme pro zmenšení nároků na místo snížit počet uchovávaných záznamů o průběhu synchronizace z výchozích 7 dnů např. na 3 dny pomocí příkazu Set-ADSyncScheduler -PurgeRunHistoryInterval 3.00:00:00 

Obrázek 2 - změna uchovávané historie

 

Toto je ovšem pouze dočasné opatření a měli bychom přemýšlet o migraci databáze na plnohodnotný SQL server, respektive SQL cluster.

 

Stěhujeme databázi

 

Při dodatečném přesunu databáze na SQL cluster je potřeba myslet na to, že pravděpodobně budete potřebovat také záložní (tzv. staging) server, jehož databáze bohužel používá stejné jméno. Proto pro záložní AAD Connect server budete muset použít jinou SQL instanci.

 

Ideální a doporučované řešení je tedy provést novou instalaci služby se zadáním SQL serveru a instance.

 

Migrace by měla být možná v případě, že jste službu „Microsoft Azure AD Sync“ nakonfigurovali pro spouštění pod doménovým servisním účtem. Celý proces spočívá zjednodušeně v následujících krocích, přesto je vhodnější použít podporovanou a jistou cestu čisté instalace.

 

1.     Zastavení a zakázání služby „Microsoft Azure AD Sync“

2.     Migrace – přesun databáze na SQL server. Na požadavky na SQL server, collation a další   předem nastudujte na https://docs.microsoft.com/en-us/azure/active-directory/connect/active-directory-aadconnect-prerequisites. Zaměřte se hlavně na oprávnění a vlastníka databáze, správné nastavení „collation“ a podporované verze SQL serveru.

3.     Obnovte vlastníka (db owner) a oprávnění pro servisní účet na novém SQL serveru.

4.     Pro jistotu zazálohujte registry

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ADSync\Parameters

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSOLCoExistence\CurrentVersion

5.     Aktualizujte cestu k novému SQL serveru a instanci:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ADSync\Parameters\SQLInstance

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ADSync\Parameters\Server

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSOLCoExistence\CurrentVersion\SqlInstanceName

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSOLCoExistence\CurrentVersion\SqlServerName

6.     Povolte a nastartujte službu „Microsoft Azure AD Sync“

7.     Zkontrolujte případné chyby v konzoli a protokolu událostí.

8.     Volitelně na SQL serveru pro databázi zkontrolujte a upravte hodnotu „autogrow“ tak, aby se databáze zvětšovala např. po 100 MB nebo 10 % své aktuální velikosti.

Tento krok doporučuji provést i při nové instalaci AAD Connectu s využitím SQL instance, zvětšování databáze vždy o 1 MB obvykle není optimální hodnota. 

 

Příště se podíváme na zálohování konfigurace tak, abyste se mohli vydat bezpečnou cestou – přenést stávající konfiguraci na nový server, a zároveň stejné nastavení aplikovat na záložní (staging) server.