Databáze SQL Serveru: Vytváření, úpravy, odstraňování a obnovování

⚡ Chytré shrnutí

Databáze SQL Serveru jsou kontejnery, které obsahují tabulky, zobrazení, uložené procedury a další objekty. Vytváření, úprava, odstraňovánípinga obnovení databáze lze provést pomocí SQL Server Management Studio nebo pomocí příkazů Transact-SQL.

  • 🗄️ Databáze: Databáze SQL Serveru ukládá tabulky, zobrazení, procedury a funkce do jednoho uspořádaného, ​​propojeného kontejneru.
  • 🧩 Systém vs. Uživatel: Systémové databáze (master, msdb, model, tempdb, resource) se instalují automaticky; uživatelské databáze vytváříte vy.
  • 🖱️ Vytvořit: Databázi přidejte pomocí dialogového okna Nová databáze v Průzkumníku objektů nebo pomocí příkazu CREATE DATABASE.
  • ✏️ změnit: Přejmenujte databázi nebo změňte její soubory a možnosti pomocí příkazu ALTER DATABASE nebo nabídky Přejmenovat.
  • 🗑️ Drop: Uživatelskou databázi odstraňte pomocí příkazu DROP DATABASE nebo volby Delete; systémové databáze nelze odstranit.
  • 💾 Obnovit: Obnovte databázi ze záložního souboru .bak pomocí příkazu RESTORE DATABASE.

Vytváření, úprava, odstranění a obnovení databáze SQL Serveru

Co je to databáze?

Databáze je kolekce objektů, jako například Tabulky, pohledy, uložené procedury, triggery a funkce. V SQL ServerDatabáze je organizovaný domov, kde jsou uloženy a propojeny všechny tyto související objekty.

Zvažte několik příkladů z reálného života:

  • Knihovna je místo, kde se uchovávají knihy.
  • Domov je místo, kde žijeme.
  • Parkoviště je místo, kde jsou zaparkována vozidla, a takových příkladů je bezpočet.

Podobně je databáze jakýmsi domovem pro všechny naše tabulky, zobrazení a uložené procedury. Technicky vzato databáze ukládá data přehledně organizovaným způsobem pro snadný přístup a načítání. V SQL Serveru existují dva typy databází:

  • Systémové databáze: Tyto se vytvářejí automaticky při instalaci serveru SQL Server. Hrají na serveru klíčovou roli, zejména při zajišťování správného fungování databázových objektů. Mezi příklady systémových databází serveru SQL Server patří master, msdb, model, tempdb a resource.
  • Uživatelské databáze: Tyto soubory vytvářejí uživatelé databází, jako jste vy, kterým byl udělen přístup k vytváření databází.

Pravidla pro vytvoření databáze

Nejprve je třeba znát základní pravidla pro vytváření nové databáze:

  • Názvy databází musí být jedinečné v rámci instance SQL Server.
  • Názvy databáze mohou mít maximálně 128 znaků.
  • Příkaz CREATE DATABASE musí být spuštěn v režimu automatického potvrzení (auto-commit).

Obrázek níže ukazuje dva dostupné přístupy k vytvoření databáze v SQL Serveru.

Dva způsoby vytvoření databáze SQL Serveru: Management Studio a Transact-SQL

Existují dva způsoby, jak vytvořit databázi v SQL Serveru:

Jak vytvořit databázi v SQL Server Management Studio

Zde je podrobný postup vytvoření databáze v SQL Server Management Studio:

Krok 1) V okně „Průzkumník objektů“ klikněte pravým tlačítkem myši na „Databáze“ a poté vyberte „Nová databáze“.

Níže je zobrazena nabídka s možností Nová databáze, která se zobrazí po kliknutí pravým tlačítkem myši.

Nabídka po kliknutí pravým tlačítkem myši na uzel Databáze v Průzkumníku objektů s vybranou možností Nová databáze

Krok 2) Zobrazí se obrazovka „Nová databáze“. Zadejte „Název databáze“. Sloupec „Logický název“ se automaticky vyplní:

  • Edu – Typ souboru: Řádky dat a Skupina souborů: PRIMÁRNÍ
  • Edu_log – Typ souboru: LOG a Skupina souborů: „Nelze použít“

Níže je zobrazen dialogové okno Nová databáze s názvem databáze a jejími logickými soubory.

Dialogové okno Nová databáze zobrazující název databáze Edu a logické soubory Edu a Edu_log

Zde:

  • A) Edu (typ souboru: Řádky dat, skupina souborů: PRIMARY) je datový soubor .mdf.
  • B) Edu_log (typ souboru: LOG, skupina souborů: 'Nelze použít') je soubor protokolu .ldf.

Krok 3) (Volitelné) Pro složitější nastavení můžete přejít na stránky „Možnosti“ a „Skupiny souborů“. Na úrovni začátečníků postačí vytvoření databáze z karty Obecné.

Stránky Možnosti a Skupiny souborů jsou zobrazeny níže.

Nové stránky Možnosti databáze a Skupiny souborů pro pokročilá nastavení

Krok 4) Klikněte na tlačítko „Přidat“ (tlačítko OK) pro vytvoření databáze.

Tlačítko, které potvrzuje vytvoření, je zvýrazněno níže.

Tlačítko OK v dialogovém okně Nová databáze, které vytvoří databázi Edu

Výsledek: Databáze „Edu“ je vytvořena. Databázi „Edu“ můžete rozšířit, takže bude obsahovat tabulky, pohledy atd. Tyto položky jsou zpočátku prázdné, dokud nevytvoříte nové tabulky, pohledy atd.

Průzkumník objektů zobrazující nově vytvořenou databázi Edu s prázdnými složkami

Zobrazit zdrojový dotaz: Zdrojový dotaz nově vytvořené databáze „Edu“ si můžete prohlédnout. Postupujte takto: Klikněte pravým tlačítkem myši na název databáze > Skriptovat databázi jako > VYTVOŘIT Do > Nové okno editoru dotazů.

Skript databáze jako kontextová nabídka VYTVOŘIT do nového okna editoru dotazů

Okno dotazu: Vygenerovaný skript CREATE se otevře v novém okně dotazu, jak je znázorněno níže.

Okno editoru dotazů zobrazující automaticky generovaný skript CREATE DATABASE pro Edu

Vytvořit 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 )

Vytvořte databázi pomocí T-SQL

Další metodou je napsat T-SQL dotaz pro vytvoření databáze a poté jej spustit. Podívejme se na nejjednodušší T-SQL dotaz pro vytvoření databáze.

Syntaxe:

CREATE DATABASE <Database_name>

Dotaz:

CREATE DATABASE [Edu_TSQL_file]

Kliknutím na tlačítko „Spustit“ spusťte dotaz, jak je znázorněno níže.

Tlačítko Spustit v panelu nástrojů SSMS používané ke spuštění dotazu CREATE DATABASE

Výsledek: Vytvořený soubor Edu_TSQL_file si můžete prohlédnout v Průzkumníku objektů SQL.

Průzkumník objektů vypisující databázi Edu_TSQL_file vytvořenou pomocí Transact-SQL

Nyní se podívejme na to, jak vytvořit databázi s explicitními soubory .mdf a .ldf. Zde můžete zadat umístění souboru jako explicitní součást dotazu.

Syntaxe:

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

Dotaz:

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 )

Databáze vytvořená s explicitními daty a soubory protokolu se zobrazí v Průzkumníku objektů, jak je znázorněno níže.

Průzkumník objektů zobrazující databázi Edu_TSQL_file vytvořenou s explicitními soubory .mdf a .ldf

Jak změnit databázi

Stejně jako u dotazu CREATE DATABASE můžete také změnit databázi. Můžete databázi přejmenovat, změnit umístění souboru nebo nastavení a další.

Základní pravidla pro úpravu databáze:

  • Příkaz ALTER DATABASE musí být spuštěn v režimu automatického potvrzení (auto-commit).
  • ALTER DATABASE není povolena v explicitní nebo implicitní transakci.

Existují dva způsoby, jak změnit databázi v SQL Serveru:

  • SQL Server Management Studio
  • Transakce SQL

Jak změnit databázi v SQL Server Management Studio

Níže jsou uvedeny kroky pro změnu databáze v SQL Server Management Studio. Zkusme změnit název naší předem vytvořené databáze „Edu“. Předem vytvořená databáze Edu je zobrazena níže v Průzkumníku objektů.

Předvytvořená databáze Edu vybraná v seznamu databází Průzkumníka objektů

Krok 1) Přejmenujte databázi. Klikněte pravým tlačítkem myši na název databáze a klikněte na „Přejmenovat“.

Kontextová nabídka s možností Přejmenovat v databázi Edu po kliknutí pravým tlačítkem myši

Krok 2) Název databáze bude možné upravovat. Zadejte nový název a stiskněte klávesu Enter.

Upravitelné pole názvu databáze Edu připravené pro nový název

Výsledek: Databáze je nyní přejmenována z „Edu“ na „Edu_Alter“.

Průzkumník objektů zobrazující databázi přejmenovanou z Edu na Edu_Alter

Změňte databázi pomocí Transact-SQL

Nyní si upravme databázi pomocí T-SQL.

Syntaxe:

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

Dotaz:

ALTER DATABASE Edu_TSQL
MODIFY NAME = Edu_TSQL_Alter;

Spusťte výše uvedený dotaz kliknutím na 'Execute'.

Výsledek: Databáze je nyní přejmenována z „Edu_TSQL“ na „Edu_TSQL_Alter“, jak je znázorněno níže.

Průzkumník objektů zobrazující databázi přejmenovanou na Edu_TSQL_Alter po příkazu ALTER DATABASE

Obecná syntaxe: Úplná syntaxe příkazu ALTER DATABASE podporuje mnoho možností, včetně přejmenování, řazení, možností souborů a úrovně kompatibility.

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 }   
} ;

Poznámka: Výše uvedené úrovně kompatibility odrážejí starší verze. Aktuální verze přidávají 150 (SQL Server 2019), 160 (SQL Server 2022) a 170 (SQL Server 2025) a zároveň stále podporují několik starších úrovní.

Změna názvu souboru .mdf/.ldf

Dotaz:

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

Přejmenovaný logický soubor se projeví ve vlastnostech databáze, jak je znázorněno níže.

Vlastnosti databáze potvrzující přejmenovaný logický soubor Edu_TSQL_newName

Změna umístění souboru .mdf/.ldf

Dotaz:

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' );

Aktualizovaná cesta k souboru databáze je uvedena níže.

Stránka souboru databáze zobrazující nové umístění souboru protokolu .ldf

Smazat databázi

Existují 2 způsoby, jak odstranit (zrušit) databázi v SQL Serveru:

  • SQL Server Management Studio
  • Transakce SQL

Jak zrušit databázi v SQL Server Management Studio

Následuje postup pro odstranění databáze v SQL Server Management Studio. Zkusme smazat naši předem vytvořenou databázi 'Edu_Alter'.

Krok 1) Klikněte pravým tlačítkem myši na databázi, klikněte na „Odstranit“ a poté klikněte na „OK“.

Dialogové okno pro odstranění objektu pro přetaženíping databáze Edu_Alter v SSMS

Výsledek: Objekt „Edu_Alter“ byl odstraněn ze seznamu databáze „Průzkumník objektů“.

Seznam databáze Průzkumníka objektů po odstranění databáze Edu_Alter

Odstraňte databázi pomocí Transact-SQL

Zkusme smazat naši předem vytvořenou databázi 'Edu_TSQL_Alter'.

Syntaxe:

DROP DATABASE <Databse_name>

Dotaz:

USE master;  
GO  
DROP DATABASE Edu_TSQL_Alter;  
GO

Spusťte výše uvedený dotaz kliknutím na 'Execute'.

Výsledek: 'Edu_TSQL_Alter' je odstraněn ze seznamu databáze 'Object Explorer', jak je znázorněno níže.

Seznam databáze Průzkumníka objektů po odstranění databáze Edu_TSQL_Alter pomocí T-SQL

Obnovení databáze v SQL Server

Databázi můžete vytvořit obnovením databáze, kterou jste dříve zálohovali. To lze provést spuštěním příkazu RESTORE DATABASE, který má následující syntaxi:

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

Dotaz by měl být proveden v okně dotazu, stejně jako předchozí příkazy. Například:

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

Můžete také použít navigaci v grafickém rozhraní: Klikněte pravým tlačítkem myši na Databáze > Obnovit databázi > Zařízení > importovat záložní soubor > klikněte na OK.

Nejčastější dotazy

Vytvoření databáze vyžaduje oprávnění CREATE DATABASE, CREATE LIBOVOLNÁ DATABASE nebo ALTER LIBOVOLNÁ DATABASE v hlavní databázi. Člen serverové role s rolí sysadmin nebo dbcreator nebo příslušně udělená oprávnění. přihlásit se, může spustit příkaz.

Jedna instance SQL Serveru může pojmout až 32 767 databází. Toto číslo je striktní architektonický limit; v praxi se kvůli paměťovým, úložným a administrativním režijním nákladům pro dobrý výkon doporučují mnohem menší čísla.

Ne. Systémové databáze, jako například master, model, msdb, tempdb a resource, jsou vyžadovány enginem a nelze je odstranit. Pomocí příkazu DROP DATABASE nebo možnosti Odstranit lze odstranit pouze uživatelské databáze, které vytvoříte.

Parametr SIZE nastavuje počáteční velikost souboru, MAXSIZE nastavuje největší velikost, na kterou může soubor narůst, a FILEGROWTH nastavuje, kolik místa se přidá při každém zvětšení souboru. Platí pro datové i protokolové soubory.

COMPATIBILITY_LEVEL určuje, jaké chování při zpracování dotazů databáze používá. Aktuální hodnoty zahrnují 140 (SQL Server 2017), 150 (2019), 160 (2022) a 170 (2025). ALTER DATABASE SET COMPATIBILITY_LEVEL ji změní bez přesunutí databáze na nový server.

Příkaz DROP DATABASE trvale odstraní databázi a její soubory .mdf a .ldf. Odpojení databázeLINE zastaví přístup pouze při zachování souborů na disku, takže jej můžete později znovu spustit bez nutnosti obnovení.

Ano. GitHub Copilot Můžete vytvářet příkazy CREATE DATABASE, ALTER DATABASE a DROP DATABASE z výzev v přirozeném jazyce v SSMS nebo v editoru. Před spuštěním na reálném serveru vždy zkontrolujte cesty k vygenerovaným souborům, jejich velikosti a možnosti.

Umělá inteligence a strojové učení pomáhají s poskytováním služeb tím, že doporučují velikosti souborů a nastavení růstu, předpovídají kapacitu, zjišťují posuny konfigurace a označují rizikové operace DROP nebo ALTER. Podporují správce databáze, nikoli nahrazují pečlivou kontrolu.

Shrňte tento příspěvek takto: