SQL Server-database: Opprett, endre, slett og gjenopprett
⚡ Smart oppsummering
SQL Server-databaser er containere som inneholder tabeller, visninger, lagrede prosedyrer og andre objekter. Opprette, endre, sletteping, og gjenoppretting av en database kan gjøres via SQL Server Management Studio eller med Transact-SQL-setninger.

Hva er database?
En database er en samling av objekter som f.eks. tabeller, visninger, lagrede prosedyrer, utløsere og funksjoner. I SQL Server, en database er det organiserte hjemmet der alle disse relaterte objektene er lagret og sammenkoblet.
Tenk på noen eksempler fra det virkelige liv:
- En bokhylle er der bøker oppbevares.
- Et hjem er der vi bor.
- En parkeringsplass er der kjøretøy parkeres, og slike eksempler er utallige.
På samme måte er en database et slags hjem for alle tabellene, visningene og lagrede prosedyrene våre. Teknisk sett lagrer en database data på en velorganisert måte for enkel tilgang og gjenfinning. I SQL Server finnes det to typer databaser:
- Systemdatabaser: Disse opprettes automatisk når du installerer SQL Server. De spiller en avgjørende rolle i serveren, spesielt for å sikre at databaseobjekter kjører riktig. Eksempler på SQL Server-systemdatabaser inkluderer master, msdb, model, tempdb og resource.
- Brukerdatabaser: Disse er opprettet av databasebrukere som deg, som har fått tilgang til å opprette databaser.
Regler for å opprette en database
Først må du kjenne til de grunnleggende reglene for å opprette en ny database:
- Databasenavn må være unike i en forekomst av SQL Server.
- Databasenavn kan være på maksimalt 128 tegn.
- CREATE DATABASE-setningen må kjøres i auto-commit-modus.
Bildet nedenfor viser de to tilgjengelige metodene for å opprette en database i SQL Server.
Det finnes to måter å opprette en database i SQL Server:
- SQL Server Management Studio
- Transaksjoner SQL
Hvordan lage en database i SQL Server Management Studio
Her er en trinnvis prosess for å opprette en database i SQL Server Management Studio:
Trinn 1) Høyreklikk på «Database» i «Objektutforsker»-vinduet, og velg deretter «Ny database».
Høyreklikkmenyen med alternativet Ny database vises nedenfor.
Trinn 2) Skjermbildet «Ny database» vises. Skriv inn et «Databasenavn». Kolonnen «Logisk navn» fylles automatisk ut med:
- Edu – Filtype: Raddata og filgruppe: PRIMÆR
- Edu_log – Filtype: LOG og filgruppe: 'Ikke aktuelt'
Dialogboksen Ny database med databasenavnet og de logiske filene vises nedenfor.
Her:
- A) Edu (Filtype: Raddata, Filgruppe: PRIMÆR) er .mdf-datafilen.
- B) Edu_log (Filtype: LOG, Filgruppe: 'Ikke aktuelt') er .ldf-loggfilen.
Trinn 3) (Valgfritt) For mer komplekse innstillinger kan du gå til sidene «Alternativer» og «Filgrupper». På nybegynnernivå er det tilstrekkelig å opprette databasen fra fanen Generelt.
Sidene Alternativer og Filgrupper vises nedenfor.
Trinn 4) Klikk på «Legg til» (OK-knappen) for å opprette databasen.
Knappen som bekrefter opprettelsen er uthevet nedenfor.
Resultat: «Edu»-databasen opprettes. Du kan utvide databasen «Edu», som vil inneholde tabeller, visninger og så videre. Disse er i utgangspunktet tomme inntil du oppretter nye tabeller, visninger osv.
Se kildesøket: Du kan se kildespørringen til den nyopprettede «Edu»-databasen. Naviger slik: Høyreklikk på databasenavnet > Skriptdatabase som > OPPRETT til > Nytt spørreredigeringsvindu.
Spørringsvindu: Det genererte CREATE-skriptet åpnes i et nytt spørrevindu, som vist nedenfor.
Lag 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 )
Opprett database med T-SQL
En annen metode er å skrive en T-SQL-spørring for å opprette en database og deretter kjøre den. La oss se på den enkleste T-SQL-spørringen for databaseoppretting.
Syntaks:
CREATE DATABASE <Database_name>
Spørsmål:
CREATE DATABASE [Edu_TSQL_file]
Klikk på «Utfør» for å kjøre spørringen, som vist nedenfor.
Resultat: Du kan se Edu_TSQL_filen som er opprettet i SQL Object Explorer.
La oss nå se på hvordan man oppretter en database med eksplisitte .mdf- og .ldf-filer. Her kan du oppgi filplasseringen som en eksplisitt del av spørringen.
Syntaks:
CREATE DATABASE database_name [ CONTAINMENT = { NONE | PARTIAL } ] [ ON [ PRIMARY ] <filespec> [ ,...n ] [ , <filegroup> [ ,...n ] ] [ LOG ON <filespec> [ ,...n ] ] ];
Spørsmål:
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 )
Databasen som er opprettet med dens eksplisitte data og loggfiler vises i Object Explorer, som vist nedenfor.
Hvordan endre databasen
I likhet med CREATE DATABASE-spørringen kan du også endre en database. Du kan gi databasen nytt navn, endre en filplassering eller innstilling og mer.
Grunnleggende regler for å endre en database:
- ALTER DATABASE-setningen må kjøres i auto-commit-modus.
- ALTER DATABASE er ikke tillatt i en eksplisitt eller implisitt transaksjon.
Det finnes to måter å endre en database i SQL Server:
- SQL Server Management Studio
- Transaksjoner SQL
Hvordan endre database i SQL Server Management Studio
Nedenfor finner du trinnene for å endre en database i SQL Server Management Studio. La oss prøve å endre navnet på den forhåndsopprettede databasen vår, «Edu». Den forhåndsopprettede Edu-databasen vises nedenfor i Object Explorer.
Trinn 1) Gi databasen nytt navn. Høyreklikk på databasenavnet og klikk på «Gi nytt navn».
Trinn 2) Databasenavnet kan redigeres. Skriv inn det nye navnet og trykk Enter.
Resultat: Databasen er nå omdøpt fra «Edu» til «Edu_Alter».
Endre database med Transact-SQL
La oss nå endre en database ved hjelp av T-SQL.
Syntaks:
ALTER DATABASE <Databse_name> MODIFY NAME = <New Name>
Spørsmål:
ALTER DATABASE Edu_TSQL MODIFY NAME = Edu_TSQL_Alter;
Kjør søket ovenfor ved å klikke på "Utfør".
Resultat: Databasen er nå omdøpt fra «Edu_TSQL» til «Edu_TSQL_Alter», som vist nedenfor.
Generell syntaks: Den fullstendige ALTER DATABASE-syntaksen støtter mange alternativer, inkludert navneendring, sortering, filalternativer og kompatibilitetsnivå.
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 } } ;
OBS: Kompatibilitetsnivåene som vises ovenfor gjenspeiler eldre utgivelser. Nåværende versjoner legger til 150 (SQL Server 2019), 160 (SQL Server 2022) og 170 (SQL Server 2025), samtidig som de fortsatt støtter flere tidligere nivåer.
Endre navnet på .mdf/.ldf-filen
Spørsmål:
Alter DATABASE Edu_TSQL_Alter; MODIFY FILE ( NAME = Edu_TSQL, NEWNAME = Edu_TSQL_newName );
Den omdøpte logiske filen gjenspeiles i databaseegenskapene, som vist nedenfor.
Endre plasseringen av .mdf/.ldf-filen
Spørsmål:
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' );
Den oppdaterte filbanen for databasen vises nedenfor.
Slett database
Det finnes to måter å slette (drop) en database i SQL Server:
- SQL Server Management Studio
- Transaksjoner SQL
Slik slipper du database i SQL Server Management Studio
Følgende er prosessen for å slette en database i SQL Server Management Studio. La oss prøve å slette den forhåndsopprettede databasen vår, «Edu_Alter».
Trinn 1) Høyreklikk på databasen, klikk på «Slett», og klikk deretter på «OK».
Resultat: 'Edu_Alter' er slettet fra databaselisten 'Object Explorer'.
Slett database ved hjelp av Transact-SQL
La oss prøve å slette den forhåndsopprettede databasen vår 'Edu_TSQL_Alter'.
Syntaks:
DROP DATABASE <Databse_name>
Spørsmål:
USE master; GO DROP DATABASE Edu_TSQL_Alter; GO
Kjør søket ovenfor ved å klikke på "Utfør".
Resultat: 'Edu_TSQL_Alter' slettes fra databaselisten 'Object Explorer', som vist nedenfor.
Gjenopprett database i SQL Server
Du kan opprette en database ved å gjenopprette en database du har sikkerhetskopiert tidligere. Dette kan gjøres ved å kjøre RESTORE DATABASE-kommandoen, som bruker følgende syntaks:
restore Database <database name> from disk = '<Backup file location + filename>
Spørringen skal utføres i spørrevinduet, akkurat som de foregående kommandoene. For eksempel:
restore database Edu from disk = 'C:\Backup\Edu_full_backup.bak'
Du kan også bruke GUI-navigasjonen: Høyreklikk på Database > Gjenopprett database > Enhet > importer sikkerhetskopifilen > klikk OK.





















