Kuinka nimetä SQL Server -tietokanta uudelleen?

Joskus meidän on vaihdettava tietokannan nimeä, koska alkuperäinen nimi perustui projektiin, josta on tullut merkityksetöntä tietokantaan tallennetuille tiedoille tai olit aiemmin antanut väliaikaisen nimen ja haluat nyt muokata sitä. Tietokannan uudelleennimeämisen syistä riippumatta keksimme tässä artikkelissa tapoja, joilla tietokanta nimetään uudelleen, mitä virheitä voi tapahtua tehdessäsi ja kuinka korjata ne.

Joten nimetäksesi tietokannan, sinun on noudatettava yhtä alla mainituista tavoista. Ensinnäkin meidän on luotava tietokanta, joka on nimettävä uudelleen.

Tietokannan luominen:

Valitse mikä tahansa tietokanta SQL Server -hallintajärjestelmä (SSMS). Jos sinulla ei ole yhtään, voit luoda sellaisen noudattamalla tätä menettelyä.

  1. Napsauta hiiren kakkospainikkeellaTietokanta"Object Explorer" ja valitse vaihtoehto "Uusi tietokanta"
  2. Vasemmanpuoleiseen ruutuun tulee ikkuna
  3. valitse "Yleinen" kirjoita tietokannan nimi oikeaan ruutuun ja paina "Ok". Tietokanta luodaan

Tietokannan nimeämiselle SQL Serverissä on useita tapoja, joita käsitellään jäljempänä yksityiskohtaisesti yhdessä minkä tahansa menetelmän tukemien versioiden kanssa. Myöhemmin keskustelemme myös tietokannan uudelleennimeämisen yhteydessä esiintyvistä virheistä ja menettelystä niiden korjaamiseksi.

Tapa 1: Nimeä SQL Server -tietokanta uudelleen SSMS rename -vaihtoehdon avulla

Tämä on yksinkertaisin tapa nimetä tietokanta uudelleen. Sinun on toimittava näin.

  1. Napsauta hiiren kakkospainikkeella objektinhallinnan tietokannan nimeä
  2. Valitse "nimeä uudelleen", kirjoita tietokannan nimi ja paina "tulla sisään"

Tapa 2: Nimeä SQL Server -tietokanta SSMS: n avulla

Toinen yksinkertaisin tapa nimetä tietokanta aivan kuten minkä tahansa Windowsin kansion uudelleennimeäminen. Sinun täytyy jatkaa näin. Napsauta tietokantaa uudelleennimeä se samalla tavalla kuin nimetä uudelleen Windows-kansiot.

Tapa 3: Nimeä SQL Server -tietokanta T-SQL: n avulla

SQL Server 2005, 2008, 2008R2, 2012, 2014, 2016 ja 2017 tämä komento toimii. Suorita seuraava lause.

MUUTTU TIETOKANTA [testi] MUOKKAA NIMI = [testitapaukset]

Tulos on "Tietokannan nimi" test_cases "on asetettu." Kuten alla olevasta kuvasta näkyy.

Voit muuttaa alla olevaa T-SQL-komentoa tietokannan nimen muuttamiseksi, jos käytät SQL Server 2000: ta. SQL 2005, 2008, 2008R2, 2012, 2014, 2016 ja 2017 tämä toimii edelleen, mutta jossain vaiheessa Microsoft väittää, että se poistetaan asteittain.

Menetelmä 4: Nimeä SQL Server uudelleen irrota ja liitä -toiminnon avulla

SQL Serverin irrota ja liitä -ominaisuuden avulla voidaan poistaa tietokanta ensin ja antaa tietokannalle toinen nimi, kun liität tietokannan uudelleen. Seuraavia T-SQL-komentoja voidaan käyttää tähän

Tietokannan irrottaminen suorittamalla seuraava koodi:

EXEC sp_detach_db 'testi', 'tosi'

Tulos on tällainen

Tietokannan liittäminen.

EXEC sp_attach_db @dbname = Ei testaa, @ tiedostonimi1 = N'C: \ Ohjelmatiedostot \ Microsoft SQL Server \ MSSQL12.MSSQLSERVER \ MSSQL \ DATA \ test.mdf ', @ tiedostonimi2 = N'C: \ Program Files \ Microsoft SQL Server \ MSSQL12.MSSQLSERVER \ MSSQL \ DATA \ test_log.ldf ';

Tulos on:

SSMS: n käyttäminen tietokantojen irrottamiseen ja liittämiseen uudelleen

Tämä voidaan saavuttaa myös SSMS: llä seuraamalla näitä vaiheita.

  1. Napsauta hiiren kakkospainikkeella tietokantaa ja valitse "tehtävä" napsauta sitten "Irrota"
  2. Napsauta nyt "Ok"
  3. Liitä nyt tietokanta napsauttamalla hiiren kakkospainikkeella "Tietokannat" sisään "Object Explorer" ja napsauta "Liittää". Näyttö tulee näkyviin, napsauta Lisää. Toinen ikkuna ilmestyy tietokannan nimillä, kuten alla on esitetty "testata".
  4. Mutta haluamme lisätä sen muokatuksi tietokannan nimeksi "Test_cases" niin kirjoita "testitapaus" sisään ”Liitä nimellä” laatikko. Nyt näin. Tämä nimeää tietokantasi uudelleen.

Lisäksi keskustelemme virheistä, joita saattaa esiintyä tietokannan uudelleennimeämisessä. Tarvitset yksinoikeuden tietokantaan, jotta voit nimetä tietokannan uudelleen, mikä varmistaa, ettei tietokannalla ole muita tietokantayhteyksiä. Mutta jos näin ei ole, se voi johtaa virheisiin, kuten alla on esitetty. Virhe voi ilmetä jopa silloin, kun avaamme vahingossa toisen ikkunan, jolla on sama tietokannan nimi, joka on nimettävä uudelleen.

Virheet, joita ilmenee tietokannan uudelleennimeämisessä SSMS: n kautta ja suorittamalla kysely:

Näillä alla mainituilla kahdella virheellä on kaksi erilaista näkemystä, koska ne syntyvät samalla, kun nimetään tietokanta uudelleen kahdella eri menetelmällä. Virhe 1 syntyy, kun nimetään tietokanta uudelleen SSMS: n avulla, ja toinen virhe ilmenee nimettäessä tietokantaa uudelleen kyselyn avulla. Molemmat virheet osoittavat samaa viestiä "Tietokantaa ei voitu lukita yksinomaan operaation suorittamiseksi", tämä tarkoittaa, että virhe ilmenee, koska käyttäjälle ei anneta yksinoikeutta käyttää tietokantaa uudelleennimeämään tietokanta. Joten nimetäksesi tietokannan, meidän on asetettava tietokantayhden käyttäjän tilassa“.

Virhe 1: Virhe syntyy nimettäessä tietokantaa uudelleen SSMS: n kautta

"Testiä ei voida nimetä uudelleen. (ObjectExplorer)

Lisäinformaatio:

Nimeä uudelleen epäonnistui tietokantatestiä varten (Microsoft.SqlServer.Smo)

Transact-SQL-käskyä tai erää suoritettaessa tapahtui poikkeus.

(Microsoft.SqlServer.ConnectionInfo)

Tietokantaa ei voitu lukita yksinomaan operaation suorittamiseksi. (Microsoft SQL Server, virhe: 5030) "

Virhe 2: Virhe syntyy nimettäessä tietokantaa uudelleen kyselyn avulla

"Msg 5030, taso 16, tila 2, rivi 2. Tietokantaa ei voitu lukita yksinomaan operaation suorittamiseksi."

Ensinnäkin toistamme yllä mainitut virheilmoitukset ymmärtääksemme, missä tilanteessa ne syntyvät ja kuinka ne voidaan korjata.

  1. Napsauta hiiren kakkospainikkeella tietokannan nimeä "Object Explorer"
  2. Valitse nimeä uudelleen ja kirjoita tietokannan nimi ja paina "tulla sisään" jos se toimii hyvin, mutta jos se ei toimi ja johtaa tällaiseen virheeseen "(ObjectExplorer) ei nimetä uudelleen. Tietokantaa ei voitu lukita yksinomaan operaation suorittamiseksi. (Microsoft SQL Server, virhe: 5030) " kuten alla olevasta kuvasta näkyy, sinulla ei ole yksinoikeutta käyttää tietokantaa uudelleennimeäksesi tietokannan.
  3. Tämä virhe tarkoittaa, että SQL Server ei salli tietokannan nimeämistä uudelleen, ellei se ole sisällä ”Yhden käyttäjän tila”.
  4. Joten tarvitset yksinoikeuden tietokantaan, jotta voit nimetä tietokannan uudelleen, ymmärtääksesi tämän, avaa toinen kyselyikkuna ja valitse tietokanta "testata"
  5. Yritä nyt suorittaa seuraava ikkuna ensimmäisessä ikkunassa.
  6. VAIHDA TIETOKANTA [testi] MUOKKAA NIMI = [testitapaukset]
  7. Mutta tämä altistaa tällaiselle virheilmoitukselle: "Msg 5030, taso 16, tila 2, rivi 2. Tietokantaa ei voitu lukita yksinomaan operaation suorittamiseksi."

Ratkaisu:

Tämä määrittää tietokannan palauttamaan kaikki odottavat tapahtumat ja asettamaan sen "Yhden käyttäjän tila" ja sitten takaisin ”Usean käyttäjän tila”.

  1. Tämän korjaamiseksi meidän on suljettava kaikki muut ikkunat, joissa käytetään samaa tietokannan nimeä, tai asetettava tietokanta sisään "Yhden käyttäjän tila" käyttämällä seuraavia komentoja.
  2. Vaihda tietokantatestijoukko yhden käyttäjän palautus välittömästi EXEC sp_renamedb 'test', 'test_cases' go alter database test_cases set multi_user go
  3. Tulos on seuraava: ”Hyväksymättömiä tapahtumia palautetaan. Arvioitu palautuksen valmistuminen: 0%. Hyväksymättömiä tapahtumia palautetaan. Arvioitu palautuksen valmistuminen: 100%. Tietokannan nimi ”test_cases” on asetettu. ”

Päätelmä:

Nämä ovat useita tapoja nimetä tietokanta uudelleen. Jos yksi tapa ei toimi sinulle. Voit mennä toiseen. Yksi asia, joka on pidettävä mielessä, että tietokantojen nimien muuttaminen näillä tavoilla vain nimittää tietokannan uudelleen. "Fyysisillä tiedostoilla" on edelleen samat nimet. Kuten näemme alla olevasta kuvasta, olemme muuttaneet tietokannan nimen "testata" että "Test_cases" mutta fyysisessä paikassa se pysyi samana.

Joten yksinkertaisin tapa on käyttää ratkaisua 4, jos haluat muuttaa myös tiedoston nimeä. Sinun on ensin muutettava fyysisten tiedostojen nimi ennen tiedostojen liittämistä uudelleen ja määritettävä sitten uudelleennimetyt tiedostot, kun liität uudelleen.

Lisäksi tietokantojen nimien muuttamisen lisäksi sinun on tarkistettava, onko sovelluskoodissasi viitteitä tietokannan nimelle. Tämä voi olla joko SQL Serverissä tai SQL Serverin ulkopuolella.