Skip to content

Database management

ActivateConsulting edited this page Jul 16, 2021 · 2 revisions

Verversen van de AAS omgeving vanuit datavault builder

Om de data in AAS vanuit datavault builder te kunnen verversen zijn er een aantal configuratie stappen nodig.

  1. Aanmaken van een Package in SSIS voor het verversen van de data. Dit kan door middel van een processing task of een execute script task. Voor nu heb ik gekozen voor een execute script task waar de tabellen in gelimiteerd zijn. Hierdoor moeten nieuwe tabellen wel iedere keer worden toegevoegd aan dit script. Het laden duurt langer, maar neemt minder ruimte in beslag op de server.

  2. Aanmaken van de connectie gebeurt met hetzelfde service account als het account waarmee de databases gedeployed kunnen worden. Wachtwoorden zijn bekend.

  3. De package(s) kunnen worden gedeployed naar de on prem sql server databases waarna ze klaar staan in de SSISDB. Daarna moet het wachtwoord in de configuratie van de package nog geupdate worden:

  4. NB. Je zou nu via een stored procedure de job kunnen starten, maar dat werkt niet omdat DVBuilder inlogt op de database met een sql account en voor de uitvoering van een SSIS package is een integrated login benodigd. Hierdoor heb ik gekozen om een SQL Server agent job aan te maken die via een proxy de package uitvoert. Zie ook https://dba.stackexchange.com/questions/198914/the-operation-cannot-be-started-by-an-account-that-uses-sql-server-authenticatio

  5. Nu kan je een job aan maken in de sql server agent. Verwijs hier direct naar de package in de SSISDB. Het zou kunnen zijn dat de owner hier de proxy is waaronder de job wordt gestart. Dat wordt uit de uitleg in het scherm niet duidelijk. Ik heb geprobeerd de service account hier op te geven, maar dat lukt niet. Als dit niet meer werkt nadat ik (Guido) weg bent, weet je waar het door komt.

  6. De Run as in de step lijkt de proxy te zijn waaronder de job wordt gestart.

  7. Er moeten aan de gebruiker van DVBadmin nog wat rechten worden toegevoegd. De gebruiker dvb_admin moet worden toegevoegd aan de database msdb en moet de rol SQLAgentOperatorRole krijgen.

  8. In DVB kan je aan een job een post sql statement mee geven. Die ziet er als volgt uit: SELECT dvb_core.f_execute_update_fdb_query_with_log(query => 'EXEC msdb.dbo.sp_start_job ''Run_AAS_Refresh'';', function_name => 'post_job_sql', action => 'call stored procedure', attribute_list => 'Run_AAS_Refresh');

  9. Nu wordt de package voor het verversen van de AAS database automatisch gestart na het voltooien van de volledige DVB load.

  10. De user moet worden aangemaakt op de betreffende database. Dat doe je door op de server naar logins te gaan, de user te openen om welke het gaat, in dit geval dus dvb_admin en dbadmin en via het tabblad User Mapping de gebruiker aan te vinken op de betreffende databases, msdb in dit geval:

  11. Mogelijk moet de gebruiker nog execute grants krijgen op de stored procedure in de msdb database. Daarvoor run je de volgende query: GRANT EXECUTE TO dvb_admin; op de msdb database. GRANT EXECUTE TO dbadmin; op de msdb database.

Clone this wiki locally