SQL Server 建好的数据库存在哪里

SQL Server 是一种关系型数据库管理系统,用于存储和管理结构化数据。当我们在 SQL Server 中创建数据库后,数据库的实际存储位置是由 SQL Server 决定的。在本文中,我们将介绍 SQL Server 中数据库存储的相关知识,并提供代码示例来说明这一过程。

数据库存储位置

SQL Server 中的数据库存储位置由两个主要因素决定:数据文件 (.mdf) 和日志文件 (.ldf)。数据文件用于存储数据库的实际数据,而日志文件用于记录对数据库的更改。

数据文件 (.mdf)

数据文件是数据库的主要组成部分,用于存储表、索引、视图、存储过程等数据库对象的数据。每个数据库通常都有一个主数据文件 (.mdf) 和零个或多个辅助数据文件。

以下是一个创建数据库的示例,其中指定了数据文件的名称和路径:

CREATE DATABASE MyDatabase
ON PRIMARY
(
    NAME = 'MyDatabase',
    FILENAME = 'C:\MyDatabase.mdf',
    SIZE = 10MB,
    MAXSIZE = UNLIMITED,
    FILEGROWTH = 5MB
)

在上面的代码中,FILENAME 参数指定了数据文件的路径和名称。此处的路径可以是本地文件系统的路径,也可以是网络共享的路径。

日志文件 (.ldf)

日志文件用于记录对数据库的更改,以便在发生故障时可以进行恢复。每个数据库通常都有一个事务日志文件 (.ldf)。

以下是一个创建数据库时指定日志文件的示例:

CREATE DATABASE MyDatabase
ON PRIMARY
(
    NAME = 'MyDatabase',
    FILENAME = 'C:\MyDatabase.mdf',
    SIZE = 10MB,
    MAXSIZE = UNLIMITED,
    FILEGROWTH = 5MB
)
LOG ON
(
    NAME = 'MyDatabase_log',
    FILENAME = 'C:\MyDatabase.ldf',
    SIZE = 5MB,
    MAXSIZE = 50MB,
    FILEGROWTH = 1MB
)

在上面的代码中,LOG ON 子句指定了日志文件的路径和名称。

数据库位置查询

要确定数据库的实际存储位置,可以使用以下 SQL 查询语句:

SELECT name, physical_name
FROM sys.master_files
WHERE database_id = DB_ID('MyDatabase')

上述查询将返回数据库文件的名称和实际物理路径。

状态图

下面是一个状态图,展示了数据库创建和存储的过程:

stateDiagram
    [*] --> 创建数据库
    创建数据库 --> 创建数据文件
    创建数据文件 --> 创建日志文件
    创建日志文件 --> [*]

状态图显示了创建数据库时的连续步骤,包括创建数据文件和日志文件。

结论

SQL Server 中建好的数据库实际存储在数据文件 (.mdf) 和日志文件 (.ldf) 中。数据文件是存储数据库对象数据的主要文件,而日志文件用于记录对数据库的更改。此外,可以使用 SQL 查询语句来确定数据库文件的实际存储位置。

希望本文对您理解 SQL Server 数据库存储位置有所帮助。