SQL Server 数据库:创建、修改、删除和还原
⚡ 智能摘要
SQL Server 数据库是用于保存表、视图、存储过程和其他对象的容器。创建、修改、删除操作均可执行。ping恢复数据库可以通过 SQL Server Management Studio 或 Transact-SQL 语句完成。

什么是数据库?
数据库是诸如以下对象的集合: 表视图、存储过程、触发器和函数。 SQL服务器数据库是存储和链接所有这些相关对象的有序场所。
请看以下几个现实生活中的例子:
- 书架是用来放置书籍的。
- 家是我们居住的地方。
- 停车场是停放车辆的地方,这样的例子不胜枚举。
类似地,数据库就像是所有表、视图和存储过程的“家”。从技术上讲,数据库以井然有序的方式存储数据,以便于访问和检索。在 SQL Server 中,有两种类型的数据库:
- 系统数据库: 这些数据库在安装 SQL Server 时会自动创建。它们在服务器中扮演着至关重要的角色,尤其是在确保数据库对象正确运行方面。SQL Server 系统数据库的示例包括 master、msdb、model、tempdb 和 resource。
- 用户数据库: 这些数据库是由像您这样的数据库用户创建的,这些用户已被授予创建数据库的权限。
创建数据库的规则
首先,您需要了解创建新数据库的基本规则:
- 数据库名称在 SQL Server 实例内必须是唯一的。
- 数据库名称最多可包含 128 个字符。
- CREATE DATABASE 语句必须以自动提交模式运行。
下图概述了在 SQL Server 中创建数据库的两种可用方法。
在 SQL Server 中创建数据库有两种方法:
- SQL Server Management Studio中
- 事务处理SQL
如何在 SQL Server Management Studio 中创建数据库
以下是使用 SQL Server Management Studio 创建数据库的详细步骤:
步骤1) 在“对象资源管理器”窗口中右键单击“数据库”,然后选择“新建数据库”。
下面显示的是带有“新建数据库”选项的右键菜单。
步骤2) 此时将显示“新建数据库”屏幕。输入“数据库名称”。“逻辑名称”列将自动填充以下内容:
- 教育 – 文件类型:行数据和文件组:主文件
- Edu_log – 文件类型:LOG,文件组:'不适用'
下面显示的是“新建数据库”对话框,其中包含数据库名称及其逻辑文件。
这里:
- A) Edu(文件类型:行数据,文件组:PRIMARY)是 .mdf 数据文件。
- B) Edu_log(文件类型:LOG,文件组:'不适用')是 .ldf 日志文件。
步骤3) (可选)如需更复杂的设置,您可以导航至“选项”和“文件组”页面。对于初学者而言,从“常规”选项卡创建数据库就足够了。
下面显示的是“选项”和“文件组”页面。
步骤4) 点击“添加”(确定按钮)创建数据库。
下方高亮显示的是确认创建的按钮。
结果: “Edu”数据库已创建。您可以扩展“Edu”数据库,其中包含表、视图等。在您创建新表、视图等之前,这些内容最初都是空白的。
查看源查询: 您可以查看新创建的“Edu”数据库的源查询。操作步骤如下:右键单击数据库名称 > 脚本数据库为 > 创建到 > 新建查询编辑器窗口。
查询窗口: 生成的 CREATE 脚本将在一个新的查询窗口中打开,如下所示。
创建脚本:
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 创建数据库
另一种方法是编写 T-SQL 查询来创建数据库,然后执行它。让我们来看一个最简单的数据库创建 T-SQL 查询。
语法:
CREATE DATABASE <Database_name>
查询:
CREATE DATABASE [Edu_TSQL_file]
点击“执行”按钮运行查询,如下所示。
结果: 您可以在 SQL 对象资源管理器中看到创建的 Edu_TSQL_file 文件。
现在我们来看看如何创建包含明确指定的 .mdf 和 .ldf 文件的数据库。在这里,您可以将文件位置作为查询语句的显式部分指定。
语法:
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 )
如下所示,使用其显式数据和日志文件创建的数据库将显示在对象资源管理器中。
如何修改数据库
与 CREATE DATABASE 查询类似,您也可以修改数据库。您可以重命名数据库、更改文件位置或设置等等。
修改数据库的基本规则:
- ALTER DATABASE 语句必须以自动提交模式运行。
- 在显式或隐式事务中不允许执行 ALTER DATABASE。
在 SQL Server 中,有两种方法可以修改数据库:
- SQL Server Management Studio中
- 事务处理SQL
如何在 SQL Server Management Studio 中更改数据库
以下是在 SQL Server Management Studio 中修改数据库的步骤。我们来尝试修改预先创建的数据库“Edu”的名称。预先创建的 Edu 数据库如下图所示(位于对象资源管理器中)。
步骤1) 重命名数据库。右键单击数据库名称,然后单击“重命名”。
步骤2) 数据库名称将变为可编辑状态。输入新名称并按回车键。
结果: 数据库名称已从“Edu”更改为“Edu_Alter”。
使用 Transact-SQL 更改数据库
现在让我们使用 T-SQL 修改数据库。
语法:
ALTER DATABASE <Databse_name> MODIFY NAME = <New Name>
查询:
ALTER DATABASE Edu_TSQL MODIFY NAME = Edu_TSQL_Alter;
单击“执行”运行上述查询。
结果: 数据库名称已从“Edu_TSQL”更改为“Edu_TSQL_Alter”,如下所示。
一般语法: 完整的 ALTER DATABASE 语法支持许多选项,包括重命名、排序规则、文件选项和兼容级别。
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 } } ;
注意: 以上显示的兼容级别反映的是较早的版本。当前版本新增了 150(SQL Server 2019)、160(SQL Server 2022)和 170(SQL Server 2025)版本,同时仍然支持之前的几个版本。
更改 .mdf/.ldf 文件名
查询:
Alter DATABASE Edu_TSQL_Alter; MODIFY FILE ( NAME = Edu_TSQL, NEWNAME = Edu_TSQL_newName );
重命名后的逻辑文件会反映在数据库属性中,如下所示。
更改 .mdf/.ldf 文件位置
查询:
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' );
数据库的更新文件路径如下所示。
删除数据库
在 SQL Server 中删除(drop)数据库有两种方法:
- SQL Server Management Studio中
- 事务处理SQL
如何在 SQL Server Management Studio 中删除数据库
以下是在 SQL Server Management Studio 中删除数据库的步骤。让我们尝试删除预先创建的数据库“Edu_Alter”。
步骤1) 右键单击数据库,单击“删除”,然后单击“确定”。
结果: “Edu_Alter”已从“对象资源管理器”数据库列表中删除。
使用 Transact-SQL 删除数据库
让我们尝试删除预先创建的数据库“Edu_TSQL_Alter”。
语法:
DROP DATABASE <Databse_name>
查询:
USE master; GO DROP DATABASE Edu_TSQL_Alter; GO
单击“执行”运行上述查询。
结果: 如下所示,“Edu_TSQL_Alter”已从“对象资源管理器”数据库列表中删除。
在 SQL Server 中恢复数据库
您可以通过还原之前备份的数据库来创建数据库。这可以通过运行 RESTORE DATABASE 命令来完成,该命令的语法如下:
restore Database <database name> from disk = '<Backup file location + filename>
查询语句应在查询窗口中执行,就像之前的命令一样。例如:
restore database Edu from disk = 'C:\Backup\Edu_full_backup.bak'
您也可以使用 GUI 导航:右键单击数据库 > 恢复数据库 > 设备 > 导入备份文件 > 单击确定。





















