rekstrarhandbók replication monitor

37
Rekstrarhandbók Replication Monitor Unnið fyrir LS Retail Vor 2019 Lokaverkefni B.Sc. í tölvunarfræði Eyþór Gunnar Jónsson Kristján Ingólfsson Pétur Örn Guðmundsson Sverrir Brimar Birkisson Leiðbeinandi: Torfi Helgi Leifsson Prófdómari: Sigurlaug Guðrún Jóhannsdóttir

Upload: others

Post on 25-Nov-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Rekstrarhandbók

Replication MonitorUnnið fyrir LS Retail

Vor 2019

Lokaverkefni B.Sc. í tölvunarfræði

Eyþór Gunnar JónssonKristján Ingólfsson

Pétur Örn GuðmundssonSverrir Brimar Birkisson

Leiðbeinandi: Torfi Helgi LeifssonPrófdómari: Sigurlaug Guðrún Jóhannsdóttir

Efnisyfirlit

1 Inngangur 21.1 Um rekstrarhandbókina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Um kerfið . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Fyrstu skref 32.1 Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.1.1 Uppsetning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.1.2 Kóði . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.2 ASP.NET Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.3 Visual Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3 Uppsetning á netþjóni 43.1 IIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3.1.1 Uppsetning á IIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43.1.2 Web Deploy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43.1.3 HTTPS stillingar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3.2 ASP.NET Core Runtime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.3 Gagnagrunnur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3.3.1 Uppsetning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.3.2 Tól . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.3.3 Stillingar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4 Útgáfur 144.1 Gefa út vefþjónustu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144.2 Gefa út vefsíðu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

5 Plugin 23

6 Póstþjónn 256.1 Stillingar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

7 Postman kerfisprófanir 267.1 Uppsetning á Postman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267.2 Stillingar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

7.2.1 Umhverfi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267.2.2 Flytja inn prófanir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

7.3 Keyra prófanir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

8 Viðauki 338.1 SQL Skrifta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

1 Inngangur

1.1 Um rekstrarhandbókina

Tilgangur þessa skjals er að gera þeim sem vilja nota Replication Monitor kerfið auðveldara aðsetja það upp og nota. Markmiðið er að hvaða notandi sem er eigi að geta notað kerfið og verðurfarið ítarlega í alla þætti þess. Einnig verður farið yfir virkni sem ætluð er stjórnendum.

1.2 Um kerfið

Replication Monitor kerfið var þróað í samstarfi við LS Retail og var því ætlað að gefa yfirsýn yfirflutning gagna á milli tækja, eins og posa, og tölvukerfa innan fyrirtækja. Kerfið er aðgengilegtá vefsíðuformi með viðmóti sem er bæði þróað fyrir tölvur og snjalltæki. Kerfið var þróað íASP.NET Core umhverfinu.

2

2 Fyrstu skref

2.1 Git

Til að geta notast við kóðann þarf að vera uppsett Git á þeirri vél sem á að ná í kóðann.Leiðbeiningar um uppsetningu á Git er hægt að nálgast í undirkafla 2.1.1.

Ef Git er nú þegar uppsett er hægt að fara beint í undirkafla 2.1.2 til að fá upplýsingar umstaðsetningu kóðans.

2.1.1 Uppsetning

Til eru margar útgáfur af Git tólum á vefnum t.d Sourcetree og GitKraken en í þessari handbókætlum við að notast við terminal útgáfu. Hægt er að nálgast nýjustu útgáfu af Git hugbúnaðinumá vefslóðinni git-scm.com/downloads.

Við uppsetningu á skránni er ekki þörf á því að breyta sjálfvöldum stillingum.

2.1.2 Kóði

Kóðinn er geymdur á lokaðri Bitbucket geymslu í eigu LS Retail. Hann er ekki aðgengilegurnema með samþykki þeirra.

Ef samþykki fæst fyrir aðgangi er hægt að afrita geymsluna yfir á eigin vél. Til þess þarf t.d aðnota tólið sem var uppsett hér á undan í kafla 2.1.1 með því að fara í terminal, velja staðsetninguþar sem kóðinn á að vera vistaður. Þegar staðsetning hefur verið valin þá er eftirfarandi skipunslegin inn:

git clone https://bitbucket.lsretail.com/scm/dd/webmonitor.gitog ætti kóðinn þá að vera afritaður inn á vélina.

2.2 ASP.NET Core

Bæði vefþjónustan og vefsíðan byggjast á ASP.NET Core ramma. Til að geta keyrt kóða íþróunarumhverfi þarf því sú vél að innihalda ASP.NET Core ramma pakkann frá Microsoft.Hann er hægt að nálgast á vefsíðunni, dotnet.microsoft.com/download. Passa þarf að veljaSDK pakka sem er af útgáfu 2.2.XXX.

2.3 Visual Studio

Við þróun á vefþjónustu og vefsíðu var notast við Visual Studio 2017 Enterprise. Einnig erhægt að notast við Visual Studio 2017 Community. Hægt er að hala niður Visual Studio 2017 ávefslóðinni visualstudio.microsoft.com/downloads/. Ekki er þörf við uppsetningu að veljaannað en það sem er sjálfvalið.

3

3 Uppsetning á netþjóni

Netþjónn sem var notaður til að hýsa vefþjónustu og vefsíðu er með stýrikerfið Windows Server2019 Standard. Stilla þarf upp IIS þjónustu og gagnagrunn.

Farið er nánar í IIS þjónustu í undirkafla 3.1 og gagnagrunn í undirkafla 3.3

3.1 IIS

Til að hægt sé að hýsa vefþjónustu og vefsíðu þarf viðkomandi netþjónn að vera með uppsett IIS10 eða nýrri þjónustu. Ef ætlunin er að senda inn nýjar útgáfur af vefþjónustu eða vefsíðu þarfnetþjónninn einnig að vera með uppsett Web Deploy 3.6 eða nýrra.

3.1.1 Uppsetning á IIS

Hægt er að notast við upplýsingar frá Microsoft um hvernig best er að setja upp IIS. Þæreru aðgengilegar á vefslóðinni devblogs.microsoft.com/premier-developer/set-up-iis-on-windows-virtual-machine/

3.1.2 Web Deploy

Það þarf að vera búið að setja IIS upp á netþjóni áður en Web Deploy pakkinn er uppsettur.Þegar IIS þjónusta er uppsett þá er hægt að niðurhala Web Deploy 3.6 á vefslóðiis.net/downloads/microsoft/web-deploy og setja upp. En ekki er þörf á því að velja aðrarstillingar en sem eru sjálfvaldar.

4

3.1.3 HTTPS stillingar

Til að hafa samskipti milli vefsíðu og vefþjónustu sem öruggasta er best að hafa eingöngu HTTPSsamskipti leyfileg á milli þeirra.

Til að byrja með þarf að verða sér út um skilríki. Hægt er að kaupa skilríki en við þettaverkefni var notasta við skilríki sem netþjóninn býr til sjálfur, en með þeim kemur samt villa ívöfrum því þau eru ekki talinn örugg.

Byrja þarf á því að smella á netþjón í vinstri glugga í IIS, sjá mynd 1. Smella síðan á “CreateSelf Signed Certification” hægra meigin og þá opnast nýr gluggi sem þarf að filla inn nafn áskilrýki og tegund, en notast þarf við “Web Hosting”.

Mynd 1: Setja upp skilríki.

5

Þegar búið er að stilla skilríki þarf að tengja þau við vefsíðu og vefþjónusut. En það er gertmeð því að smellt á “Default Web Site”, sjá mynd 2 og smella síðan á “Bindings...” hægra meigin.Þá kemur upp gluggi sem sýnir öll skilríki sem eru virk á þessari síðu en þar þarf að smella á“Add..” til að bæta við nýju skilríkjunum. En þá opnast enn einn gluggi sem en þar þarf að velja“https”, nafn og skilríkið sem var stofnað hér á undan.

Mynd 2: Tengja skilríki við vefsíðu og vefþjónustu.

6

Síðan er best að fjarlægja “http” möguleikann. en það er gert með því að smella í lokinn á“http” línuna og síðan “Remove”, sjá mynd 3.

Mynd 3: Eyða út HTTP.

3.2 ASP.NET Core Runtime

Til að hægt sé að hýsa ASP.NET Core forrit á IIS þjónustu þarf að setja sérstaklega uppASP.NET Core Runtime pakka frá Microsoft. Passa þarf að IIS þjónustan sé til staðar á net-þjóninum áður en pakkinn er settur upp en hægt er að nálgast hann á vefslóðinnidotnet.microsoft.com/download. Passa þarf að velja Runtime pakka sem er af útgáfu2.2.XXX.

3.3 Gagnagrunnur

Setja þarf upp gagnagrunn á netþjón til að halda utan um öll gögn sem flæða um kerfið. Notastvar við Microsoft SQL Server Express 2017. Einnig þarf að setja upp SQL Server umsjónartólið,Microsoft SQL Management Studio 17 til að stofna aðgang fyrir vefþjónustu að gagnagrunni ogstofna töflur.

Farið er nánar í uppsetning á SQL Server í undirkafla 3.3.1, Management Studio í undirkafla3.3.2 og hvernig á að setja upp aðgang fyrir vefþjónustu á gagnagrunn og stofna töflur í undirkafla3.3.3

7

3.3.1 Uppsetning

Gagnagrunnur verður að vera SQL Server Express 2017 eða nýrra. Einnig hægt að notast viðSQL Server Enterprise 2012 eða nýrra. Index á stærstu töflunum er af tegundinni Columnstoreindex og er hann ekki til staðara í eldri útgáfum. Ef gagnagrunnur hefur ekki verið setturupp er hægt að nálgast niðurhal af Express útgáfu á vefslóð www.microsoft.com/en-us/sql-server/sql-server-editions-express. Ekki er þörf á því að velja annað en það sem er sjálfvaliðvið uppsetningu.

3.3.2 Tól

Til að setja upp aðganga fyrir vefþjónustu og stofna töflurnar í gagnagrunninum þarf að setja uppSQL umsjónartólið Microsoft SQL Management Studio 17 eða nýrra. Hægt er að nálgast það hér:docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms. Ekkier þörf á því að breyta neinum stillingum við uppsetningu.

3.3.3 Stillingar

Byrja þarf á því að keyra SQL skriftu í SQL Management Studio til að stofna gagnagrunn seminniheldur allar þær töflur og index-a sem eiga að vera til staðar fyrir vefþjónustuna. Skráinheitir CreateLSRMScript.sql en hún er staðsett á “Bitbucket” verkefnisins undir “SqlScript” enef skráin glatast þá er kóðinn einnig aðgengilegur í viðauka 8.1. Nóg er að opna skriftuna íSQL Management Studio og klikka á “Execute” eins og mynd 4 sýnir. Þá ætti gagnagrunnurinn“LSRM” að vera kominn inn með öllum stillingum.

Mynd 4: Keyra skriftu.

8

Næst þarf að stofna aðgang fyrir vefþjónustuna svo hún geti tengst gangagrunninum í bak-grunn. Vefþjónustan á að geta skrifað niður og/eða sótt upplýsingar í gagnagrunninn án þess aðeinhver þurfi að vera innskráður á netþjóninum. Næstu fimm skref munu fara ítarlega í það.

1. Til að stofna aðgang í gagnagrunninum þarf að byrja á því að skrá sig inn með sömuauðkennum og sá sem setti grunninn upp hafði. Síðan þarf að hægri smella á gagnagrunnsmerkið eins og mynd 5 sýnir og velja “Properties”.

Mynd 5: Stofna aðgang.

9

2. Næst þarf að velja “Security”, setja hak í “SQL Server and Windows Authentication mode”og smella á “Ok”, sjá mynd 6. Eftir það þarf að endurræsa gagnagrunninn. Með þessari stillingumun nýji notandinn geta skráð sig inn í grunninn með sínum auðkennum.

Mynd 6: Stofna aðgang

10

3. Nú er hægt að stofna nýjan notanda. Fyrst er hægrismellt á möppuna “Logins” sem erstaðsett undir “Security” eins og mynd 7 sýnir. Þar þarf að velja “New Login...”

Mynd 7: Stofna aðgang.

11

4. Fylla þarf inn upplýsingar um vefþjónustu notandann eins og gert er á mynd 8. Grunnupp-lýsingarnar um notandanafn og lykilorð er hægt að nálgast í kóðanum undir“webmonitor/LSRetail.RM.Repositories/Data/Implementations/RMDBContext.cs” og þar er einnighægt að breyta þeim.

Mynd 8: Stofna aðgang

12

5. Næst er farið í “User Mapping” þar sem notandi þarf að merkja við “LSRM” og “db_owner”.Glugganum er síðan lokað með því að velja “OK” eins og mynd 9 sýnir.

Mynd 9: Stofna aðgang

13

4 Útgáfur

Hægt er að notast við margar aðferðir til að gefa út vefþjónustur og vefsíður. Í þessu tilfelli erhýsingin framkvæmd með IIS og Visual Studio var notað til að gefa verkefnið út. Útskýrt verðurí fimm skrefum hvernig á að gefa út vefþjónustu í Visual Studio í undirkafla 4.1 og 4 skrefum umvefsíðu í undirkafla 4.2.

4.1 Gefa út vefþjónustu

1. Til að gefa út vefþjónustu þarf að opna Visual Studio og keyra WebM.sln skránna. ÞegarVisual studio er búið að ræsa upp skrána er hægt að hægri smella á “LSRetail.EM.WebApi” í“Solution Manager” eins og mynd 10 sýnir og velja “Publish”.

Mynd 10: Gefa út vefþjónustu.

14

2. Næst er valið “Start” eins og mynd 11 sýnir.

Mynd 11: Gefa út vefþjónustu.

15

3. Þá ætti að hafa opnast lítill gluggi sem býður upp á nokkra valmöguleika af útgáfum,sjá mynd 12. Á vinstri hlið gluggans þarf notandinn að merkja við “IIS, FTP, etc”. Þegarþað er komið þarf notandinn annaðhvort að smella á “Create Profile” sem vistar stillingar umnetþjóninn sem á að hýsa eða “Publish immediately” sem vistar ekki stillingarnar sem settarverða inn í næsta skrefi.

Mynd 12: Gefa út vefþjónustu.

16

4. Í þessu skrefi þarf að setja inn nafn á netþjóni, staðsetningu vefþónustu á IIS þjóni, not-endanafn, lykilorð og slóð vefþjónustu á netþjóni. Þegar búið er að fylla inn í alla liði er hægt aðsmella á “Validate Connection” og ef það kemur X hægra megin við takkann, þá eru upplýsing-arnar réttar annars kemur gulur þríhyrningur með villuskilaboðum. Þá ætti uppsetningunni aðvera lokið og næst er smellt á “Save” eins og mynd 13 sýnir.

Mynd 13: Gefa út vefþjónustu.

17

5. Lokaskrefið er síðan að smella á “Publish” eins og mynd 14 sýnir og eftir nokkrar mínúturætti browser að opnast með virkir slóð á vefþjónustu.

Mynd 14: Gefa út vefþjónustu.

18

4.2 Gefa út vefsíðu

1. Til að gefa út vefsíðu þarf að opna Visual studio og keyra WebUI.sln skránna. Þegar Visualstudio er búinn að ræsa upp skránna er hægt að hægri smella á “LSRetai.EM.WebUI” í “SolutionManager” eins og mynd 15 sýnir og velja “Publish”.

Mynd 15: Gefa út vefsíðu.

19

2. Þá ætti að hafa opnast lítill gluggi eins og sá sem sést á mynd 16 sem býður upp á nokkravalmöguleika um úgáfur. Valið er úr vinstri hlið gluggans “IIS, FTP, etc” og síðan er hægt aðvelja “Create Profile” sem leyfir að vista stillingar um netþjónin sem á að hýsa eða velja “Publishimmediately” sem vistar ekki stillingarnar.

Mynd 16: Gefa út vefsíðu.

20

3. Hér eru síðan settar inn nafn á netþjóni, staðsetning vefþónustu á IIS þjóni, notendarnafn,lykilorð og slóð vefþjónustu á netþjóni. Þegar búið er að fylla inn í alla liði er hægt að smellaá “Validate Connection” og ef það kemur X hægra megin þá eru upplýsingarnar réttar annarskemur gulur þríhyrningur með villuskilaboðum. Síðan er smellt á “Save” eins og mynd 17 sýnir.

Mynd 17: Gefa út vefsíðu.

21

4. Lokaskrefið er síðan að smella á “Publish” eins og mynd 18 sýnir og eftir nokkrar mínúturætti browser að opnast með virkri slóð á vefsíðu.

Mynd 18: Gefa út vefsíðu.

22

5 Plugin

Til að Data Directorinn byrji að senda gögn á vefþjónustuna þá þarf að bæta viðbót við hannsem að týnir til og sendir gögn áfram á tilgreinda slóð. Viðbótin kemur í formi DLL skrár semnotandi þarf að koma fyrir í möppu “../Data Director 3/bin/plugins”. Þegar búið er að komaDLL skránni fyrir þá ræsir notandi (sem administrator) DD Configuration Tool staðsett hér:“../Program Files/Data Director 3/bin/DDConfig.exe”.

1. Notandi fer í “Monitor Config” flipann

2. Hakar við “Activate” og velur “Plugins”

3. Þar þarf að merkja við viðbótina og skilgreinir hversu langt bil (í mínútum) á að vera ámilli þess þegar viðbótin er keyrð, síðan er ýtt á “Confirm”

Mynd 19: Viðbót bætt við Data Director

23

Þá ætti viðbótin að vera komin inn en það á ennþá eftir að setja inn slóðina á vefþjónustunnisvo viðbótin viti hvert hún eigi að senda gögnin sem hún týnir til. Notandi fer aftur í “MonitorConfig” í DDConfig.exe og þar þarf að slá eftirfarandi upplýsingar inn:

· “DD Host”: Hér kemur slóðin á vefþjónustunni

· “DB String”: Hér þarf að setja inn “RM Plugin” fyrir viðbótina og “RM Scheduler” fyrirSchedulerinn

DD plugin: DD Host = “www.Daemi.is/API/RM/DD”, DB String = “RM Plugin”Scheduler: DD Host = “www.Daemi.is/API/RM/SCHEDULER”, DB String = “RM Scheduler”

Til að vista upplýsingarnar ýtir notandi á “Add Dest” og þá ætti slóðin að finnast í listanumfyrir neðan, sjá dæmi í mynd 20.

Mynd 20: Veffang vefþjónustu skráð í Data Director

24

6 Póstþjónn

Vefþjónstan bíður upp á SMTP tengingu við póstþjón. Farið er í stillingar á vefþjónustunni íundirkafla 6.1.

6.1 Stillingar

Til að breyta stillingum fyrir póstþjón þarf að opna “webmonitor/LSRetail.RM.WebApi/appsettings.json”í Visual Studio eða öðru texta forriti og uppfæra “EmailSettings”. sjá mynd 21

Mynd 21: Stillingar á póstþjóni.

25

7 Postman kerfisprófanir

Til að hægt sé að keyra kerfisprófanir þarf að vera uppsett Postman á þróunarvél. Farið er íuppsetningu á Postman í undirkafla 7.1, hvernig stilla þarf Postman í undirkafla 7.2 og hvernigskal keyra prófanir í undirkafla 7.3.

7.1 Uppsetning á Postman

Hægt er að nálgast nýjustu útgáfu af Postman á vefslóðinniwww.getpostman.com/downloads/.Ekki er þörf á því að velja annað en er sjálfvalið við uppsetningu.

7.2 Stillingar

Til að hægt sé að keyra prófanir þarf að byrja á því setja upp umhverfi og flytja inn prófanir.Farið er í stillingar á umhverfi í undirkafla 7.2.1 og hvernig á að flytja inn prófanir í undirkafla7.2.2.

7.2.1 Umhverfi

1. Þegar búið er að ræsa upp Postman þarf að smella á tannhjólið sem er uppi í hægra horni,sjá mynd 22.

Mynd 22: Setja upp umhverfi.

26

2. Þá opnast lítill gluggi en þar þarf að smella á “Create an environment”, sjá mynd 23.

Mynd 23: Setja upp umhverfi.

27

3. Mikilvægt er að setja inn “URL” inn í “Variable”. Setja þarf síðan inn í “Initial value” og“Current value” vefslóðina fyrir vefþjónustu, sjá mynd 24.

Mynd 24: Setja upp umhverfi.

28

7.2.2 Flytja inn prófanir

1. Smella þarf á “Import” sem er uppi í vinstra horni, sjá mynd 25

Mynd 25: Flytja inn prófanir.

29

2. Þá opnast lítill gluggi sem þarf að smella á “Choose Files” og velja skrá sem heitir“Replication monitor testing.postman_collection”, sjá mynd 26.

Skráin er aðgengileg á “Bitbucket” verkefnisins undir “Integration test”.

Mynd 26: Flytja inn prófanir.

30

7.3 Keyra prófanir

1. Smella þarf á “Runner” sem er uppi í vinstra horni, sjá mynd 27.

Mynd 27: Keyra prófanir.

31

2. Þá opnast lítill gluggi eins og mynd 28 sýnir. Byrja þarf á því að smella á skrána, veljasíðan umhvefi og smella síðan á “Start Run” og þá fara prófanir af stað.

Mynd 28: Keyra prófanir.

32

8 Viðauki

8.1 SQL Skrifta

1 USE [master]2 GO3 /****** Object: Database [LSRM] Script Date: 14/05/2019 11:51:48 ***** */4 CREATE DATABASE [LSRM]5 CONTAINMENT = NONE6 ON PRIMARY7 ( NAME = N’LSRM’, FILENAME = N’C:\ Program␣Files\Microsoft␣SQL␣Server\MSSQL14.SQLEXPRESS\

MSSQL\DATA\LSRM.mdf’ , SIZE = 73728KB , MAXSIZE = UNLIMITED , FILEGROWTH = 65536KB )8 LOG ON9 ( NAME = N’LSRM_log ’, FILENAME = N’C:\ Program␣Files\Microsoft␣SQL␣Server\MSSQL14.

SQLEXPRESS\MSSQL\DATA\LSRM_log.ldf’ , SIZE = 73728KB , MAXSIZE = 2048GB , FILEGROWTH= 65536 KB )

10 GO11 ALTER DATABASE [LSRM] SET COMPATIBILITY_LEVEL = 14012 GO13 IF (1 = FULLTEXTSERVICEPROPERTY(’IsFullTextInstalled ’))14 begin15 EXEC [LSRM ].[dbo ].[ sp_fulltext_database] @action = ’enable ’16 end17 GO18 ALTER DATABASE [LSRM] SET ANSI_NULL_DEFAULT OFF19 GO20 ALTER DATABASE [LSRM] SET ANSI_NULLS OFF21 GO22 ALTER DATABASE [LSRM] SET ANSI_PADDING OFF23 GO24 ALTER DATABASE [LSRM] SET ANSI_WARNINGS OFF25 GO26 ALTER DATABASE [LSRM] SET ARITHABORT OFF27 GO28 ALTER DATABASE [LSRM] SET AUTO_CLOSE ON29 GO30 ALTER DATABASE [LSRM] SET AUTO_SHRINK OFF31 GO32 ALTER DATABASE [LSRM] SET AUTO_UPDATE_STATISTICS ON33 GO34 ALTER DATABASE [LSRM] SET CURSOR_CLOSE_ON_COMMIT OFF35 GO36 ALTER DATABASE [LSRM] SET CURSOR_DEFAULT GLOBAL37 GO38 ALTER DATABASE [LSRM] SET CONCAT_NULL_YIELDS_NULL OFF39 GO40 ALTER DATABASE [LSRM] SET NUMERIC_ROUNDABORT OFF41 GO42 ALTER DATABASE [LSRM] SET QUOTED_IDENTIFIER OFF43 GO44 ALTER DATABASE [LSRM] SET RECURSIVE_TRIGGERS OFF45 GO46 ALTER DATABASE [LSRM] SET ENABLE_BROKER47 GO48 ALTER DATABASE [LSRM] SET AUTO_UPDATE_STATISTICS_ASYNC OFF49 GO50 ALTER DATABASE [LSRM] SET DATE_CORRELATION_OPTIMIZATION OFF51 GO52 ALTER DATABASE [LSRM] SET TRUSTWORTHY OFF53 GO54 ALTER DATABASE [LSRM] SET ALLOW_SNAPSHOT_ISOLATION OFF55 GO56 ALTER DATABASE [LSRM] SET PARAMETERIZATION SIMPLE57 GO58 ALTER DATABASE [LSRM] SET READ_COMMITTED_SNAPSHOT OFF

33

59 GO60 ALTER DATABASE [LSRM] SET HONOR_BROKER_PRIORITY OFF61 GO62 ALTER DATABASE [LSRM] SET RECOVERY SIMPLE63 GO64 ALTER DATABASE [LSRM] SET MULTI_USER65 GO66 ALTER DATABASE [LSRM] SET PAGE_VERIFY CHECKSUM67 GO68 ALTER DATABASE [LSRM] SET DB_CHAINING OFF69 GO70 ALTER DATABASE [LSRM] SET FILESTREAM( NON_TRANSACTED_ACCESS = OFF )71 GO72 ALTER DATABASE [LSRM] SET TARGET_RECOVERY_TIME = 60 SECONDS73 GO74 ALTER DATABASE [LSRM] SET DELAYED_DURABILITY = DISABLED75 GO76 ALTER DATABASE [LSRM] SET QUERY_STORE = OFF77 GO78 USE [LSRM]79 GO80 /****** Object: User [monitor] Script Date: 14/05/2019 11:51:49 ******/81 CREATE USER [monitor] FOR LOGIN [monitor] WITH DEFAULT_SCHEMA =[dbo]82 GO83 ALTER ROLE [db_owner] ADD MEMBER [monitor]84 GO85 /****** Object: Table [dbo].[ DataDirectors] Script Date: 14/05/2019 11:51:49 ***** */86 SET ANSI_NULLS ON87 GO88 SET QUOTED_IDENTIFIER ON89 GO90 CREATE TABLE [dbo].[ DataDirectors ](91 [id] [int] IDENTITY (1,1) NOT NULL ,92 [hostPackId] [nvarchar ](40) NOT NULL ,93 [hostOrgHost] [nvarchar ](30) NULL ,94 [hostJobId] [nvarchar ](50) NOT NULL ,95 [hostStatus] [nvarchar ](50) NOT NULL ,96 [hostType] [nvarchar ](250) NOT NULL ,97 [hostCreateTime] [datetime2 ](7) NOT NULL ,98 [hostRegTime] [datetime2 ](7) NOT NULL ,99 [sourceHostString] [nvarchar ](250) NULL ,

100 [sourceMessage] [nvarchar ](4000) NULL ,101 [sourceErrLevel] [nvarchar ](250) NOT NULL ,102 [sourceRegTime] [datetime2 ](7) NOT NULL ,103 [sourceStatus] [nvarchar ](250) NOT NULL ,104 [sourceDBConnectionId] [nvarchar ](250) NULL ,105 [sourceDBConnectionCompany] [nvarchar ](250) NULL ,106 [sourceDBConnectionServer] [nvarchar ](250) NULL ,107 [sourceDBConnectionDatabase] [nvarchar ](250) NULL ,108 [destinationHostString] [nvarchar ](250) NULL ,109 [destinationMessage] [nvarchar ](4000) NULL ,110 [destinationErrLevel] [nvarchar ](250) NOT NULL ,111 [destinationRegTime] [datetime2 ](7) NOT NULL ,112 [destinationStatus] [nvarchar ](250) NOT NULL ,113 [destinationDBConnectionId] [nvarchar ](250) NULL ,114 [destinationDBConnectionCompany] [nvarchar ](250) NULL ,115 [destinationDBConnectionServer] [nvarchar ](250) NULL ,116 [destinationDBConnectionDatabase] [nvarchar ](250) NULL ,117 [timeStamp] [datetime2 ](7) NOT NULL ,118 [archive] [bit] NOT NULL ,119 [DDClass] [nvarchar ](250) NULL120 ) ON [PRIMARY]121 GO122 /****** Object: Table [dbo].[ ExceptionLogs] Script Date: 14/05/2019 11:51:49 ***** */123 SET ANSI_NULLS ON124 GO

34

125 SET QUOTED_IDENTIFIER ON126 GO127 CREATE TABLE [dbo].[ ExceptionLogs ](128 [id] [int] IDENTITY (1,1) NOT NULL ,129 [ExceptionMessage] [nvarchar ](max) NOT NULL ,130 [StackTrace] [nvarchar ](max) NOT NULL ,131 [TimeStamp] [datetime2 ](7) NOT NULL ,132 CONSTRAINT [PK_ExceptionLog] PRIMARY KEY CLUSTERED133 (134 [id] ASC135 )WITH (PAD_INDEX = OFF , STATISTICS_NORECOMPUTE = OFF , IGNORE_DUP_KEY = OFF ,

ALLOW_ROW_LOCKS = ON , ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]136 ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]137 GO138 /****** Object: Table [dbo].[ Schedulers] Script Date: 14/05/2019 11:51:49 ***** */139 SET ANSI_NULLS ON140 GO141 SET QUOTED_IDENTIFIER ON142 GO143 CREATE TABLE [dbo].[ Schedulers ](144 [id] [int] IDENTITY (1,1) NOT NULL ,145 [jobId] [nvarchar ](4000) NOT NULL ,146 [sourceHost] [nvarchar ](250) NOT NULL ,147 [runStatus] [nvarchar ](4000) NOT NULL ,148 [errorOccurred] [bit] NOT NULL ,149 [messageText] [nvarchar ](4000) NULL ,150 [timeStamp] [datetime2 ](7) NOT NULL ,151 [errLevel] [nvarchar ](250) NOT NULL ,152 [status] [nvarchar ](250) NOT NULL ,153 [destinationHost] [nvarchar ](250) NULL ,154 [DBConnectionId] [nvarchar ](250) NULL ,155 [DBConnectionCompany] [nvarchar ](250) NULL ,156 [DBConnectionServer] [nvarchar ](250) NULL ,157 [DDClass] [nvarchar ](250) NULL158 ) ON [PRIMARY]159 GO160 /****** Object: Table [dbo].[ Users] Script Date: 14/05/2019 11:51:49 ***** */161 SET ANSI_NULLS ON162 GO163 SET QUOTED_IDENTIFIER ON164 GO165 CREATE TABLE [dbo].[ Users](166 [id] [int] IDENTITY (1,1) NOT NULL ,167 [fullName] [nvarchar ](255) NOT NULL ,168 [email] [nvarchar ](255) NOT NULL ,169 [phoneNumber] [char ](7) NULL ,170 [password] [nvarchar ](50) NOT NULL ,171 [admin] [bit] NOT NULL ,172 [userenabled] [bit] NOT NULL ,173 [sendEmail] [bit] NOT NULL ,174 [hash] [nvarchar ](255) NOT NULL ,175 [salt] [nvarchar ](255) NOT NULL176 ) ON [PRIMARY]177 GO178 /****** Object: Index [ClusteredIndex -20190514 -114639] Script Date: 14/05/2019

11:51:49 ******/179 CREATE UNIQUE CLUSTERED INDEX [ClusteredIndex -20190514 -114639] ON [dbo ].[ Users]180 (181 [id] ASC182 )WITH (PAD_INDEX = OFF , STATISTICS_NORECOMPUTE = OFF , SORT_IN_TEMPDB = OFF ,

IGNORE_DUP_KEY = OFF , DROP_EXISTING = OFF , ONLINE = OFF , ALLOW_ROW_LOCKS = ON,ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

183 GO184 SET ANSI_PADDING ON185 GO

35

186 /****** Object: Index [NonClusteredIndex -20190514 -114657] Script Date: 14/05/201911:51:49 ******/

187 CREATE NONCLUSTERED INDEX [NonClusteredIndex -20190514 -114657] ON [dbo].[ Users]188 (189 [email] ASC190 )WITH (PAD_INDEX = OFF , STATISTICS_NORECOMPUTE = OFF , SORT_IN_TEMPDB = OFF , DROP_EXISTING

= OFF , ONLINE = OFF , ALLOW_ROW_LOCKS = ON , ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]191 GO192 /****** Object: Index [ClusteredColumnStoreIndex -20190417 -140213] Script Date:

14/05/2019 11:51:49 ***** */193 CREATE CLUSTERED COLUMNSTORE INDEX [ClusteredColumnStoreIndex -20190417 -140213] ON [dbo ].[

DataDirectors] WITH (DROP_EXISTING = OFF , COMPRESSION_DELAY = 0) ON [PRIMARY]194 GO195 /****** Object: Index [ClusteredColumnStoreIndex -20190514 -114555] Script Date:

14/05/2019 11:51:49 ***** */196 CREATE CLUSTERED COLUMNSTORE INDEX [ClusteredColumnStoreIndex -20190514 -114555] ON [dbo ].[

Schedulers] WITH (DROP_EXISTING = OFF , COMPRESSION_DELAY = 0) ON [PRIMARY]197 GO198 USE [master]199 GO200 ALTER DATABASE [LSRM] SET READ_WRITE201 GO

36