Sonraí cúltaca a aistriú ó leagan nua de MS SQL Server go leagan níos sine

réamhstair

Uair amháin, chun fabht a atáirgeadh, bhí cúltaca de bhunachar sonraí an táirgthe ag teastáil uaim.

Is mór an t-iontas a bhí orm, tháinig mé ar na teorainneacha seo a leanas:

  1. Rinneadh cúltaca an bhunachar sonraí ar an leagan SQL Server 2016 agus ní raibh sé ag luí le mianach SQL Server 2014.
  2. Ar mo ríomhaire oibre a bhí an OS Windows 7mar sin ní raibh mé in ann nuashonrú SQL Server Go dtí an leagan 2016
  3. Bhí an táirge tacaithe mar chuid de chóras níos mó a raibh ailtireacht oidhreachta dlúth-chúpláilte aige agus bhí rochtain air freisin ar tháirgí agus ar bhunáiteanna eile, agus mar sin d’fhéadfadh go dtógfadh sé am an-fhada é a imscaradh chuig stáisiún eile.

Ag cur san áireamh an méid thuas, tháinig mé ar an gconclúid go bhfuil an t-am tagtha chun réitigh neamhchaighdeánacha a réiteach.

Sonraí a athshlánú ó chúltaca

Chinn mé meaisín fíorúil a úsáid Oracle VM VirtualBox le Windows 10 (is féidir leat íomhá tástála a ghlacadh don bhrabhsálaí Edge dá bhrí sin). Suiteáladh SQL Server 2016 ar an meaisín fíorúil agus athchóiríodh bunachar sonraí na bhfeidhmchlár ó chúltaca (teagaisc).

Rochtain ar SQL Server a shocrú ar mheaisín fíorúil

Ansin, bhí sé riachtanach roinnt céimeanna a ghlacadh chun gur féidir rochtain a fháil ar SQL Server ón taobh amuigh:

  1. Maidir leis an balla dóiteáin, cuir riail leis chun go bhféadfaidh iarratais calafoirt pas a fháil 1433.
  2. Tá sé inmholta nach dtarlaíonn rochtain ar an bhfreastalaí trí fhíordheimhniú Windows, ach trí SQL ag baint úsáide as logáil isteach agus pasfhocal (tá sé níos éasca rochtain a chumrú). Mar sin féin, sa chás seo, ní mór duit cuimhneamh ar fhíordheimhniú SQL a chumasú in airíonna SQL Server.
  3. Sna socruithe úsáideora ar SQL Server ar an táb Léarscáiliú Úsáideoirí sonraigh ról an úsáideora don bhunachar sonraí athchóirithe db_securityadmin.

Aistriú sonraí

I ndáiríre, tá an t-aistriú sonraí féin comhdhéanta de dhá chéim:

  1. Scéimre sonraí a aistriú (táblaí, radhairc, nósanna imeachta stóráilte, etc.)
  2. Na sonraí féin a aistriú

Aistriú Scéimre Sonraí

Déanaimid na hoibríochtaí seo a leanas:

  1. Roghnaigh Tascanna -> Gin Scripteanna le haghaidh bonn iniompartha.
  2. Roghnaigh na rudaí a theastaíonn uait a aistriú nó fág an luach réamhshocraithe (sa chás seo, cruthófar scripteanna do gach réad bunachar sonraí).
  3. Sonraigh socruithe chun an script a shábháil. Is é an bealach is áisiúla ná an script a shábháil i gcomhad amháin in ionchódú Unicode. Ansin, má tá teip ann, ní bheidh ort na céimeanna go léir a dhéanamh arís.

Nuair a bheidh an script sábháilte, is féidir é a fhorghníomhú ar an bhfoinse SQL Server (seanleagan) chun an bunachar sonraí riachtanach a chruthú.

Rabhadh: Tar éis duit an script a fhorghníomhú, ní mór duit comhsheasmhacht na socruithe bunachar sonraí a sheiceáil ón gcúltaca agus ón mbunachar sonraí a chruthaigh an script. I mo chás féin, ní raibh socrú ag an script le haghaidh COLLATE, rud a d’fhág gur theip ar aistriú sonraí agus ag damhsa le tambóirín an bunachar sonraí a athchruthú ag baint úsáide as an script mhéadaithe.

Aistriú sonraí

Sula n-aistríonn tú sonraí, ní mór duit seiceáil na srianta uile ar an mbunachar sonraí a dhíchumasú:

EXEC sp_msforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT all'

Déantar aistriú sonraí ag baint úsáide as an Draoi Iompórtála Sonraí Tascanna -> Iompórtáil Sonraí ar SQL Server, áit a bhfuil an bunachar sonraí cruthaithe ag an script suite:

  1. Sonraigh na socruithe ceangail leis an bhfoinse (SQL Server 2016 ar mheaisín fíorúil). Bhain mé úsáid as Foinse Sonraí Cliant Dúchasach Freastalaí SQL agus an fíordheimhniú SQL thuasluaite.
  2. Sonraimid na socruithe nasc chuig an gceann scríbe (SQL Server 2014 ar an meaisín óstach).
  3. Ansin leagamar an léarscáiliú. Ní mór duit a roghnú go léir ní inléite amháin réada (mar shampla, ní gá radharcanna a roghnú). Ba cheart roghanna breise a roghnú "Ceadaigh cur isteach i gcolúin aitheantais", má úsáidtear a leithéid.
    Rabhadh: má dhéanann tú iarracht roinnt táblaí a roghnú agus an mhaoin a shannadh dóibh "Ceadaigh cur isteach i gcolúin aitheantais" tá an mhaoin socraithe cheana féin le haghaidh ceann amháin ar a laghad de na táblaí roghnaithe, léireoidh an dialóg go bhfuil an mhaoin socraithe cheana féin do na táblaí roghnaithe go léir. Is féidir leis an bhfíric seo a bheith mearbhall agus mar thoradh ar earráidí aistrithe.
  4. Let tús leis an aistriú.
  5. An seiceáil srianta a athbhunú:
    EXEC sp_msforeachtable 'ALTER TABLE ? CHECK CONSTRAINT all'

Má tharlaíonn aon earráidí, déanaimid seiceáil ar na socruithe, scriosaimid an bunachar sonraí a cruthaíodh le hearráidí, athchruthaigh é ón script, déan ceartúcháin agus déanaimid an t-aistriú sonraí arís.

Conclúid

Tá an tasc seo go leor annamh agus eascraíonn sé ach amháin mar gheall ar na teorainneacha thuas. Is é an réiteach is coitianta ná Freastalaí SQL a uasghrádú nó ceangal le cianfhreastalaí má cheadaíonn ailtireacht an fheidhmchláir é. Mar sin féin, níl aon duine sábháilte ó chód oidhreachta agus na lámha cama a bhaineann le forbairt droch-chaighdeán. Tá súil agam nach mbeidh na treoracha seo de dhíth ort, agus má tá siad de dhíth ort, cabhróidh siad leat go leor ama agus nerves a shábháil. Go raibh maith agat as do aird!

Liosta foinsí a úsáideadh

Foinse: will.com