SQL Serveri andmebaas: loomine, muutmine, kustutamine ja taastamine

โšก Nutikas kokkuvรตte

SQL Serveri andmebaasid on konteinerid, mis hoiavad tabeleid, vaateid, salvestatud protseduure ja muid objekte. Loomine, muutmine, kustutaminepingja andmebaasi saab taastada SQL Server Management Studio vรตi Transact-SQL-lausete abil.

  • ๐Ÿ—„๏ธ Andmebaas: SQL Serveri andmebaas salvestab tabeleid, vaateid, protseduure ja funktsioone รผhte organiseeritud ja omavahel seotud konteinerisse.
  • ๐Ÿงฉ Sรผsteem vs kasutaja: Sรผsteemi andmebaasid (master, msdb, model, tempdb, resource) installitakse automaatselt; kasutaja andmebaasid loote teie.
  • ๐Ÿ–ฑ๏ธ Loo: Andmebaasi saab lisada Object Exploreri dialoogiboksi โ€žUus andmebaasโ€ vรตi kรคsuga CREATE DATABASE.
  • โœ๏ธ Vanus: Nimeta andmebaas รผmber vรตi muuda selle faile ja suvandeid kรคsuga ALTER DATABASE vรตi menรผรผst Rename.
  • ๐Ÿ—‘๏ธ Tilk: Kasutajaandmebaasi saab kustutada kรคsuga DROP DATABASE vรตi kustutamisvalikuga; sรผsteemiandmebaase ei saa kustutada.
  • ๐Ÿ’พ Taastama: Andmebaasi taastamine .bak varukoopiafailist kรคsuga RESTORE DATABASE.

SQL Serveri andmebaasi loomine, muutmine, kustutamine ja taastamine

Mis on andmebaas?

Andmebaas on objektide kogum, nรคiteks tabelid, vaated, salvestatud protseduurid, pรครคstikud ja funktsioonid. SQL Server, andmebaas on organiseeritud kodu, kus kรตiki neid seotud objekte hoitakse ja omavahel รผhendatakse.

Mรตelge mรตnele nรคitele pรคriselust:

  • Raamaturiiul on koht, kus raamatud asuvad.
  • Kodu on see, kus me elame.
  • Parkla on koht, kus pargitakse sรตidukeid, ja selliseid nรคiteid on lugematu arv.

Samamoodi on andmebaas omamoodi kodu kรตigile meie tabelitele, vaadetele ja salvestatud protseduuridele. Tehnilises mรตttes salvestab andmebaas andmeid hรคsti organiseeritud viisil, et neile oleks lihtne juurde pรครคseda ja neid otsida. SQL Serveris on kahte tรผรผpi andmebaase:

  • Sรผsteemi andmebaasid: Need luuakse SQL Serveri installimisel automaatselt. Neil on serveris oluline roll, eriti andmebaasiobjektide korrektse tรถรถtamise tagamisel. SQL Serveri sรผsteemiandmebaaside nรคideteks on master, msdb, model, tempdb ja resource.
  • Kasutajate andmebaasid: Need on loodud andmebaasi kasutajate poolt, kellel on antud juurdepรครคs andmebaaside loomiseks.

Andmebaasi loomise reeglid

Esiteks peate teadma uue andmebaasi loomise pรตhireegleid:

  • Andmebaasi nimed peavad SQL Serveri eksemplaris olema kordumatud.
  • Andmebaasi nimed vรตivad olla maksimaalselt 128 tรคhemรคrgi pikkused.
  • CREATE DATABASE kรคsk peab tรถรถtama automaatse kinnitamise reลพiimis.

Allolev pilt kirjeldab kahte saadaolevat lรคhenemisviisi andmebaasi loomiseks SQL Serveris.

Kaks vรตimalust SQL Serveri andmebaasi loomiseks: Management Studio ja Transact-SQL

SQL Serveris on andmebaasi loomiseks kaks vรตimalust:

Kuidas luua andmebaasi SQL Server Management Studios

Siin on samm-sammult juhend andmebaasi loomiseks SQL Server Management Studios:

Step 1) Paremklรตpsake aknas โ€žObjektihaldurโ€ valikul โ€žAndmebaasโ€ ja valige seejรคrel โ€žUus andmebaasโ€.

Paremklรตpsu menรผรผ valikuga Uus andmebaas on nรคidatud allpool.

Paremklรตpsake andmebaasisรตlmel objektide uurijas menรผรผd, kui valitud on uus andmebaas

Step 2) Ilmub ekraan โ€žUus andmebaasโ€œ. Sisestage andmebaasi nimi. Veerg โ€žLoogiline nimiโ€œ tรคidetakse automaatselt jรคrgmisega:

  • Edu โ€“ failitรผรผp: Read Andmed ja failirรผhm: PRIMARY
  • Edu_log โ€“ failitรผรผp: LOG ja failirรผhm: โ€žPole kohaldatavโ€

Allpool on nรคidatud uue andmebaasi dialoogiboks koos andmebaasi nime ja selle loogiliste failidega.

Uue andmebaasi dialoogiboks, mis kuvab Edu andmebaasi nime ning Edu ja Edu_log loogilisi faile

siin:

  • A) Edu (failitรผรผp: Rows Data, failirรผhm: PRIMARY) on .mdf andmefail.
  • B) Edu_log (failitรผรผp: LOG, failirรผhm: 'Not Applicable') on .ldf logifail.

Step 3) (Valikuline) Keerukamate sรคtete jaoks vรตite navigeerida lehtedele โ€žValikudโ€œ ja โ€žFailirรผhmadโ€œ. Algajal piisab andmebaasi loomisest vahekaardilt โ€žรœldineโ€œ.

Valikud ja failirรผhmad on nรคidatud allpool.

Uued andmebaasi valikute ja failirรผhmade lehed tรคpsemate sรคtete jaoks

Step 4) Andmebaasi loomiseks klรตpsake nuppu โ€žLisaโ€ (nupp OK).

Loomist kinnitav nupp on allpool esile tรตstetud.

OK nupp dialoogiboksis โ€žUus andmebaasโ€, mis loob Edu andmebaasi

Tulemus: Andmebaas โ€žEduโ€ on loodud. Saate andmebaasi โ€žEduโ€ laiendada, mis sisaldab tabeleid, vaateid jne. Need on esialgu tรผhjad, kuni loote uusi tabeleid, vaateid jne.

Objektihaldur, mis kuvab รคsjaloodud Edu andmebaasi koos selle tรผhjade kaustadega

Vaadake allikapรคringut: Saate vaadata รคsjaloodud โ€žEduโ€ andmebaasi lรคhtepรคringut. Navigeerige jรคrgmiselt: paremklรตpsake andmebaasi nimel > Skriptiandmebaas kui > Loo > Uus pรคringuredaktori aken.

Skriptiandmebaas kui CREATE uude pรคringuredaktori aknasse kontekstimenรผรผ

Pรคringu aken: Loodud CREATE-skript avaneb uues pรคringuaknas, nagu allpool nรคidatud.

Pรคringuredaktori aken, mis kuvab Edu jaoks automaatselt genereeritud CREATE DATABASE skripti

Loo skript:

USE [master]
GO

CREATE DATABASE [Edu]
 CONTAINMENT = NONE
 ON  PRIMARY 
( NAME = N'Edu', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
 LOG ON 
( NAME = N'Edu_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )

Looge andmebaas T-SQL-iga

Teine meetod on kirjutada andmebaasi loomiseks T-SQL-pรคring ja seejรคrel see kรคivitada. Vaatleme lihtsamat andmebaasi loomise T-SQL-pรคringut.

sรผntaksit:

CREATE DATABASE <Database_name>

Pรคring:

CREATE DATABASE [Edu_TSQL_file]

Pรคringu kรคivitamiseks klรตpsake nuppu โ€žKรคivitaโ€, nagu allpool nรคidatud.

SSMS-i tรถรถriistaribal olev nupp โ€žKรคivitaโ€ (Execute), mida kasutatakse pรคringu โ€žLoo andmebaasโ€ (CREATE DATABASE) kรคivitamiseks.

Tulemus: SQL Object Exploreris nรคete loodud Edu_TSQL_faili.

Objektihaldur, mis loetleb Transact-SQL-iga loodud Edu_TSQL_file andmebaasi

Nรผรผd vaatame, kuidas luua andmebaas, mis sisaldab eksplitsiitseid .mdf- ja .ldf-faile. Siin saate faili asukoha mรครคrata pรคringu osana.

sรผntaksit:

CREATE DATABASE database_name   
[ CONTAINMENT = { NONE | PARTIAL } ]  
[ ON   
      [ PRIMARY ] <filespec> [ ,...n ]   
      [ , <filegroup> [ ,...n ] ]   
      [ LOG ON <filespec> [ ,...n ] ]   
];

Pรคring:

CREATE DATABASE [Edu_TSQL_file]
 CONTAINMENT = NONE
 ON  PRIMARY 
( NAME = N'Edu_TSQL_file', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu_TSQL_file.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
 LOG ON 
( NAME = N'Edu_TSQL_file_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu_TSQL_file_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )

Selle selgesรตnaliste andmete ja logifailidega loodud andmebaas kuvatakse Object Exploreris, nagu allpool nรคidatud.

Objektihaldur, mis kuvab Edu_TSQL_file andmebaasi, mis on loodud selgesรตnaliste .mdf ja .ldf failidega

Kuidas muuta andmebaasi

Sarnaselt pรคringuga CREATE DATABASE saate muuta ka andmebaasi. Saate andmebaasi รผmber nimetada, muuta faili asukohta vรตi sรคtet ja teha palju muud.

Andmebaasi muutmise pรตhireeglid:

  • ALTER DATABASE kรคsk peab tรถรถtama automaatse kinnitamise reลพiimis.
  • ALTER DATABASE pole otseses ega kaudses tehingus lubatud.

SQL Serveris on andmebaasi muutmiseks kaks vรตimalust:

  • SQL Serveri haldusstuudio
  • Tehke SQL-i

Kuidas muuta andmebaasi SQL Server Management Studios

Allpool on toodud sammud andmebaasi muutmiseks SQL Server Management Studios. Proovime muuta meie eelloodud andmebaasi nime 'Edu'. Eelloodud Edu andmebaas on nรคidatud allpool Object Exploreris.

Objektihalduri andmebaasiloendist valitud eelloodud Edu andmebaas

Step 1) Nimeta andmebaas รผmber. Paremklรตpsa andmebaasi nimel ja klรตpsa nupul โ€žNimeta รผmberโ€.

Paremklรตpsake Edu andmebaasi kontekstimenรผรผd valikuga โ€žNimeta รผmberโ€

Step 2) Andmebaasi nimi muutub muudetavaks. Sisestage uus nimi ja vajutage sisestusklahvi (Enter).

Muudetav Edu andmebaasi nimevรคli uue nime jaoks valmis

Tulemus: Andmebaas on nรผรผd รผmber nimetatud 'Edu'-st 'Edu_Alteriks'.

Objektihaldur, mis kuvab andmebaasi รผmbernimetamist Edu-st Edu_Alteriks

Muutke andmebaasi Transact-SQL-iga

Nรผรผd muudame andmebaasi T-SQL-i abil.

sรผntaksit:

ALTER DATABASE <Databse_name>              
MODIFY NAME = <New Name>

Pรคring:

ALTER DATABASE Edu_TSQL
MODIFY NAME = Edu_TSQL_Alter;

Kรคivitage รผlaltoodud pรคring, klรตpsates kรคsul Kรคivita.

Tulemus: Andmebaas on nรผรผd รผmber nimetatud 'Edu_TSQL'-ist 'Edu_TSQL_Alter'-iks, nagu allpool nรคidatud.

Objektihaldur, mis kuvab andmebaasi, mis on pรคrast ALTER DATABASE kรคsku รผmber nimetatud Edu_TSQL_Alteriks

รœldine sรผntaks: Tรคielik ALTER DATABASE sรผntaks toetab paljusid valikuid, sealhulgas รผmbernimetamist, sortimist, failivalikuid ja รผhilduvuse taset.

ALTER DATABASE { database_name  | CURRENT }  
{   MODIFY NAME = new_database_name   
  | COLLATE collation_name  
  | <file_and_filegroup_options>  
  | SET <option_spec> [ ,...n ] [ WITH <termination> ] 
  | SET COMPATIBILITY_LEVEL = { 140 | 130 | 120 | 110 | 100 | 90 }   
} ;

Mรคrge: รœlaltoodud รผhilduvustasemed kajastavad vanemaid versioone. Praegused versioonid lisavad 150 (SQL Server 2019), 160 (SQL Server 2022) ja 170 (SQL Server 2025), toetades samal ajal mitmeid varasemaid tasemeid.

.mdf/.ldf failinime muutmine

Pรคring:

Alter DATABASE Edu_TSQL_Alter;
MODIFY FILE ( NAME = Edu_TSQL, NEWNAME = Edu_TSQL_newName );

รœmbernimetatud loogiline fail kajastub andmebaasi atribuutides, nagu allpool nรคidatud.

Andmebaasi omadused, mis kinnitavad รผmbernimetatud loogilise faili Edu_TSQL_newName

.mdf/.ldf faili asukoha muutmine

Pรคring:

Alter DATABASE Edu_TSQL_Alter;
MODIFY FILE ( NAME = Edu_TSQL_NewName, FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\New_File\Edu_TSQL_log.ldf' );

Andmebaasi uuendatud failitee on nรคidatud allpool.

Andmebaasifaili leht, mis nรคitab uue .ldf logifaili asukohta

Kustuta andmebaas

SQL Serveris on andmebaasi kustutamiseks (eemaldamiseks) kaks vรตimalust:

  • SQL Serveri haldusstuudio
  • Tehke SQL-i

Kuidas loobuda andmebaasist SQL Server Management Studios

Jรคrgnevalt on kirjeldatud andmebaasi kustutamise protsessi SQL Server Management Studios. Proovime kustutada meie eelloodud andmebaasi 'Edu_Alter'.

Step 1) Paremklรตpsake andmebaasil, klรตpsake nuppu โ€žKustutaโ€ ja seejรคrel nuppu โ€žOKโ€.

Objekti kustutamise dialoogiboks rippmenรผรผ jaoksping Edu_Alteri andmebaas SSMS-is

Tulemus: 'Edu_Alter' on 'Object Explorer' andmebaasiloendist kustutatud.

Objektihalduri andmebaasi loend pรคrast Edu_Alteri andmebaasi kustutamist

Kustutage andmebaas Transact-SQL-i abil

Proovime kustutada meie eelnevalt loodud andmebaasi 'Edu_TSQL_Alter'.

sรผntaksit:

DROP DATABASE <Databse_name>

Pรคring:

USE master;  
GO  
DROP DATABASE Edu_TSQL_Alter;  
GO

Kรคivitage รผlaltoodud pรคring, klรตpsates kรคsul Kรคivita.

Tulemus: โ€žEdu_TSQL_Alterโ€ kustutatakse andmebaasi โ€žObject Explorerโ€ loendist, nagu allpool nรคidatud.

Objektihalduri andmebaasi loend pรคrast Edu_TSQL_Alter andmebaasi kustutamist T-SQL-iga

Taastage andmebaas SQL Serveris

Andmebaasi saab luua, taastades varem varundatud andmebaasi. Seda saab teha kรคsu RESTORE DATABASE abil, mille sรผntaks on jรคrgmine:

restore Database <database name> from disk = '<Backup file location + filename>

Pรคring tuleks kรคivitada pรคringuaknas, tรคpselt nagu eelmised kรคsud. Nรคiteks:

restore database Edu from disk = 'C:\Backup\Edu_full_backup.bak'

Samuti saate kasutada graafilise kasutajaliidese navigeerimist: paremklรตpsake andmebaas > Taasta andmebaas > Seade > importige varukoopiafail > klรตpsake nuppu OK.

KKK

Andmebaasi loomiseks on vaja pรตhiandmebaasis luba CREATE DATABASE (loo andmebaas), CREATE ANY DATABASE (loo mis tahes andmebaas) vรตi ALTER ANY DATABASE (muuda mis tahes andmebaas). Sรผsteemiadministraatori vรตi andmebaasi creatori serveri rolli liige vรตi vastavalt antud รตigus. Logi sisse, saab lause kรคivitada.

รœks SQL Serveri eksemplar mahutab kuni 32 767 andmebaasi. See arv on arhitektuuriliselt range piirang; praktikas on mรคlu, salvestusruumi ja administreerimise รผldkulu tรตttu hea jรตudluse saavutamiseks soovitatav palju vรคiksem arv.

Ei. Sรผsteemiandmebaasid, nagu master, model, msdb, tempdb ja resource, on mootori jaoks vajalikud ja neid ei saa kustutada. DROP DATABASE vรตi Delete valiku abil saab kustutada ainult teie loodud kasutajaandmebaase.

SIZE mรครคrab algse faili suuruse, MAXSIZE mรครคrab suurima suuruse, milleni fail vรตib kasvada, ja FILEGROWTH mรครคrab, kui palju ruumi faili iga kord laiendades lisandub. Need kehtivad nii andme- kui ka logifailide kohta.

COMPATIBILITY_LEVEL kontrollib, millist pรคringutรถรถtluskรคitumist andmebaas kasutab. Praegused vรครคrtused on 140 (SQL Server 2017), 150 (2019), 160 (2022) ja 170 (2025). ALTER DATABASE SET COMPATIBILITY_LEVEL muudab seda ilma andmebaasi uude serverisse teisaldamata.

Kรคsk DROP DATABASE kustutab andmebaasi ja selle .mdf- ja .ldf-failid jรครคdavalt. Andmebaasi eemaldamine Vร„LJASLINE peatab juurdepรครคsu ainult failide kettale jรคtmise ajal, nii et saate need hiljem taastamiseta uuesti vรตrku tuua.

Jah. GitHubi koopia saab SSMS-is vรตi oma redaktoris loomulikus keeles kรคskude abil koostada CREATE DATABASE, ALTER DATABASE ja DROP DATABASE kรคske. Enne loodud failide kรคivitamist pรคris serveris vaadake need alati รผle.

Tehisintellekt ja masinรตpe aitavad andmebaaside seadistamist, soovitades failisuurusi ja kasvuseadeid, prognoosides mahtu, tuvastades konfiguratsiooni nihkeid ja mรคrkides รคra riskantsed DROP- vรตi ALTER-toimingud. Need toetavad andmebaasi administraatorit, selle asemel et asendada hoolikat รผlevaatamist.

Vรตta see postitus kokku jรคrgmiselt: