Nameščanje posodobitev podatkovnih zbirk brez prehoda
Proizvajalec programske opreme vam spremembe podatkovne zbirke dostavlja kot podpisane pakete, podatkovnega prehoda pa ne uporabljate. V tem primeru pakete na strežniku namešča storitev „WKL Database Update“: preverjene, z varnostno kopijo, v eni transakciji in s potrditvijo, kjer jo želite.
Pregled rešitve
graph LR
H[Proizvajalec] -->|podpisan paket| E[Vhodna mapa]
E --> D[Storitev WKL Database Update]
K[Zaščitena konfiguracija] --> D
D -->|preveri, kopira, namesti| B[(Podatkovna zbirka)]
A[Skrbnik] -->|ukazna vrstica| DNamestite storitev, za vsako podatkovno zbirko pripravite zaščiteno konfiguracijo s ključi proizvajalca in računu storitve dodelite potrebna dovoljenja v podatkovni zbirki. Od takrat storitev vzame vsak paket iz vhodne mape. Kar naj čaka, potrdite z ukazno vrstico na strežniku. Vse podrobnosti so v referenci.
Izvedba
Paket namestite kot skrbnik:
msiexec /i Wkl.Data.Update-1.0.0.msi /qn /l*v install.log
Storitev
Wkl.Data.Updatenato teče z računomNT SERVICE\Wkl.Data.Update. Za skupinsko upravljani račun storitve dodajteUPD_SERVICE_ACCOUNT=DOMENA\ime$.Računu storitve dodelite prijavo v SQL Server in v podatkovni zbirki dovoljenja za spreminjanje zgradbe in za varnostno kopiranje, na primer vlogo
db_owner. Če naj odprte seje starejših aplikacij zadržijo rok, prijava potrebuje šeVIEW SERVER STATE(od SQL Server 2022VIEW SERVER PERFORMANCE STATE).CREATE LOGIN [NT SERVICE\Wkl.Data.Update] FROM WINDOWS; USE Kunden; CREATE USER [NT SERVICE\Wkl.Data.Update] FOR LOGIN [NT SERVICE\Wkl.Data.Update]; ALTER ROLE db_owner ADD MEMBER [NT SERVICE\Wkl.Data.Update];
Če SQL Server teče na drugem računalniku, se navidezni račun tam prikaže kot račun računalnika (
DOMENA\STREŽNIK$); v tem primeru uporabite skupinsko upravljani račun storitve.Ustvarite vhodno mapo in mapo arhiva. Spreminjajo ju lahko samo skrbniki, SYSTEM in račun storitve, ki v njiju ustvari podmapi
doneinfailedter arhivira pakete:mkdir D:\Updates\Kunden D:\Updates\Kunden-Archiv icacls D:\Updates\Kunden /inheritance:r /grant:r *S-1-5-32-544:(OI)(CI)F *S-1-5-18:(OI)(CI)F "NT SERVICE\Wkl.Data.Update:(OI)(CI)M" icacls D:\Updates\Kunden-Archiv /inheritance:r /grant:r *S-1-5-32-544:(OI)(CI)F *S-1-5-18:(OI)(CI)F "NT SERVICE\Wkl.Data.Update:(OI)(CI)M"
Kot skrbnik pripravite zaščiteno konfiguracijo v
C:\ProgramData\WKL\Database Update\databases\kunden.json:{ "format": 1, "id": "kunden", "product": "Kunden", "dialect": "sqlserver", "connection": { "string": "Server=sql01;Database=Kunden;Integrated Security=True;Encrypt=True" }, "keys": [ "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE…" ], "inbox": "D:\\Updates\\Kunden", "archive": "D:\\Updates\\Kunden-Archiv", "backup": { "mode": "native", "target": "D:\\Sicherung" } }keysje javni ključ, ki vam ga sporoči proizvajalec;productje ime izdelka v njegovih paketih.backup.targetje mapa na strežniku podatkovne zbirke.V ukaznem pozivu s skrbniškimi pravicami preverite, ali storitev konfiguracijo sprejme:
"C:\Program Files\Wkl\Database Update\Wkl.Data.Update.exe" databases
Če je datoteka navedena kot izločena („nicht beachtet“), vrstica navede razlog.
Nastavite, kaj naj čaka, na primer potrditev vsakega paketa in dodatno sporočila v datoteko:
Wkl.Data.Update.exe settings kunden --expand confirm --contract confirm --channels eventlog,file
Pakete proizvajalca položite v vhodno mapo ali enega predajte neposredno:
Wkl.Data.Update.exe upload kunden D:\Lieferung\Kunden-schema-14.zip
Preverite, kaj čaka, in potrdite:
Wkl.Data.Update.exe status kunden Wkl.Data.Update.exe confirm kunden 41
Napotki
- Ukazi tečejo samo na samem strežniku in samo v ukaznem pozivu s skrbniškimi pravicami.
- Pri potrditvi storitev v podatkovno zbirko vpiše vaš račun Windows kot tistega, ki je potrdil.
- Pri
contract = automaticstoritev nezdružljiv paket napove in ga namesti ob roku;move-deadlinerok prestavi,cancel-noticenapoved prekliče. - Sporočila so v dnevniku dogodkov (vir
WKL Database Update) in, če je vklopljeno, vC:\ProgramData\WKL\Database Update\log. Za pošto v zaščiteno konfiguracijo vpišite poštni strežnik kotmailin vklopite pot s prejemniki:settings kunden --channels eventlog,email --email-to "it@example.com". - Ukazna vrstica in storitev odgovarjata v nemščini.
- Če uporabljate podatkovni prehod, namesto tega uporabite njegov modul za posodobitve.