Barvna shema: Svetla
Trenutno dejavna stran: start » sl » Dokumentacija » Integracija podatkov in dostop do podatkov » WKL Database Gateway » Referenčni priročnik » Ukazi na strežniku

Ukazi na strežniku

Program prehoda dbgwsvc.exe (oziroma dotnet dbgwsvc.dll) ne teče le kot storitev, temveč pozna tudi ukaze, ki se izvedejo z isto konfiguracijo in v istem okolju kot prehod, ne zaženejo spletnega strežnika in se nato končajo. Izvedete jih lahko, medtem ko prehod teče; spremembe v shrambi prehod prevzame brez ponovnega zagona. Ukazi potrebujejo pravice skrbnika računalnika.

Sintaksa

Wkl.Data.Gateway <ukaz> [--možnost vrednost]… [--contentRoot DIR] [--environment NAME]

--contentRoot in --environment kot pri prehodu določata, katera konfiguracija velja. Neznano možnost vsak ukaz zavrne (izhodna koda 2), da tipkarska napaka ne povzroči nenamerne spremembe.

Parametri

Prvi skrbnik in reševanje

Prvega skrbnika ustvarite z ukazom na strežniku, zaklenjeno skrbništvo pa odklenete z ukazi na strežniku. Oboje potrebuje datoteko shrambe in glavni ključ, torej pravice skrbnika tega računalnika; to je dokaz, ki ga nobena zahteva prek omrežja ne more predložiti. Ukazi berejo isto konfiguracijo kot prehod in jih lahko izvedete, medtem ko prehod teče; prehod spremembo prevzame brez ponovnega zagona.

dbgwsvc init-admin --name "Erika Muster"

init-admin ustvari, kar manjka:

  1. skrbniško shrambo, če je še ni (s podatki o delovanju iz konfiguracijske datoteke, kot pri prvem zagonu prehoda);
  2. pravilo verwaltung z admin in vsemi metodami ali pa uporabi prvo obstoječe pravilo z admin, ki ni samo za branje in navaja * ali vse metode skrbništva (GET, POST, PATCH, DELETE);
  3. osebo s tem pravilom (obstoječa oseba z istim imenom se vklopi);
  4. osebni ključ, ki ga ukaz prikaže enkrat.

2FA (dvostopenjsko preverjanje identitete) oseba nastavi ob prvi prijavi v aplikacijo za upravljanje (glejte Nastavitev ob prvi prijavi). Z --totp se to zgodi takoj v konzoli: ukaz prikaže kodo QR in ključ za ročni vnos ter shrani šele, ko se ujema koda iz aplikacije. Dnevnik sprememb vsako od teh sprememb navede z oznako Konsole (Rechner, Konto).

UkazUčinek
init-admin [--name N] [--windows RAČUN] [--no-key] [--label T] [--totp] [--force] [--service-account RAČUN]Prvi skrbnik kot zgoraj; brez --name ukaz vpraša za ime. Če shramba manjka, jo ustvari, berljivo tudi za račun iz --service-account (račun, pod katerim bo tekel prehod). --windows nastavi lastni račun Windows osebe in ga prek njegovega SID preslika na pravilo za upravljanje (WindowsAccounts); če prijava z računom Windows ni vklopljena, vas ukaz na to opozori. --no-key deluje le skupaj z --windows, glejte Ustvarjanje prvega skrbnika. Zavrnjeno (izhodna koda 2), dokler ima kdo dostop do skrbništva, razen z --force (za odklepanje)
admin-statusKdo ima dostop do skrbništva in kaj manjka drugim (zaklenjen, ni veljavnega ključa, ni 2FA); izhodna koda 1, če dostopa nima nihče. Kot „ima dostop“ šteje tudi, kdor ima le račun Windows brez dodelitve ali le mirujoč oziroma na omrežja vezan ključ; v dvomu preverite z dejansko prijavo
reset-totp --person NOdstrani 2FA osebe in omogoči nastavitev ob naslednji prijavi
list-sign-in-rulesPravila prijave z identifikatorjem
remove-sign-in-rule --id NOdstrani pravilo prijave, na primer pravilo Deny, ki zaklene skrbništvo

Tipični primeri: izgubljen telefon z aplikacijo Authenticator → reset-totp. Zadnji skrbniški ključ je zaklenjen ali potekel → init-admin --name … --force izda novega. Pravilo izbrisano → init-admin --force ga znova ustvari. Pravilo prijave zaklene vse → list-sign-in-rules, nato remove-sign-in-rule.

Osebe in ključi

dbgwsvc save-person --name "Erika Muster" [--rule fachdaten-lesen | --no-rules] [--login erika | --no-login] [--disabled | --enabled]
dbgwsvc issue-key --person "Erika Muster" --label "Excel Bericht" --read-only --database fachdaten --from 10.0.0.0/8 [--expires 2026-12-31]
dbgwsvc revoke-key --id kAb3dE5fG
dbgwsvc list-keys

save-person ustvari osebo ali pri obstoječi spremeni samo navedeno; vse drugo ostane. Brez drugih možnosti je nova oseba vklopljena, brez prijave SQL Server in brez pravil. --rule nadomesti pravila v celoti, --no-rules odstrani vsa, --no-login odstrani prijavo SQL Server, --enabled osebo znova vklopi. Vsako pravilo mora biti v skrbniški shrambi; neznano ime ukaz zavrne (izhodna koda 2) in navede obstoječa pravila. V dnevniku sprememb je sprememba zapisana kot Konsole (računalnik, račun). --rule, --database, --from in --except-from se lahko pojavijo večkrat. Neznana možnost (na primer --rules) je zavrnjena, da tipkarska napaka ne izda ključa brez predvidene omejitve. issue-key ključ izpiše enkrat; list-keys prikaže identifikator, osebo, zadnje 4 znake, stanje, potek, zadnjo uporabo, omejitve in oznako, nikoli pa ključa. Izhodne kode kot pri reseal-store: 0 opravljeno, 1 vsega ni bilo mogoče opraviti (na primer neznan identifikator), 2 shramba, nastavitev ali ukazna vrstica ni uporabna.

reseal-store

dbgwsvc reseal-store (oziroma dotnet dbgwsvc.dll reseal-store)

Vsako vrednost skrbniške shrambe, ki je še šifrirana z nadomeščenim glavnim ključem (Gateway:Store:RetiredKeys), na novo šifrira s trenutnim ključem (MasterKey, MasterKeyId): nize povezave virov podatkov, podatke za izračun kod 2FA in licenčni ključ geolokacijske zbirke. Vse se zgodi v eni transakciji; časi sprememb ostanejo. Ukaz ne zažene spletnega strežnika in se nato konča. Izvedete ga lahko, medtem ko prehod teče; prehod nato shrambo znova naloži.

Pogoj: ista konfiguracija kot prehod, torej izveden v programski mapi kot delovni mapi, s trenutnim in vsemi nadomeščenimi ključi. Celoten postopek opisuje navodilo Zamenjava glavnega ključa.

Izhodna koda reseal-storePomen
0Vse vrednosti so zapečatene s trenutnim ključem
1Posameznih vrednosti ni bilo mogoče odpreti in so ostale nespremenjene; izpis navede vire podatkov. Ostale so na novo zapečatene
2Skrbniška shramba ni nastavljena ali so nastavitve neuporabne (sporočilo navede nastavitev)

Več ključev ne nadomesti izgubljenega ključa: vrednosti, katerih ključ ni več na voljo, je mogoče le znova vnesti.

backup-store

Varnostno kopiranje shrambe. Med delovanjem z ukazom backup-store, zagnanim z isto konfiguracijo in istim korenom vsebine kot prehod:

dbgwsvc backup-store --to "E:\Sicherung\gateway-2026-10-01.db"
# ali: dotnet dbgwsvc.dll backup-store --to …

Ukaz ne zažene spletnega strežnika. Z VACUUM INTO iz SQLite zapiše eno samo, notranje skladno kopijo stanja, ki ga vidi transakcija za branje, tudi medtem ko prehod piše. Nato kopijo preveri s PRAGMA integrity_check in se konča. Navadno kopiranje datoteke ne zadošča: poleg nje sta datoteki -wal in -shm, kopija, narejena med pisanjem, pa lahko vsebuje nedokončano stanje.

  • Glavni ključ ni potreben. Shramba se odpre samo za branje; zapečatene vrednosti gredo nespremenjene v kopijo. Opravilo varnostnega kopiranja tako ne potrebuje dostopa do ključa, kopija pa brez njega ne odpre nobene povezave s podatkovno zbirko.
  • Berljivo samo za račun, ki ukaz izvaja, in za skrbnike. Ciljna datoteka se ustvari prazna in s tem seznamom dostopa, brez dedovanja od mape, preden SQLite vanjo piše; v Linuxu jo bere le njen lastnik. Računa storitve na seznamu ni: varnostna kopija ni shramba v delovanju. Imena, pravila, osebe in dnevnik sprememb so v njej berljivi, zato jo hranite na varnem kot vsako drugo varnostno kopijo.
  • Ničesar ne prepiše. Če cilj že obstaja, je ukaz zavrnjen; vsaka varnostna kopija dobi novo ime. Mapa cilja mora obstajati.
  • Ničesar ne spremeni. Pretvorba različice sheme se ne izvede; kopija ima različico datoteke.
  • Kopira tudi datoteko dnevnikov. Datoteko dnevnikov (Gateway:Store:LogPath, sicer -logs poleg shrambe) ukaz kopira na enak način poleg cilja, s pripono -logs v imenu: --to "E:\Varnostne\gateway-2026-10-01.db" ustvari tudi gateway-2026-10-01-logs.db. Ko ju vrnete na prvotno mesto, se obe odpreta kot izvirnik. Če datoteke dnevnikov ni, kopira le shrambo in to sporoči. Nastaneta obe kopiji ali nobena.
Izhodna koda backup-storePomen
0Kopiji zapisani in preverjeni; izpis navede cilja, različico sheme in velikosti
1Pisanje ali preverjanje ni uspelo (disk, dovoljenja, preverjanje); nepopolne kopije se izbrišejo
2Shramba ni nastavljena, datoteka shrambe manjka, --to manjka, cilj obstaja ali njegova mapa manjka

--to-folder DIR zapiše varnostno kopijo pod imenom po času (gateway-<LLLLMMDD-hhmmss>.db, poleg nje gateway-<LLLLMMDD-hhmmss>-logs.db) in ustvari mapo; z --skip-missing shramba, ki še ne obstaja, ni napaka (izhodna koda 0). Oboje uporablja namestitveni paket za varnostno kopijo pred posodobitvijo.

Geolokacijska zbirka

dbgwsvc update-geoip prenese datoteke geolokacijske zbirke iz vira, izbranega v skrbništvu (`set-geoip-source`).

dbgwsvc import-geoip --file DATOTEKA [--source dbip-lite|maxmind] [--force] prevzame datoteko, ki je na strežnik prišla po drugi poti (.mmdb, .mmdb.gz ali .tar.gz podjetja MaxMind), za strežnik brez dostopa do interneta. --source določi navedbo vira, --force pa sprejme tudi starejšo ali enako staro datoteko.

Oba ukaza datoteko shranita v mapo geolokacijske zbirke (Gateway:SignInLog:GeoIp:Folder); prehod, ki teče, jo začne uporabljati v eni minuti. Izpis za vsako datoteko navede vrsto, datum izdelave in ali je bila prevzeta.

Izhodna kodaPomen
0Datoteke prevzete ali že posodobljene
1Zavrnjeno; izpis navede razlog (ni vira, vir zavrne, datoteka ni uporabna ali je starejša)
2Skrbniška shramba ni nastavljena, nastavitve niso uporabne, manjka možnost ali datoteke pod --file ni mogoče brati

Dnevnik obremenitve

dbgwsvc export-load --to DATOTEKA [--days N] zapiše obremenitev zadnjih N dni (privzeto 30, največ Gateway:LoadLog:HourDays) kot datoteko JSON v enaki obliki kot skrbniški ukaz `export-load`: oblike, urne vrednosti in namige, brez oseb, izvora in vrednosti. Obstoječe datoteke ukaz ne prepiše. Ker teče brez kataloga prehoda, v datoteki manjka namig unindexedFilter.

Izhodna kodaPomen
0Datoteka zapisana
2Skrbniška shramba ni nastavljena, nastavitve so neuporabne, --to manjka, --days je zunaj obsega ali datoteka že obstaja

setup-host in setup-remove

dbgwsvc setup-host [--program DIR] [--data DIR] [--service-account RAČUN|none]
                            [--mode standalone|iis] [--port 8434] [--https-port 8433]
                            [--certificate NAME [--self-signed]] [--access internal|internet]
                            [--networks 10.0.0.0/8,...] [--admin-from-outside deny|totp]
                            [--firewall] [--pq-hybrid] [--installation-name NAME]
                            [--sql-server STREŽNIK [--sql-databases ZBIRKA,...] [--sql-roles readwrite|read|none]]
dbgwsvc setup-remove [--remove-data DIR]
MožnostPrivzetoPomen
--program DIRmapa programaProgramska mapa; vanjo ukaz zapiše appsettings.Production.json
--data DIR%ProgramData%\Wkl.Data.GatewayPodatkovna mapa s shrambo in geheim\hauptschluessel.key; dovoljenja samo za skrbnike, sistem in račun storitve. V njej je mapa updates za posodobitve podatkovnih zbirk: spreminjajo jo samo skrbniki in sistem, račun storitve jo bere
--service-account RAČUN | noneNT SERVICE\Wkl.Data.GatewayRačun, pod katerim teče prehod; navidezni račun mora biti kot storitev že registriran
--mode standalone | iisstandalonestandalone: prehod sam sprejema HTTPS. iis: HTTPS sprejema IIS in posreduje na 127.0.0.1; ukaz vpiše 127.0.0.1 in ::1 kot zaupanja vredna posrednika, nastavi AuthMode na PersonalKey (brez prijave Windows) in zapiše predlogo iis\web.config
--port N8434Vrata HTTP, samo na 127.0.0.1
--https-port N8433Vrata HTTPS (samo standalone)
--certificate NAME–Subjekt potrdila v shrambi računalnika; brez te možnosti ni HTTPS
--self-signedizklopljenoza --certificate ustvari samopodpisano potrdilo; samo za preizkuse, skupaj z --access internet zavrnjeno
--access internal | internetinternalinternal ne ustvari pravil prijave; internet ustvari pravila prijave za zahteve od zunaj --networks, vendar le, dokler skrbniška shramba še ne obstaja, nato veljajo njena pravila: skrbništvo zavrnjeno ali z 2FA (--admin-from-outside), prijava z računom Windows in SQL Server do podatkov z 2FA, ključ storitve zavrnjen. Osebni ključi ostanejo brez obveznosti, ker se omejujejo za vsak ključ posebej
--networks SEZNAM–Omrežja podjetja, ločena z vejico; obvezno pri internet in osnova pravila požarnega zidu. Brez omrežij pravilo pri internal dopusti vsako omrežje
--admin-from-outside deny | totpdenySkrbništvo od zunaj zavrnjeno ali z 2FA
--firewallizklopljenodohodno pravilo „Wkl.Data.Gateway HTTPS“ za vrata HTTPS (pri iis 443), pri internal omejeno na --networks
--pq-hybridizklopljenovklopi hibridno postkvantno izmenjavo ključev v Windows (za ves računalnik, glejte HTTPS in potrdilo)
--installation-name NAME–Ime namestitve v aplikaciji Authenticator (Gateway:Store:TotpIssuer)
--sql-server STREŽNIK–zapiše skript za prijavo računa storitve na tem SQL Serverju v podatkovno mapo kot dienstkonto-anmeldung.sql, kot `service-login` z --script. Če to ni mogoče (navidezni račun, SQL Server na drugem računalniku, računalnik ni v domeni), ukaz to sporoči in nastavitev vseeno dokonča
--sql-databases SEZNAM–podatkovne zbirke skripta, ločene z vejico
--sql-roles readwrite | read | nonereadwritevloge novega uporabnika v skriptu

Izhodna koda 0: nastavljeno (potrdilo, ki še ni v shrambi, ni napaka; prehod ga uporabi, ko se pojavi); 1: korak ni uspel; 2: napačna ukazna vrstica. Pri vsaki kodi razen 0 paket spremembe razveljavi. Zavrnjeni so med drugim --access internet brez omrežij, omrežje z nastavljenimi biti gostitelja ali v kratkem, šestnajstiškem ali osmiškem zapisu (192.168, 0x7f.0.0.1, 017.0.0.1), --self-signed skupaj z --access internet in --installation-name z več kot 64 znaki, dvopičjem ali narekovaji. Brez --installation-name ostane Gateway:Store:TotpIssuer pri privzeti vrednosti prehoda.

service-login

Prijava računa storitve v SQL Server in uporabnik v vsaki podatkovni zbirki: kot skript za skrbnike podatkovnih zbirk ali takoj ustvarjeno z računom Windows osebe, ki zažene ukaz (ne z računom storitve). Za razliko od drugih ukazov ne bere konfiguracije in ne potrebuje skrbniških pravic na računalniku, le dovoljenja v SQL Serverju.

dbgwsvc service-login --server STREŽNIK [--database ZBIRKA[,ZBIRKA...]] [--roles readwrite|read|none]
                               [--account RAČUN] [--script DATOTEKA] [--apply] [--trust-server-certificate]
MožnostPrivzetoPomen
--server STREŽNIK–SQL Server kot v nizu povezave, na primer ., .\SQLEXPRESS ali tcp:db01,1433; brez ;, =, narekovajev in zavitih oklepajev
--database SEZNAM–podatkovne zbirke, ločene z vejico; brez možnosti samo prijava
--roles readwrite | read | nonereadwritevloge novega uporabnika: db_datareader in db_datawriter, samo db_datareader ali nobena
--account RAČUNNT SERVICE\Wkl.Data.Gatewayračun, pod katerim teče storitev. Na drugem računalniku se prijava pri navideznem računu nanaša na račun računalnika DOMENA\RAČUNALNIK$; zunaj domene to ni mogoče (vrnjena vrednost 1)
--script DATOTEKA–zapiše skript v to datoteko (UTF-8); brez --script in --apply na konzolo
--applyizklopljenoustvari, namesto da le zapiše skript: z overjanjem Windows se prijavi v master in izvede korake
--trust-server-certificateizklopljenopri ustvarjanju sprejme potrdilo SQL Serverja, ki ga ni izdal zaupanja vreden izdajatelj (SQL Server Express ustvari svoje)

Skript ne spremeni ničesar, kar že obstaja: obstoječa prijava (poiskana po računu Windows, torej tudi po preimenovanju) in obstoječi uporabnik ostaneta, kakršna sta, tudi z vlogami. Drugi zagon zato ne spremeni ničesar. Vsaka podatkovna zbirka je svoja transakcija: uporabnik nastane skupaj z vlogami ali pa sploh ne. Imena pridejo v SQL Server kot vrednosti in tam s QUOTENAME postanejo identifikatorji.

Z --apply konzola pokaže eno vrstico na korak:

OK      Anmeldung NT SERVICE\Wkl.Data.Gateway: angelegt
OK      Benutzer in [Fachdaten] (db_datareader, db_datawriter): vorhanden, unveraendert
FEHLER  Benutzer in [Lager] (db_datareader, db_datawriter): 916: ...

Vrstica FEHLER (napaka) navede številko napake SQL Serverja. Če ne uspe že prijava, podatkovne zbirke ne sledijo. Vrnjena vrednost 0: vse ustvarjeno ali že obstaja; 1: korak zavrnjen ali strežnik ni dosegljiv; 2: napačna ukazna vrstica.

acme-client

dbgwsvc acme-client

Navede wacs.exe, s katerim naroča Zertifikat-LetsEncrypt.cmd: pot v prvi vrstici izpisa, razlog v toku napak. To je obstoječi win-acme, če nanj kaže njegovo načrtovano opravilo win-acme renew (…) (od različice 2.2.9 naprej), sicer priloženi v programski mapi. Vrnjena vrednost 0: pot navedena; 1: obstoječi win-acme je prestar ali njegove različice ni mogoče prebrati; 2: napačna ukazna vrstica. Za branje opravil potrebuje skrbniške pravice; brez njih velja priloženi.

Sorodne teme

sl/wiki/data-conectivity/database-gateway/reference/commands.txt · Zadnja sprememba: uporabnika Wolfgang van der Stille