Löng SQL-vinnsla: haltu henni gangandi þegar VPN dettur
VPN sem dettur skilur eftir eina spurningu sem villa biðlarans getur ekki svarað: var vinnslan fest? Færðu löng verk til varanlegs eiganda og samræmdu áður en þú reynir aftur.
VPN dettur tuttugu mínútum inn í endurbyggingu á vísi, SQL-viðmótið þitt sýnir rofna tengingu, og augljósa spurningunni er ekki svarað í þeirri villu. Kláraðist skipunin, rúllaði til baka, eða hélt hún áfram án þín? Að tengjast aftur og senda aftur er versti af þremur valkostum, því það breytir einni óvissri niðurstöðu í tvær mögulegar. Færðu vinnsluna til einhvers með varanlegan eiganda fyrir næsta glugga.
Það sem tengingarvillan segir þér ekki
Villa á biðlarahlið lýsir biðlaranum. Hún tilkynnir að sambandið hafi verið lokað, ekki hvað þjónninn gerði við færsluna. Skipunin gæti verið í gangi enn, hafa verið fest rétt áður en tengingin dó, eða verið rúlluð til baka þegar seta hennar var hreinsuð. Öll þrjú gefa sömu skilaboðin á fartölvunni þinni.
Aðeins staða þjónsins getur skorið úr um það. Líttu þangað áður en þú ákveður nokkuð.
Færðu vinnsluna til eiganda á þjónahlið
Fyrir vinnslu sem þarf ekki manneskju til að fylgjast með, láttu gistilþjón vinnslubankans eiga framkvæmdina. SQL Server Agent keyrir verk eftir beiðni eða á áætlun og skráir hverja keyrslu, svo líftími verksins er óháður VPN-setu þinni. Auðkenni verksins þarf nákvæmlega þau réttindi sem verkefnið krefst, ekki fullt gagnvirkt samhengi stjórnanda. Þá hefur fartölvan vinnsluna og les niðurstöður í stað þess að vera ferlið sem heldur henni lifandi.
EXEC msdb.dbo.sp_start_job @job_name = N'nightly-customer-reindex';Framboð Agent fer eftir útgáfunni og þjónustunni sem þú settir upp. Notaðu þá aðferð sem vettvangurinn þinn býður raunverulega í stað þess að gera ráð fyrir að þessi sé til alls staðar.
Stökkþjónn nálægt vinnslubankanum styttir leiðina og er þess virði að hafa, en hann breytir ekki eignarhaldsspurningunni. Setan endar samt þegar netið endar. Notaðu hann til að fylgjast með, ekki til að vera það sem heldur vinnslunni lifandi.
Skildu eftir skrá sem næsta seta getur lesið
Skráðu nafn verks eða auðkenni, markvinnslubankann og niðurstöðuna sem þú væntir. Það er sú skrá sem gerir annarri setu, eða öðru fólki, kleift að svara spurningunni sem villan gat ekki. Án hennar situr þú eftir með óljóst minni um uppfærslu og enga leið til að sannreyna.
EXEC msdb.dbo.sp_help_jobhistory @job_name = N'nightly-customer-reindex';Sagan sýnir niðurstöðu og tímasetningu fyrir hvert skref, sem er gagnlegra en einn árangursfáni. Fyrir verkefni sem breyta gögnum skaltu bæta við eigin sannprófun forritsins: fjölda raða, gátsummu eða stöðurað sem verkið skrifar. Tvær óháðar skrár eru það sem gera endurtöku örugga, og skráð verkferlasaga er fyrsta þeirra.
Samræmdu áður en þú sendir aftur
Þegar fylgjandi tenging hverfur, finndu fyrirliggjandi keyrslu áður en þú byrjar aðra. Lestu niðurstöður skrefanna og ákveddu hvort vinnslan var fest, kláruð að hluta eða hófst aldrei. Aðeins þá beitir þú endurtökureglunni sem vinnuflæðið skilgreinir, því blind endursending getur tvöfaldað hleðslu eða mistekist hálfa leið í annað sinn.
Haltu varanlega eigandanum og skoðanlegu niðurstöðunni, og stutt aðgangstruflun verður óþægindi í stað ágiskunar. Það er allt hönnunarmarkmiðið: vinnslan á að lifa lengur en tengingin sem bað um hana.