Canja wurin madadin bayanai daga sabon sigar MS SQL Server zuwa tsohuwar sigar

prehistory

Da zarar, don sake haifar da kwaro, Ina buƙatar madadin bayanan samarwa.

Abin mamaki, na ci karo da iyakoki masu zuwa:

  1. An yi ajiyar bayanan bayanan akan sigar 2016 SQL Server kuma bai dace da nawa ba 2014 SQL Server.
  2. A kan kwamfutar aiki na OS ya kasance Windows 7don haka na kasa sabunta SQL Server har zuwa version 2016
  3. Samfurin da aka goyan baya wani yanki ne na babban tsarin tare da haɗe-haɗe na gine-ginen gado kuma ya sami isa ga wasu samfurori da tushe, don haka yana iya ɗaukar lokaci mai tsawo kafin a tura zuwa wani tasha.

Idan aka yi la’akari da abin da ke sama, na zo ga ƙarshe cewa lokaci ya yi da za a yi la’akari da hanyoyin da ba daidai ba.

Ana dawo da bayanai daga madadin

Na yanke shawarar yin amfani da injin kama-da-wane Oracle VM VirtualBox tare da Windows 10 (zaku iya ɗaukar hoton gwaji don mai binciken Edge daga nan). An shigar da SQL Server 2016 akan injin kama-da-wane kuma an dawo da bayanan aikace-aikacen daga madadin (manual).

Saita damar zuwa SQL Server akan injin kama-da-wane

Bayan haka, ya zama dole a ɗauki wasu matakai don ba da damar samun damar SQL Server daga waje:

  1. Don Tacewar zaɓi, ƙara doka don ba da damar buƙatun tashar jiragen ruwa su wuce 1433.
  2. Yana da kyau cewa samun dama ga uwar garken yana faruwa ba ta hanyar tabbatar da Windows ba, amma ta hanyar SQL ta amfani da shiga da kalmar wucewa (yana da sauƙi don saita damar shiga). Koyaya, a wannan yanayin, dole ne ku tuna don kunna amincin SQL a cikin kaddarorin SQL Server.
  3. A cikin saitunan mai amfani akan SQL Server akan shafin Taswirar mai amfani saka rawar mai amfani don bayanan da aka dawo dasu db_security admin.

Canja wurin bayanai

A haƙiƙa, canja wurin bayanai kanta ya ƙunshi matakai biyu:

  1. Canja wurin tsarin bayanai (tebur, ra'ayoyi, hanyoyin da aka adana, da sauransu)
  2. Canja wurin bayanan da kanta

Canja wurin Tsarin Bayanai

Muna yin ayyuka kamar haka:

  1. Zaba Ayyuka -> Ƙirƙirar Rubutun don tushe mai ɗaukuwa.
  2. Zaɓi abubuwan da kuke buƙatar canja wuri ko barin ƙimar da aka saba (a wannan yanayin, za a ƙirƙiri rubutun don duk abubuwan bayanai).
  3. Ƙayyade saituna don adana rubutun. Hanya mafi dacewa ita ce adana rubutun a cikin fayil ɗaya a cikin rufaffen Unicode. Sa'an nan, idan akwai gazawa, ba za ku buƙaci sake maimaita duk matakan ba.

Da zarar an adana rubutun, ana iya aiwatar da shi akan tushen SQL Server (tsohuwar sigar) don ƙirƙirar bayanan da ake buƙata.

Gargadi: Bayan aiwatar da rubutun, kuna buƙatar bincika daidaiton saitunan bayanan bayanai daga maajiyar da kuma bayanan da aka kirkira ta hanyar rubutun. A cikin yanayina, rubutun ba shi da saitin COLLATE, wanda ya haifar da gazawar lokacin canja wurin bayanai da rawa tare da tambourine don sake ƙirƙirar bayanan ta amfani da rubutun da aka ƙara.

Canja wurin bayanai

Kafin canja wurin bayanai, dole ne ka musaki duba duk ƙuntatawa akan bayanan:

EXEC sp_msforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT all'

Ana aiwatar da canja wurin bayanai ta amfani da mayen shigo da bayanai Ayyuka -> Shigo da Bayanai akan SQL Server, inda ma'aunin bayanan da rubutun ya kirkira yake:

  1. Ƙayyade saitunan haɗin kai zuwa tushen (SQL Server 2016 akan injin kama-da-wane). Na yi amfani da Data Source Abokin Dan Asalin SQL Server da kuma ingantaccen SQL da aka ambata.
  2. Mun ƙididdige saitunan haɗin kai zuwa makoma (SQL Server 2014 akan na'ura mai watsa shiri).
  3. Na gaba mun saita taswirar. Dole ne ku zaɓi duka ba karatu-kawai ba abubuwa (misali, ra'ayoyi baya buƙatar zaɓar). Ya kamata a zaɓi ƙarin zaɓuɓɓuka "Ba da izinin sakawa cikin ginshiƙan ainihi", idan ana amfani da irin waɗannan.
    Gargadi: idan kun yi ƙoƙarin zaɓar tebur da yawa kuma ku sanya kayan a gare su "Ba da izinin sakawa cikin ginshiƙan ainihi" An riga an saita kayan a baya don aƙalla ɗaya daga cikin teburin da aka zaɓa, maganganun za su nuna cewa an riga an saita kayan don duk teburin da aka zaɓa. Wannan hujja na iya zama mai rudani kuma ya haifar da kurakurai na canja wuri.
  4. Bari mu fara canja wuri.
  5. Maido da duba takura:
    EXEC sp_msforeachtable 'ALTER TABLE ? CHECK CONSTRAINT all'

Idan wasu kurakurai sun faru, muna bincika saitunan, share bayanan da aka kirkira tare da kurakurai, sake ƙirƙira shi daga rubutun, yin gyare-gyare kuma maimaita canja wurin bayanai.

ƙarshe

Wannan aikin ba kasafai bane kuma yana tasowa ne kawai saboda iyakoki na sama. Mafi na kowa mafita shine haɓaka SQL Server ko haɗa zuwa sabar mai nisa idan tsarin gine-ginen aikace-aikacen ya ba shi damar. Koyaya, babu wanda ya tsira daga ƙaƙƙarfan ƙaƙƙarfan ƙaƙƙarfan ƙaƙƙarfan ci gaba. Ina fatan cewa ba za ku buƙaci waɗannan umarnin ba, kuma idan kuna buƙatar su, za su taimake ku ku ajiye lokaci mai yawa da jijiyoyi. Na gode da kulawar ku!

Jerin hanyoyin da aka yi amfani da su

source: www.habr.com