SQL Server Database: Create, Alter, Drop & Restore
โก ฮฮพฯ ฯฮฝฮท ฮฃฯฮฝฮฟฯฮท
SQL Server databases are containers that hold tables, views, stored procedures, and other objects. Creating, altering, dropping, and restoring a database can be done through SQL Server Management Studio or with Transact-SQL statements.

ฮคฮน ฮตฮฏฮฝฮฑฮน ฮท ฮฒฮฌฯฮท ฮดฮตฮดฮฟฮผฮญฮฝฯฮฝ;
A database is a collection of objects such as ฯฮฏฮฝฮฑฮบฮตฯ, views, stored procedures, triggers, and functions. In ฮ SQL Server, a database is the organized home where all of these related objects are stored and interlinked.
Consider a few examples from real life:
- A bookcase is where books reside.
- A home is where we live.
- A parking lot is where vehicles are parked, and such examples are countless.
Similarly, a database is a kind of home for all of our tables, views, and stored procedures. Technically, a database stores data in a well-organized manner for easy access and retrieval. In SQL Server, there are two types of databases:
- System databases: These are created automatically when you install SQL Server. They play a crucial role in the server, especially in ensuring that database objects run correctly. Examples of SQL Server system databases include master, msdb, model, tempdb, and resource.
- User databases: These are created by database users like you, who have been granted access to create databases.
ฮฮฑฮฝฯฮฝฮตฯ ฮณฮนฮฑ ฯฮท ฮดฮทฮผฮนฮฟฯ ฯฮณฮฏฮฑ ฮฒฮฌฯฮทฯ ฮดฮตฮดฮฟฮผฮญฮฝฯฮฝ
First, you need to know the basic rules for creating a new database:
- ฮคฮฑ ฮฟฮฝฯฮผฮฑฯฮฑ ฮฒฮฌฯฮตฯฮฝ ฮดฮตฮดฮฟฮผฮญฮฝฯฮฝ ฯฯฮญฯฮตฮน ฮฝฮฑ ฮตฮฏฮฝฮฑฮน ฮผฮฟฮฝฮฑฮดฮนฮบฮฌ ฯฮต ฮผฮนฮฑ ฯฮฑฯฮฟฯ ฯฮฏฮฑ ฯฮฟฯ SQL Server.
- ฮคฮฑ ฮฟฮฝฯฮผฮฑฯฮฑ ฮฒฮฌฯฮตฯฮฝ ฮดฮตฮดฮฟฮผฮญฮฝฯฮฝ ฮผฯฮฟฯฮฟฯฮฝ ฮฝฮฑ ฮตฮฏฮฝฮฑฮน ฯฮฟ ฯฮฟฮปฯ 128 ฯฮฑฯฮฑฮบฯฮฎฯฮตฯ.
- The CREATE DATABASE statement must run in auto-commit mode.
The image below outlines the two available approaches for creating a database in SQL Server.
There are 2 ways to create a database in SQL Server:
- ฮฃฯฮฟฯฮฝฯฮนฮฟ ฮดฮนฮฑฯฮตฮฏฯฮนฯฮทฯ ฮดฮนฮฑฮบฮฟฮผฮนฯฯฮฎ SQL
- ฮฃฯ ฮฝฮฑฮปฮปฮฑฮณฮฎ SQL
ฮ ฯฯ ฮฝฮฑ ฮดฮทฮผฮนฮฟฯ ฯฮณฮฎฯฮตฯฮต ฮฒฮฌฯฮท ฮดฮตฮดฮฟฮผฮญฮฝฯฮฝ ฯฯฮฟ SQL Server Management Studio
Here is a step-by-step process to create a database in SQL Server Management Studio:
ฮฮฎฮผฮฑ 1) Right-click on โDatabaseโ in the โObject Explorerโ window and then select โNew Database.โ
The right-click menu with the New Database option is shown below.
ฮฮฎฮผฮฑ 2) The โNew Databaseโ screen appears. Enter a โDatabase nameโ. The โLogical Nameโ column is auto-populated with:
- Edu โ Filetype: Rows Data and Filegroup: PRIMARY
- Edu_log โ Filetype: LOG and Filegroup: โNot Applicableโ
The New Database dialog with the database name and its logical files is shown below.
ฮฮดฯ:
- A) Edu (Filetype: Rows Data, Filegroup: PRIMARY) is the .mdf data file.
- B) Edu_log (Filetype: LOG, Filegroup: โNot Applicableโ) is the .ldf log file.
ฮฮฎฮผฮฑ 3) (Optional) For more complex settings, you can navigate to the โOptionsโ and โFilegroupsโ pages. At beginner level, creating the database from the General tab will suffice.
The Options and Filegroups pages are shown below.
ฮฮฎฮผฮฑ 4) Click on โAddโ (the OK button) to create the database.
The button that confirms creation is highlighted below.
ฮฯฮฟฯฮญฮปฮตฯฮผฮฑ: The โEduโ database is created. You can expand the database โEduโ, which will contain Tables, Views, and so on. These are initially blank until you create new tables, views, etc.
ฮฮตฮฏฯฮต ฯฮฟ ฮตฯฯฯฮทฮผฮฑ ฯฮทฮณฮฎฯ: You can view the source query of the newly created โEduโ database. Navigate as follows: Right-click on the database name > Script Database as > CREATE To > New Query Editor Window.
ฮ ฮฑฯฮฌฮธฯ ฯฮฟ ฮตฯฯฯฮฎฮผฮฑฯฮฟฯ: The generated CREATE script opens in a new query window, as shown below.
ฮฮทฮผฮนฮฟฯ ฯฮณฮฏฮฑ ฯฮตฮฝฮฑฯฮฏฮฟฯ :
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 )
ฮฮทฮผฮนฮฟฯ ฯฮณฮฏฮฑ ฮฒฮฌฯฮทฯ ฮดฮตฮดฮฟฮผฮญฮฝฯฮฝ ฮผฮต T-SQL
Another method is to write a T-SQL query to create a database and then execute it. Let us look at the simplest database-creation T-SQL query.
ฮฃฯฮฝฯฮฑฮพฮท:
CREATE DATABASE <Database_name>
ฮฯฯฯฮทฯฮท:
CREATE DATABASE [Edu_TSQL_file]
Click on โExecuteโ to run the query, as shown below.
ฮฯฮฟฯฮญฮปฮตฯฮผฮฑ: You can see Edu_TSQL_file created in the SQL Object Explorer.
Now let us look at how to create a database with explicit .mdf and .ldf files. Here, you can give the file location as an explicit part of the query.
ฮฃฯฮฝฯฮฑฮพฮท:
CREATE DATABASE database_name [ CONTAINMENT = { NONE | PARTIAL } ] [ ON [ PRIMARY ] <filespec> [ ,...n ] [ , <filegroup> [ ,...n ] ] [ LOG ON <filespec> [ ,...n ] ] ];
ฮฯฯฯฮทฯฮท:
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 )
The database created with its explicit data and log files appears in Object Explorer, as shown below.
ฮ ฯฯ ฮฝฮฑ ฮฑฮปฮปฮฌฮพฮตฯฮต ฯฮท ฮฒฮฌฯฮท ฮดฮตฮดฮฟฮผฮญฮฝฯฮฝ
Like the CREATE DATABASE query, you can also alter a database. You can rename the database, change a file location or setting, and more.
Basic rules for altering a database:
- The ALTER DATABASE statement must run in auto-commit mode.
- ฮ ALTER DATABASE ฮดฮตฮฝ ฮตฯฮนฯฯฮญฯฮตฯฮฑฮน ฯฮต ฯฮทฯฮฎ ฮฎ ฯฮนฯฯฮทฯฮฎ ฯฯ ฮฝฮฑฮปฮปฮฑฮณฮฎ.
There are 2 ways to alter a database in SQL Server:
- ฮฃฯฮฟฯฮฝฯฮนฮฟ ฮดฮนฮฑฯฮตฮฏฯฮนฯฮทฯ ฮดฮนฮฑฮบฮฟฮผฮนฯฯฮฎ SQL
- ฮฃฯ ฮฝฮฑฮปฮปฮฑฮณฮฎ SQL
ฮ ฯฯ ฮฝฮฑ ฮฑฮปฮปฮฌฮพฮตฯฮต ฯฮท ฮฒฮฌฯฮท ฮดฮตฮดฮฟฮผฮญฮฝฯฮฝ ฯฯฮฟ SQL Server Management Studio
Below are the steps to alter a database in SQL Server Management Studio. Let us try to alter the name of our pre-created database โEduโ. The pre-created Edu database is shown below in Object Explorer.
ฮฮฎฮผฮฑ 1) Rename the database. Right-click on the database name and click on โRenameโ.
ฮฮฎฮผฮฑ 2) The database name becomes editable. Enter the new name and press Enter.
ฮฯฮฟฯฮญฮปฮตฯฮผฮฑ: The database is now renamed as โEdu_Alterโ from โEduโ.
ฮฮปฮปฮฑฮณฮฎ ฮฒฮฌฯฮทฯ ฮดฮตฮดฮฟฮผฮญฮฝฯฮฝ ฮผฮต Transact-SQL
Now let us alter a database using T-SQL.
ฮฃฯฮฝฯฮฑฮพฮท:
ALTER DATABASE <Databse_name> MODIFY NAME = <New Name>
ฮฯฯฯฮทฯฮท:
ALTER DATABASE Edu_TSQL MODIFY NAME = Edu_TSQL_Alter;
ฮฮบฯฮตฮปฮญฯฯฮต ฯฮฟ ฯฮฑฯฮฑฯฮฌฮฝฯ ฮตฯฯฯฮทฮผฮฑ ฮบฮฌฮฝฮฟฮฝฯฮฑฯ ฮบฮปฮนฮบ ฯฯฮฟ 'ฮฮบฯฮญฮปฮตฯฮท'.
ฮฯฮฟฯฮญฮปฮตฯฮผฮฑ: The database is now renamed as โEdu_TSQL_Alterโ from โEdu_TSQLโ, as shown below.
ฮฮตฮฝฮนฮบฮฎ ฮฃฯฮฝฯฮฑฮพฮท: The full ALTER DATABASE syntax supports many options, including renaming, collation, file options, and the compatibility level.
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 } } ;
ฮฃฮทฮผฮตฮฏฯฯฮท: The compatibility levels shown above reflect older releases. Current versions add 150 (SQL Server 2019), 160 (SQL Server 2022), and 170 (SQL Server 2025), while still supporting several earlier levels.
Changing the .mdf/.ldf file name
ฮฯฯฯฮทฯฮท:
Alter DATABASE Edu_TSQL_Alter; MODIFY FILE ( NAME = Edu_TSQL, NEWNAME = Edu_TSQL_newName );
The renamed logical file is reflected in the database properties, as shown below.
Changing the .mdf/.ldf file location
ฮฯฯฯฮทฯฮท:
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' );
The updated file path for the database is shown below.
ฮฮนฮฑฮณฯฮฑฯฮฎ ฮฒฮฌฯฮทฯ ฮดฮตฮดฮฟฮผฮญฮฝฯฮฝ
There are 2 ways to delete (drop) a database in SQL Server:
- ฮฃฯฮฟฯฮฝฯฮนฮฟ ฮดฮนฮฑฯฮตฮฏฯฮนฯฮทฯ ฮดฮนฮฑฮบฮฟฮผฮนฯฯฮฎ SQL
- ฮฃฯ ฮฝฮฑฮปฮปฮฑฮณฮฎ SQL
ฮ ฯฯ ฮฝฮฑ ฮฑฯฮฟฯฯฮฏฯฮตฯฮต ฯฮท ฮฒฮฌฯฮท ฮดฮตฮดฮฟฮผฮญฮฝฯฮฝ ฯฯฮฟ SQL Server Management Studio
Following is the process to drop a database in SQL Server Management Studio. Let us try to delete our pre-created database โEdu_Alterโ.
ฮฮฎฮผฮฑ 1) Right-click on the database, click on โDeleteโ, and then click โOKโ.
ฮฯฮฟฯฮญฮปฮตฯฮผฮฑ: โEdu_Alterโ is deleted from the โObject Explorerโ database list.
ฮฮนฮฑฮณฯฮฑฯฮฎ ฮฒฮฌฯฮทฯ ฮดฮตฮดฮฟฮผฮญฮฝฯฮฝ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฯฮฝฯฮฑฯ Transact-SQL
Let us try to delete our pre-created database โEdu_TSQL_Alterโ.
ฮฃฯฮฝฯฮฑฮพฮท:
DROP DATABASE <Databse_name>
ฮฯฯฯฮทฯฮท:
USE master; GO DROP DATABASE Edu_TSQL_Alter; GO
ฮฮบฯฮตฮปฮญฯฯฮต ฯฮฟ ฯฮฑฯฮฑฯฮฌฮฝฯ ฮตฯฯฯฮทฮผฮฑ ฮบฮฌฮฝฮฟฮฝฯฮฑฯ ฮบฮปฮนฮบ ฯฯฮฟ 'ฮฮบฯฮญฮปฮตฯฮท'.
ฮฯฮฟฯฮญฮปฮตฯฮผฮฑ: โEdu_TSQL_Alterโ is deleted from the โObject Explorerโ database list, as shown below.
ฮฯฮฑฮฝฮฑฯฮฟฯฮฌ ฮฒฮฌฯฮทฯ ฮดฮตฮดฮฟฮผฮญฮฝฯฮฝ ฯฯฮฟฮฝ SQL Server
You can create a database by restoring a database that you had backed up earlier. It can be done by running the RESTORE DATABASE command, which takes the following syntax:
restore Database <database name> from disk = '<Backup file location + filename>
The query should be executed within the query window, just like the previous commands. For example:
restore database Edu from disk = 'C:\Backup\Edu_full_backup.bak'
You can also use the GUI navigation: Right-click on Database > Restore Database > Device > import the backup file > click OK.





















