Kaip pervadinti SQL serverio duomenų bazę?

Kartais mums reikia pakeisti duomenų bazės pavadinimą, nes pradinis pavadinimas buvo pagrįstas projektu, kuris tapo nebesvarbus duomenų bazėje saugomiems duomenims arba jūs anksčiau buvote suteikę laikiną pavadinimą, o dabar norite jį pakeisti. Nepriklausomai nuo duomenų bazės pervadinimo priežasčių, šiame straipsnyje mes pateiksime būdus, kaip pervadinti duomenų bazę, kokia klaida gali kilti tai darant ir kaip jas ištaisyti.

Taigi, norėdami pervadinti duomenų bazę, turite laikytis vieno iš toliau aptartų metodų. Visų pirma turime sukurti duomenų bazę, kurią reikia pervadinti.

Duomenų bazės kūrimas:

Pasirinkite bet kurią savo duomenų bazę SQL serverio valdymo sistema (SSMS). Jei tokių neturite, galite juos sukurti atlikdami šią procedūrą.

  1. Dešiniuoju pelės mygtuku spustelėkite „Duomenų bazė" viduje konors „Objektų naršyklė“ ir pasirinkite parinktį „Nauja duomenų bazė“
  2. Kairiojoje srityje atsiras langas
  3. pasirinkite „Generalas“ įrašykite duomenų bazės pavadinimą į dešinįjį langelį ir paspauskite "Gerai". Bus sukurta duomenų bazė

Yra keli būdai, kaip pervardyti duomenų bazę „SQL Server“, kurie išsamiai aptariami toliau kartu su versijomis, palaikomomis bet kokio konkretaus metodo. Vėliau taip pat aptarsime klaidas, atsirandančias pervadinant duomenų bazę, ir jų šalinimo tvarką.

1 metodas: naudojant SSMS pervadinimo parinktį pervardyti „SQL Server“ duomenų bazę

Tai paprasčiausias būdas pervadinti duomenų bazę. Norėdami tai padaryti, turite elgtis taip.

  1. Dešiniuoju pelės mygtuku spustelėkite objektų naršyklės duomenų bazės pavadinimą
  2. Pasirinkite „Pervadinti“, įveskite duomenų bazės pavadinimą ir paspauskite „Įvesti“

2 metodas: SSMS naudojimas norint pervardyti „SQL Server“ duomenų bazę

Kitas paprasčiausias būdas pervadinti duomenų bazę, kaip ir bet kurio aplanko pervadinimas „Windows“. Norėdami tai padaryti, turite tęsti taip. Spustelėkite duomenų bazę, kad pervardytumėte ją kaip ir pervadindami „Windows“ aplankus.

3 metodas: naudojant „T-SQL“ pervardyti „SQL Server“ duomenų bazę

SQL Server 2005, 2008, 2008R2, 2012, 2014, 2016 ir 2017 ši komanda veikia. Vykdykite šį teiginį.

PAKEISTI DUOMENŲ BAZE [testas] PAKEISTI PAVADINIMĄ = [test_cases]

Rezultatas bus „Duomenų bazės pavadinimas„ test_cases “nustatytas.“ Kaip parodyta paveikslėlyje žemiau.

Galite naudoti toliau pateiktą komandą T-SQL, norėdami pakeisti duomenų bazės pavadinimą, jei naudojate „SQL Server 2000.“. Su SQL 2005, 2008, 2008R2, 2012, 2014, 2016 ir 2017 tai vis tiek veikia, tačiau tam tikru etapu „Microsoft“ tvirtina, kad jis bus palaipsniui panaikintas.

Metodas 4: naudodami „Atskirti ir pridėti“ pervardykite „SQL Server“

Naudojant „SQL Server“ atskyrimo ir pridėjimo funkciją, galima pirmiausia pašalinti duomenų bazę ir priskirti duomenų bazei kitą pavadinimą, kai vėl pridedate duomenų bazę. Tam galima naudoti šias T-SQL komandas

Duomenų bazės atskyrimas vykdydami šį kodą:

EXEC sp_detach_db 'testas', 'true'

Rezultatas bus toks

Duomenų bazės pridėjimas.

EXEC sp_attach_db @dbname = Nestest ', @ filename1 = N'C: \ Program Files \ Microsoft SQL Server \ MSSQL12.MSSQLSERVER \ MSSQL \ DATA \ test.mdf', @ filename2 = N'C: \ Program Files \ Microsoft SQL Server \ MSSQL12.MSSQLSERVER \ MSSQL \ DATA \ test_log.ldf ';

Rezultatas bus:

SSMS naudojimas norint atskirti ir vėl prijungti duomenų bazes

Tai taip pat galima pasiekti naudojant SSMS, atlikus šiuos veiksmus.

  1. Dešiniuoju pelės mygtuku spustelėkite duomenų bazę, pasirinkite „Užduotis“ tada spustelėkite „Atsiskirti“
  2. Dabar spustelėkite "Gerai"
  3. Dabar, norėdami pridėti duomenų bazę, dešiniuoju pelės mygtuku spustelėkite „Duomenų bazės“ į „Objektų naršyklė“ ir spustelėkite „Pridėti“. Atsiras ekranas, spustelėkite Pridėti. Pasirodys kitas langas su duomenų bazių pavadinimais, kaip parodyta žemiau „Testas“.
  4. Bet mes norime jį pridėti kaip modifikuotą duomenų bazės pavadinimą „Test_cases“ taigi tipo „Test_case“ į „Pridėti kaip“ dėžė. Dabar taip. Tai pervadins jūsų duomenų bazę.

Be to, aptarsime klaidas, kurios gali kilti pervadinant duomenų bazę. Norint pervardyti duomenų bazę, jums reikės išskirtinės prieigos prie duomenų bazės, kuri užtikrina, kad duomenų bazė neturi jokių kitų duomenų bazės ryšių. Bet jei taip nėra, tai gali sukelti klaidų, kaip parodyta žemiau. Klaida gali atsirasti net tada, kai netyčia atidarome kitą langą su tuo pačiu duomenų bazės pavadinimu, kurį reikia pervadinti.

Klaidos, atsirandančios pervadinant duomenų bazę per SSMS ir vykdant užklausą:

Šios toliau paminėtos dvi klaidos turi dvi skirtingas nuomones, nes jos atsiranda pervadinant duomenų bazę dviem skirtingais metodais. 1 klaida atsiranda pervadinant duomenų bazę naudojant SSMS, o antroji klaida - pervadinant duomenų bazę naudojant užklausą. Abi klaidos rodo tą patį pranešimą „Duomenų bazės negalima išimtinai užrakinti operacijai atlikti“, tai reiškia, kad įvyko klaida, nes vartotojui nėra suteikta išskirtinė prieiga prie duomenų bazės, kad būtų galima pervardyti duomenų bazę. Taigi norėdami pervadinti duomenų bazę turime nustatyti duomenų bazęvieno vartotojo režimas“.

1 klaida: pervadinant duomenų bazę per SSMS įvyksta klaida

„Nepavyko pervadinti testo. („ObjectExplorer“)

Papildoma informacija:

Nepavyko pervardyti duomenų bazės bandymo (Microsoft.SqlServer.Smo)

Išimtis įvyko vykdant „Transact-SQL“ sakinį ar paketą.

(„Microsoft.SqlServer.ConnectionInfo“)

Duomenų bazės negalima užrakinti tik operacijai atlikti. („Microsoft SQL Server“, klaida: 5030) “

2 klaida: pervadinant duomenų bazę naudojant užklausą įvyksta klaida

„Msg 5030, 16 lygis, 2 būsena, 2 eilutė. Duomenų bazės negalima užrakinti tik operacijai atlikti.“

Pirmiausia atkursime minėtus klaidų pranešimus, kad suprastume, kuriame scenarijuje jie kyla ir kaip juos ištaisyti.

  1. Dešiniuoju pelės mygtuku spustelėkite duomenų bazės pavadinimą iš „Objektų naršyklė“
  2. Pasirinkite pervadinti ir įveskite duomenų bazės pavadinimą ir paspauskite „Įvesti“ jei jis veikia gerai, bet jei neveikia ir sukelia tokią klaidą „Nepavyko pervadinti („ ObjectExplorer “). Duomenų bazės negalima užrakinti tik operacijai atlikti. („Microsoft SQL Server“, klaida: 5030) “ kaip parodyta toliau pateiktame paveikslėlyje, tada jūs neturite išskirtinės prieigos prie duomenų bazės, kad pervardytumėte duomenų bazę.
  3. Ši klaida reiškia, kad SQL serveris neleis pervardyti duomenų bazės, kol ji nebus „Vieno vartotojo režimas“.
  4. Taigi jums reikės išskirtinės prieigos prie duomenų bazės, kad pervardytumėte duomenų bazę, kad suprastumėte tai, atidarykite kitą užklausos langą ir pasirinkite duomenų bazę „Testas“
  5. Pirmame lange pabandykite atlikti šį kodą.
  6. KEISTI DUOMENŲ BAZAS [testas] PAKEISTI VARDĄ = [test_cases]
  7. Bet tai gali sukelti tokį klaidos pranešimą: „Msg 5030, 16 lygis, 2 būsena, 2 eilutė. Duomenų bazės negalima užrakinti tik operacijai atlikti.“

Sprendimas:

Tai sukonfigūruos duomenų bazę atkurti visas laukiančias operacijas ir ją nustatyti „Vieno vartotojo režimas“ ir tada vėl į „Kelių vartotojų režimas“.

  1. Norėdami tai išspręsti, turime uždaryti visus kitus langus, kuriuose naudojamas tas pats duomenų bazės pavadinimas, arba nustatyti duomenų bazę „Vieno vartotojo režimas“ naudojant šias komandas.
  2. Pakeisti duomenų bazės testų rinkinį „single_user“ su tiesioginiu grįžimu EXEC sp_renamedb 'test', 'test_cases' go alter duomenų bazę test_cases set multi_user go
  3. Išvestis bus tokia: „Nekvalifikuoti sandoriai grąžinami atgal. Numatomas grąžinimo užbaigimas: 0%. Nekvalifikuoti sandoriai grąžinami. Numatomas grąžinimo užbaigimas: 100%. Nustatytas duomenų bazės pavadinimas „test_cases“. “

Išvada:

Tai yra keli būdai, kaip pervardyti duomenų bazę. Jei vienas būdas jums netinka. Galite pereiti prie kito. Reikėtų nepamiršti, kad keičiant duomenų bazių pavadinimus šiais būdais duomenų bazė tiesiog pervadinama. „Fizinės bylos“ vis dar turi tuos pačius pavadinimus. Kaip matome paveikslėlyje žemiau, mes pakeitėme duomenų bazės pavadinimą iš „Testas“ į „Test_cases“ bet fizinėje vietoje jis liko tas pats.

Taigi paprasčiausias būdas yra naudoti 4 sprendimą, jei norite pakeisti ir failo pavadinimą. Pirmiausia prieš pakeisdami failus, turite pakeisti fizinių failų pavadinimą, tada, kai dar kartą pridedate, nurodykite pervardytus failus.

Be to, be duomenų bazių pavadinimų keitimo, taip pat turite patikrinti, ar jūsų programos kode nėra nuorodų į duomenų bazės pavadinimą. Tai gali būti „SQL Server“ arba ne „SQL Server“.