Iako se u naslovu članka navodi "Windows Server 2016", informacije su primjenjive i na starije inačice, u slučaju da u Event Vieweru uočite neki od zapisa koje ćemo spomenuti u članku. Primarno se u članku fokusiramo na Windows Server 2016, jer je to najnovija inačica, a u rješavanje grešaka smo i krenuli tako da smo nakon nadogradnje sa 2012R2 htjeli provjeriti ima li još kakvih neriješenih problema. Neke od grešaka pojavljuju se i na serveru koji je instaliran "od nule".
Treba napomenuti da u roku nekoliko dana korištenja nismo uočili nikakav utjecaj tih grešaka na funkcionalnost servera, ali svakako predlažemo da ih preventivno riješite jer možda mogu imati veze s nečim što ćemo raditi, podešavati ili instalirati kasnije.
U nastavku donosimo popis grešaka i rješenja za podešavanje. Popis nije napravljen prema težini, već po redoslijedu kako smo ih krenuli rješavati. Treba spomenuti da smo do većine rješenja došli kombiniranjem različitih prijedloga, najčešće s više različitih foruma, prvo ih isprobavajući na testnim serverima. Zbog toga ne možemo u većini slučajeva navesti direktne linkove, jer u svemu tome ima puno "šuma", i tek iščitavanjem nekoliko stranica teksta iz više izvora te filtrirajući nesuvisle prijedloge dolazimo do točnog rješenja. Naslove grešaka ćemo definirati po dijelu loga koji nam se činio karakterističan za opis greške.
Kao i uvijek, sve što je ovdje navedeno isprobali smo, ali s obzirom na to da uvijek može doći do nekakvog izuzetka, sve ovo radite na vlastitu odgovornost i, ako možete, isprobajte prije u testnom okruženju.
01) Cryptographic Services failed while processing the OnIdentity...
Ova greška može se pojaviti i na Windows Serveru 2016 koji je instaliran "od nule", tako da nije povezana striktno s nadogradnjom!
Zapis o grešci:
Log Name: Application
Source: Microsoft-Windows-CAPI2
Date: 22.8.2017. 11:39:45
Event ID: 513
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: imeservera.domena.hr
Description:
Cryptographic Services failed while processing the OnIdentity() call in the System Writer Object.
Details:
AddLegacyDriverFiles: Unable to back up image of binary Microsoft Link-Layer Discovery Protocol.
System Error:
Access is denied.
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Microsoft-Windows-CAPI2" Guid="{5bbca4a8-b209-48dc-a8c7-b23d3e5216fb}" EventSourceName="Microsoft-Windows-CAPI2" />
<EventID Qualifiers="0">513</EventID>
<Version>0</Version>
<Level>2</Level>
<Task>0</Task>
<Opcode>0</Opcode>
<Keywords>0x8080000000000000</Keywords>
<TimeCreated SystemTime="2017-08-22T09:39:45.521844000Z" />
<EventRecordID>1709</EventRecordID>
<Correlation />
<Execution ProcessID="1268" ThreadID="1504" />
<Channel>Application</Channel>
<Computer> imeservera.domena.hr </Computer>
<Security />
</System>
<EventData>
<Data>
Details:
AddLegacyDriverFiles: Unable to back up image of binary Microsoft Link-Layer Discovery Protocol.
System Error:
Access is denied.
</Data>
</EventData>
</Event>
Rješenje:
Informacije su prenesene s donjih linkova te malo pojašnjene i pojednostavljene:
https://www.veritas.com/support/en_US/article.000021891.
1) Preuzmite aplikaciju accesschk.exe s linka http://technet.microsoft.com/en-us/sysinternals/bb664922.
2) Nakon preuzimanja raspakirajte je u proizvoljnu mapu. Otvorite naredbeni redak (cmd) s administrativnim ovlastima i pozicionirajte se u tu mapu.
3) Pokrenite naredbu: accesschk.exe -c mslldp kojom se iščitavaju trenutačne sigurnosne postavke (dozvole).
Rezultat bi trebao biti sljedeći:
mslldp
RW NT AUTHORITY\SYSTEM
RW BUILTIN\Administratorssc sdshow M
RW S-1-5-32-549
R NT SERVICE\NlaSvc
Uočite da NT AUTHORITY\SERVICE ne postoji u dozvolama.
4) Možete pokrenuti još jednu naredbu za provjeru postavki, ali ovaj korak nije nužan: SC sdshow MUP
Trebali biste dobiti ovakav rezultat:
D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD).
5) Za rješavanje greške treba dodati račun NT AUTHORITY\SERVICE. Ovo je ustvari jedino i bitno, sve ostalo su samo provjere i čitanje postojećeg stanja. Potrebno je upisati donju naredbu. Naredba je sve ovo podebljano!
sc sdset MSLLDP D:(D;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BG)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCDCLCSWRPDTLOCRSDRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SO)(A;;LCRPWP;;;S-1-5-80-3141615172-2057878085-1754447212-2405740020-3916490453)(A;;CCLCSWLOCRRC;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)
Upisivanjem i pokretanjem ove "kobasice" trebate dobiti poruku o uspješnoj primjeni:
"[SC] SetServiceObjectSecurity SUCCESS"
6) Možete ponovo pokrenuti naredbu za čitanje trenutačnih postavki:
accesschk.exe –c mslldp
Trebate dobiti ovakav rezultat:
mslldp
RW NT AUTHORITY\SYSTEM
RW BUILTIN\Administrators
RW S-1-5-32-549
R NT SERVICE\NlaSvc
R NT Authority\Sevice
Uočite da NT AUTHORITY\SERVICE postoji u dozvolama.
7) Restartajte server ili restartajte servis "Cryptographic Services".
02) Netlogon: nemogućnost prijave klijenta u domenu
Nakon nadogradnje servera na višu verziju OS-a može se desiti da nije pokrenut servis Netlogon. Greška se manifestira tako da nije moguća prijava s domenskim korisničkim računom na server, već samo s lokalnim, pa je nakon prijave funkcionalnost servera vrlo ograničena. Kako je Netlogon aktivan (pokrenut) samo na serverima koji su članovi Active Directoryja, onda je logično da se na nedomenskim serverima ovaj problem ne pojavljuje. Servis Netlogon zadužen je za osiguravanje sigurnosnog kanala između člana domene i domenskog servera zaduženog za autentikaciju korisnika i servisa.
Nismo imali dovoljan broj uzoraka da možemo tvrditi da se ovo obavezno pojavljuje, ali slučaj nam se desio pri jednoj nadogradnji 2008R2 na 2012R2 i sa 2012R2 na 2016.
Srećom, rješenje je prilično jednostavno. Nakon prijave s lokalnim korisničkim računom otvorite konzolu Services, pronađite servis Netlogon i provjerite kako je podešen (Startup type). Vjerojatno je na "Manual" pa ga stavite na "Automatic", pokrenite ga i ponovno pokrenite server. Moguće da je dovoljno i da se samo odjavite i pokušate se ponovno prijaviti s domenskim korisničkim računom.
03) An attempt to open the file "C:\WINDOWS\system32\LogFiles\Sum\Api.log" for read / write access failed with system error 5 (0x00000005): "Access is denied.
Ova greška može se pojaviti kad imamo instaliran SQL server.
U Event Vieweru pojavljuje se neki od zapisa:
Log Name: Application
Source: ESENT
Date: 22.8.2017. 13:14:42
Event ID: 490
Task Category: General
Level: Error
Keywords: Classic
User: N/A
Computer: imeservera.domena.hr
Description:
sqlservr (3776) An attempt to open the file "C:\WINDOWS\system32\LogFiles\Sum\Api.log" for read / write access failed with system error 5 (0x00000005): "Access is denied. ". The open file operation will fail with error -1032 (0xfffffbf8).
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="ESENT" />
<EventID Qualifiers="0">490</EventID>
<Level>2</Level>
<Task>1</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2017-08-22T11:14:42.828619300Z" />
<EventRecordID>2282</EventRecordID>
<Channel>Application</Channel>
<Computer> imeservera.domena.hr </Computer>
<Security />
</System>
<EventData>
<Data>sqlservr</Data>
<Data>3776</Data>
<Data>
</Data>
<Data>C:\WINDOWS\system32\LogFiles\Sum\Api.log</Data>
<Data>-1032 (0xfffffbf8)</Data>
<Data>5 (0x00000005)</Data>
<Data>Access is denied. </Data>
</EventData>
</Event>
****************************************************************
Log Name: Application
Source: ESENT
Date: 22.8.2017. 13:14:32
Event ID: 490
Task Category: General
Level: Error
Keywords: Classic
User: N/A
Computer: imeservera.domena.hr
Description:
sqlservr (3776) An attempt to open the file "C:\WINDOWS\system32\LogFiles\Sum\SystemIdentity.mdb" for read / write access failed with system error 5 (0x00000005): "Access is denied. ". The open file operation will fail with error -1032 (0xfffffbf8).
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="ESENT" />
<EventID Qualifiers="0">490</EventID>
<Level>2</Level>
<Task>1</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2017-08-22T11:14:32.796561500Z" />
<EventRecordID>2281</EventRecordID>
<Channel>Application</Channel>
<Computer> imeservera.domena.hr </Computer>
<Security />
</System>
<EventData>
<Data>sqlservr</Data>
<Data>3776</Data>
<Data>
</Data>
<Data>C:\WINDOWS\system32\LogFiles\Sum\SystemIdentity.mdb</Data>
<Data>-1032 (0xfffffbf8)</Data>
<Data>5 (0x00000005)</Data>
<Data>Access is denied. </Data>
</EventData>
</Event>
Rješenje problema je dokumentirano na linku:
Potrebno je nad mapom \Windows\System32\LogFiles\Sum dati sva prava korisničkom računu pod kojim je pokrenut SQL server. Pod kojim računom je pokrenut SQL server provjerava se u konzoli Services. Obično je za servis "SQL Server (MSSQLSERVER)" taj račun NT SERVICE\MSSQLSERVER (taj korisnički račun nekad piše i u logu u Event Vieweru) i tom računu treba dati sva prava na SUM mapu. Iako tako piše na linku, u praksi nam se pokazalo da nije dovoljno dati R/W prava, već treba biti Full!
Ako u konzoli Services postoji servis "SQL Server Analysis Services" i za njega treba napraviti sve isto kao i za "SQL Server (MSSQLSERVER)". Za kraj treba restartati servise kojima smo davali prava nad mapom i provjeriti u Event Vieweru da greške više nema.
04) MSDTC encountered an error (HR=0x80000171) while attempting to establish a secure connection with system IMESERVERA
U Event Vieweru se može pojaviti sljedeća greška:
Log Name: Application
Source: Microsoft-Windows-MSDTC Client 2
Date: 22.8.2017. 14:22:54
Event ID: 4879
Task Category: CM
Level: Warning
Keywords: Classic
User: N/A
Computer: imeservera.domena.hr
Description:
MSDTC encountered an error (HR=0x80000171) while attempting to establish a secure connection with system IMESERVERA.
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Microsoft-Windows-MSDTC Client 2" Guid="{155CB334-3D7F-4ff1-B107-DF8AFC3C0363}" EventSourceName="MSDTC Client 2" />
<EventID Qualifiers="32768">4879</EventID>
<Version>0</Version>
<Level>3</Level>
<Task>3</Task>
<Opcode>0</Opcode>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2017-08-22T12:22:54.567601900Z" />
<EventRecordID>2894</EventRecordID>
<Correlation />
<Execution ProcessID="0" ThreadID="0" />
<Channel>Application</Channel>
<Computer>imeservera.domena.hr </Computer>
<Security />
</System>
<EventData>
<Data Name="param1">80000171</Data>
<Data Name="param2">IMESERVERA</Data>
</EventData>
</Event>
Rješenje je opisano na donjem linku:
https://technet.microsoft.com/en-us/library/cc753620(WS.10).aspx.
Znači, treba omogućiti Network DTC pristup za MS DTC (Microsoft Distributed Transaction Coordinator) transakcije. Otvorite konzolu Component Services iz grupe administrativnih alata. Proširite stablo: Component Services – Computers – My Computer – Distributed Transaction Coordinator – Local DTC. Napravite desni klik na Local DTC pa Properties – tab Security.
Stavite kvačicu na Network DTC Access kako biste u Transaction Manager Communication polju mogli označiti Allow Inbound i Allow Outbound polja.
Zatvorite sve i ponovno pokrenite "Distributed Transaction Coordinator" servis.
Detaljnije o MS DTC:
https://blogs.technet.microsoft.com/biztalkpfe/2011/01/12/understanding-msdtc-biztalk/.