Te whakawhiti raraunga pūrua mai i te putanga hōu o MS SQL Server ki tētahi putanga tawhito

prehistory

I tetahi wa, ki te whakaputa i tetahi pepeha, i hiahia ahau ki te taapiri i te papaa raraunga whakaputa.

I taku ohorere, ka tutaki ahau ki nga here e whai ake nei:

  1. I hanga te tārua pātengi raraunga i runga i te putanga Tūmau SQL 2016 a kihai i rite ki taku Tūmau SQL 2014.
  2. I taku rorohiko mahi ko te OS 7 Windowsno reira kaore i taea e au te whakahou Tūmau SQL tae noa ki te putanga 2016
  3. Ko te hua i tautokohia he waahanga o te punaha nui ake me te hoahoanga o nga taonga tuku iho me te uru atu ki etahi atu hua me nga turanga, no reira ka roa te wa ki te hora ki tetahi atu teihana.

Ma te whakaaro ki nga korero o runga ake nei, ka tae mai ahau ki te whakatau kua tae mai te wa mo nga tootoo o nga otinga kore-paerewa.

Whakaora raraunga mai i te tārua

I whakatau ahau ki te whakamahi i te miihini mariko Oracle VM VirtualBox me Windows 10 (ka taea e koe te tango pikitia whakamatautau mo te tirotiro Edge mai i konei). I whakauruhia a SQL Server 2016 ki runga i te miihini mariko ka whakahokia mai te papaa raraunga tono mai i te taapiri (pukapuka).

Te whakarite i te uru ki te SQL Server i runga i te miihini mariko

I muri mai, me whai waahi ki te uru atu ki te SQL Server mai i waho:

  1. Mo te pātūahi, tāpirihia he ture kia tukuna ngā tono tauranga 1433.
  2. He mea tika kia uru ki te tūmau kaua ma te whakamotuhēhēnga Windows, engari mā SQL mā te whakamahi i te takiuru me te kupuhipa (he māmā ake te whirihora i te uru). Heoi, i roto i tenei take, me mahara koe ki te whakahohe i te motuhēhēnga SQL i roto i nga āhuatanga SQL Server.
  3. I roto i nga tautuhinga kaiwhakamahi i runga i te SQL Server i runga i te ripa Maatu Kaiwhakamahi whakapūtā te tūranga kaiwhakamahi mō te pātengi raraunga kua whakahokia db_securityadmin.

Te whakawhiti raraunga

Inaa, ko te whakawhiti raraunga ake e rua nga waahanga:

  1. Te whakawhiti i te aronuinga raraunga (nga ripanga, nga tirohanga, nga tikanga rongoa, me etahi atu)
  2. Te whakawhiti i te raraunga ake

Whakawhiti Aronui Raraunga

Ka mahia e matou nga mahi e whai ake nei:

  1. Kōwhiri Nga Mahi -> Hanga Tuhituhi mo te turanga kawe.
  2. Tīpakohia nga mea e hiahia ana koe ki te whakawhiti me te waiho i te uara taunoa (i tenei keehi, ka hangaia nga tuhinga mo nga taonga papaa raraunga katoa).
  3. Tauwhāitihia ngā tautuhinga mō te tiaki i te hōtuhi. Ko te huarahi tino watea ko te tiaki i te tuhinga ki roto i te konae kotahi ki te whakawaehere Unicode. Na, ki te he rahua, kaore koe e hiahia ki te whakahoki ano i nga hikoinga katoa.

Kia ora te hōtuhi, ka taea te mahi i runga i te puna SQL Server (putanga tawhito) ki te hanga i te raraunga e hiahiatia ana.

Whakatupato: I muri i te mahi i te tuhinga, me tirotiro koe i te rite o nga tautuhinga raraunga mai i te taapiri me te papaarangi i hangaia e te tuhinga. I roto i taku take, karekau he whakatakotoranga mo te COLLATE i te tuhinga, na te korenga o te whakawhiti raraunga me te kanikani ki te timbourine ki te hanga ano i te papaarangi ma te whakamahi i te tuhinga taapiri.

Te whakawhiti raraunga

I mua i te whakawhiti raraunga, me whakakorehia e koe te tirotiro i nga here katoa i runga i te paataka raraunga:

EXEC sp_msforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT all'

Ka whakahaerehia te whakawhiti raraunga ma te whakamahi i te Ruānuku Kawemai Raraunga Nga Mahi -> Kawemai Raraunga i runga i te SQL Server, kei reira te papanga raraunga i hangaia e te tuhinga:

  1. Tauwhāitihia nga tautuhinga hononga ki te puna (SQL Server 2016 i runga i te miihini mariko). I whakamahia e ahau te Puna Raraunga SQL Server Kiritaki Maori me te motuhēhēnga SQL kua whakahuahia ake nei.
  2. Ka tohua e matou nga tautuhinga hononga ki te waahi (SQL Server 2014 i runga i te miihini manaaki).
  3. I muri mai ka whakaritea e matou te mapi. Me whiriwhiri koe i te katoa ehara i te panui-anake mea (hei tauira, kaore e tika kia tohua nga tirohanga). Me whiriwhiri etahi atu whiringa "Whakaaetia te whakauru ki roto i nga pou tuakiri", ki te whakamahia pera.
    Whakatupato: ki te ngana koe ki te kowhiri i etahi tepu me te tautapa i te taonga ki a raatau "Whakaaetia te whakauru ki roto i nga pou tuakiri" kua tautuhia kētia te taonga mo tetahi o nga ripanga kua tohua, ka tohu te korero kua whakaritea kee te taonga mo nga ripanga kua tohua. Ka taea e tenei meka te raruraru me te arahi ki te whakawhiti i nga hapa.
  4. Me timata te whakawhiti.
  5. Te whakaora i te arowhai here:
    EXEC sp_msforeachtable 'ALTER TABLE ? CHECK CONSTRAINT all'

Mena ka puta he hapa, ka tirotirohia e matou nga tautuhinga, ka whakakorehia te papaarangi i hangaia me nga hapa, ka hangaia ano mai i te tuhinga, ka whakatikahia, ka whakahou ano i te whakawhiti raraunga.

mutunga

He onge noa tenei mahi, ka puta ake na runga i nga here o runga ake nei. Ko te otinga tino noa ko te whakahou i te SQL Server, te hono atu ranei ki tetahi tūmau mamao mena ka whakaaetia e te hoahoanga tono. Heoi, karekau he tangata e noho haumaru mai i te waehere tuku iho me nga ringa kopikopiko o te whanaketanga kore-kounga. Te ti'aturi nei au e kore koe e hiahia ki enei tohutohu, a ki te hiahia koe, ka awhina koe ki te whakaora i te wa me nga uaua. Mauruuru koe mo to aro!

Te rarangi o nga puna i whakamahia

Source: will.com