Stav a poslední čas synchronizace jednotlivých doménových řadičů lze zjistit příkazovým řádkem

Repadmin /replsummary

 

V doméně s Windows server probíhá defautlní synchronizace času takto:

  • za hlavní a nejspolehlivější zdroj času je považován primární řadič domény. Ten si defaultně čas sychnronizuje ze serverů Microsoftu time.windows.com 
  • ostatní řadiče domény si čas synchronizují s nejautoritativnějsím řadičem domény
  • ostatní členové domény si synchronizují čas s libovolným řadičem domény

Pokud potřebujete v síti jako autoritativní zdroj času použít jiný NTP server, je vhodné synchronizovat primární řadič domény s tímto NTP serverem a ostatní synchronizaci času ponechat jak je. V mém případě je z důvodu bezpečnosti sítě omezena komunikace s externími NTP servery a jako časový zdroj používám aktivní prvek, který je perimetrem sítě

Následující situace se mě stává celkem pravidelně, když instaluju Windows Server do virtuálního prostředí. Po instalaci nelze systém aktivovat resp.ani nelze zadat aktivační klíč

To se tak člověk někdy vychytá, když narazí na proceduru, kterou udělal někdo před ním ...

A to je ideální stav si vysvětlit rozdíl mezi @@IDENTITY a SCOPE_IDENTITY.

Obě tyto funkce vracejí ID posledního záznamu, který procedurou vytvoříme. Např. v proceduře použijeme příkaz, kterým vkládáme do určité tabulky data a následně potřebujeme zjistit ID posledního námi vloženého záznamu, abychom s ním mohli dále pracovat. ID posledního záznamu můžeme samozřejmě zjistit tím, že nad danou tabulkou zavoláme SELECT MAX (ID) FROM ..... nebo SELECT IDENT_CURRENT( 'Tabulka' )  Pozor, to nám ale vrátí poslední ID v tabulce, takže pokud někdo chvilku po nás udělá také INSERT do dané tabulky, budeme mít ID posledního záznamu a ne toho našeho vloženého, tedy není omezeno relací nebo scope.

Použijeme tedy jednu z výše uvedených funkcí, ale pozor na jejich fungování.

SCOPE_IDENTITY vrací ID posledního záznamu v dané transakci a daném scope, takže pouze z tabulky, do které děláme procedurou INSERT

Kdežto @@IDENTITY vrací ID posledního záznamu, kterým procedura ID vyvolá nějaký INSERT. Takže když je nad tabulkou TRIGGER, který udělá na základě vašeho Insertu také Insert (třeba i do jiné tabulky), tak dostanete ID toho záznamu vytvořeného triggem !!

Můžete si říci: dobře, já triggery používat nebudu. To si taky asi řekl ten, kdo udělal proceduru nad tabulkama, kde jsem já dodatečně vytvořil trigger :-) a pak jsem hledal, proč se mě přestaly správně dělat vazby nad záznamy, kde byl použit právě @@IDENTITY

Doporučením je tedy používat SCOPE_IDENTITY

 

 

Původně to měla být kategorie o cestách, které podniknu na svém starém kole-dědkovi. Pak se mě název zalíbil a říkám si, že jednou budu taky dědek, vlastně syna už na to mám dost velkýho, a tak nadčasově tuto kategorii nechám pojmenovanou takto. Takže zde nalezneš zápisky z cest. 

Zde je můj blog o SQL. Je to takový můj tahák.

Moje poznámky z instalací