Ka hoʻoili ʻana i ka ʻikepili waihona mai kahi mana hou o MS SQL Server i kahi mana kahiko

prehistory

I hoʻokahi manawa, i mea e hana hou ai i kahi bug, pono wau i kahi waihona o ka waihona hana.

I koʻu kahaha, ua holo au i nā palena aʻe:

  1. Ua hana ʻia ka waihona waihona ma ka mana 2016 Pūnaewele SQL a ʻaʻole i kūpono me kaʻu 2014 Pūnaewele SQL.
  2. Ma kaʻu kamepiula hana, ʻo ka OS i hoʻohana ʻia Windows 7no laila ʻaʻole hiki iaʻu ke hōʻano hou Pūnaehana SQL a hiki i ka mana 2016
  3. ʻO ka huahana i kākoʻo ʻia he ʻāpana o kahi ʻōnaehana ʻoi aku ka paʻa o ka hoʻoilina hoʻoilina a kamaʻilio pū kekahi i nā huahana a me nā kumu ʻē aʻe, no laila hiki ke lōʻihi loa ke kau ʻana iā ia i kahi kikowaena ʻē aʻe.

Hāʻawi ʻia i luna, ua hiki mai au i ka hopena ua hiki mai ka manawa no nā koʻokoʻo o nā hoʻonā maʻamau.

Hoʻihoʻi hou i ka ʻikepili mai kahi waihona

Ua koho wau e hoʻohana i ka mīkini virtual Oracle VM VirtualBox me Windows 10 (hiki iā ʻoe ke lawe i kahi kiʻi hoʻāʻo no ka polokalamu Edge mai kēia wahi). Ua hoʻokomo ʻia ʻo SQL Server 2016 ma ka mīkini virtual a ua hoʻihoʻi ʻia ka waihona palapala noi mai ka waihona (manual).

Ka hoʻonohonoho ʻana i ke komo ʻana i ka SQL Server ma kahi mīkini virtual

A laila, pono e hana i kekahi mau hana e hiki ai ke komo i ka SQL Server mai waho.

  1. No ka pā ahi, e hoʻohui i ke kānāwai no ka hoʻokuʻu ʻana i nā noi awa 1433.
  2. He mea makemake ia e komo i ka kikowaena ʻaʻole e hele i ka hōʻoia windows, akā ma o SQL me ka hoʻohana ʻana i ka login a me ka ʻōlelo huna (ʻoi aku ka maʻalahi o ka hoʻonohonoho ʻana). Eia nō naʻe, i kēia hihia, pono ʻoe e hoʻomanaʻo e hiki iā SQL Authentication i nā waiwai SQL Server.
  3. Ma nā hoʻonohonoho mea hoʻohana ma SQL Server ma ka pā Hoʻohana palapala ʻāina e kuhikuhi i ke kuleana o ka mea hoʻohana no ka waihona i hoʻihoʻi ʻia db_securityadmin.

Hoʻoili ʻikepili

ʻOiaʻiʻo, ʻo ka hoʻoili ʻikepili ponoʻī he ʻelua mau pae:

  1. Ka hoʻoili ʻana i ka manaʻo ʻikepili (nā papa, nā hiʻohiʻona, nā kaʻina hana i mālama ʻia, etc.)
  2. Ka hoʻoili ʻana i ka ʻikepili ponoʻī

Hoʻololi hoʻolālā ʻikepili

Hana mākou i kēia mau hana:

  1. E koho Nā Hana -> Hana i nā Palapala no kahi waihona lawe lima.
  2. E koho i nā mea āu e pono ai e hoʻoili a waiho paha i ka waiwai paʻamau (i kēia hihia, e hana ʻia nā palapala no nā mea waihona waihona).
  3. E wehewehe i nā hoʻonohonoho no ka mālama ʻana i ka palapala. ʻOi aku ka maʻalahi o ka mālama ʻana i ka palapala i hoʻokahi faila Unicode. A laila, inā hāʻule, ʻaʻole pono ʻoe e hana hou i nā ʻanuʻu āpau.

Ke mālama ʻia ka palapala, hiki ke holo ʻia ma ka SQL Server kumu (ka mana kahiko) e hana i ke kumu i makemake ʻia.

Pākuʻi: Ma hope o ka hoʻokō ʻana i ka palapala, pono ʻoe e nānā i ka pilina ma waena o nā hoʻonohonoho o ka waihona mai ka waihona a me ka waihona i hana ʻia e ka palapala. I koʻu hihia, ʻaʻohe hoʻonohonoho no COLLATE i ka palapala, i alakaʻi i ka hemahema i ka wā e hoʻoili ai i ka ʻikepili a me ka hula me ka pahu kani e hana hou i ka waihona me ka hoʻohana ʻana i ka palapala hoʻohui.

Hoʻoili ʻikepili

Ma mua o ka hoʻoili ʻana i ka ʻikepili, pono ʻoe e hoʻopau i ka nānā ʻana i nā palena āpau ma ka waihona:

EXEC sp_msforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT all'

Lawe ʻia ka hoʻoili ʻikepili me ka hoʻohana ʻana i ka wizard import data Nā hana -> Hoʻokomo i ka ʻikepili ma SQL Server, kahi o ka waihona i haku ʻia e ka palapala:

  1. E wehewehe i nā hoʻonohonoho pili i ke kumu (SQL Server 2016 ma kahi mīkini virtual). Ua hoʻohana au i ke kumu ʻikepili Mea kūʻai aku ʻo SQL Server a me ka hōʻoia SQL i ʻōlelo ʻia ma mua.
  2. E wehewehe i nā hoʻonohonoho pili no ka huakaʻi (SQL Server 2014 ma ka mīkini hoʻokipa).
  3. A laila, hoʻonohonoho i ka palapala ʻāina. Pono e koho i nā mea a pau ʻaʻole heluhelu wale mea (no ka laʻana, ʻaʻole pono ke koho ʻia nā manaʻo). E like me nā koho hou aku, koho "ʻAe i ka hoʻokomo ʻana i nā kolamu ʻike"inā hoʻohana ʻia kēlā.
    Pākuʻi: inā, i ka wā e hoʻāʻo ai e koho i kekahi mau papa a hoʻonohonoho i kā lākou waiwai "ʻAe i ka hoʻokomo ʻana i nā kolamu ʻike" ua hoʻonohonoho mua ʻia ka waiwai no ka liʻiliʻi o hoʻokahi o nā papa i koho ʻia, e hōʻike ana ke kamaʻilio ua hoʻonohonoho ʻia ka waiwai no nā papa i koho ʻia. Hiki i kēia ʻoiaʻiʻo ke huikau a alakaʻi i nā hewa neʻe.
  4. Hoʻomaka mākou i ka hoʻoili.
  5. Hoʻihoʻi hou i ka hoʻopaʻa ʻana:
    EXEC sp_msforeachtable 'ALTER TABLE ? CHECK CONSTRAINT all'

Inā loaʻa kekahi hewa, nānā mākou i nā hoʻonohonoho, holoi i ka waihona i hana ʻia me nā hewa, hana hou mai ka palapala, hoʻoponopono a hana hou i ka hoʻoili ʻikepili.

hopena

He kakaikahi kēia hana a loaʻa wale ma muli o nā palena i luna. ʻO ka hopena maʻamau ka hoʻomaikaʻi ʻana i ka SQL Server a i ʻole ka hoʻopili ʻana i kahi kikowaena mamao inā ʻae ka hoʻolālā noi. Eia nō naʻe, ʻaʻohe mea pale ʻole mai ka code legacy a me nā lima kekee o ka hoʻomohala maikaʻi ʻole. Manaʻo wau ʻaʻole pono ʻoe i kēia ʻōlelo aʻo, akā inā pono ʻoe, e kōkua ia e mālama i ka manawa a me nā aʻalolo. Mahalo i kou nānā ʻana!

Ka papa inoa o nā kumu i hoʻohana ʻia

Source: www.habr.com