数据库次数据文件名称的命名规则和方法 (数据库次数据文件名称)

数据库是计算机系统中存储数据的最重要的组成部分之一。在数据库中,还存在着一些辅助文件,如数据文件、日志文件和备份文件等。而数据文件是存储数据库中实际数据的文件,也是数据的主要来源。数据库次数据文件编写的规则和方法是确定文件名称的重要方面之一。

命名规则

在命名次数据文件时,我们需要遵循特定的规则。这些规则可以确保文件名称易于阅读和理解,并且适用于不同类型的数据库。以下是一些常见的数据库文件命名规则:

1.简洁明了:文件名称应简洁明了,能够清晰地表达文件的内容。更好能在名称中包含数据容量、数据类型、数据库名称、版本、所在服务器等信息。

2.避免特殊字符:在文件名称中我们应该避免使用任何特殊字符,如&、$、#等,因为这些字符可能会导致某些系统或软件无法读取文件。

3.大小写一致:文件命名时更好使用小写字母,因为大小写不一致可能会导致读取错误。

4.字符长度:文件名称应该尽量保持短小,并适当地使用缩写来让文件名称更加简洁。

5.编号方式:如果数据库中需要有多个数据文件,则可以采用编号方式来区分不同的文件。例如,file1.dat、file2.dat等。

命名方法

在数据文件名称的设计中,我们应该遵循以下方法:

1. 数据类型:在文件名称中要包含数据类型。例如,Oracle数据库中的数据文件名称可以是Data.dbf。

2. 容量:在文件名称中也要包含容量大小。例如,SQL Server数据库中的文件名称可以是Data100GB.ndf。

3. 服务器名/实例名:如果要运行多个实例,则应包含服务器名或实例名。例如,MyDBServer是数据库服务器的名称,那么一个该服务器上的文件名称可以为Northwind.MyDBServer.Data.Mdf。

4. 版本:在文件名称中也应包含数据库版本信息。例如,SQL Server 2023数据库中的数据文件名称可以为Data2023.GM.sql。

5. 标识:可以在文件名称中添加一些符号来标识文件的用途,例如数据文件名称以“.dat”结尾,日志文件名称以“.log”结尾。

数据文件名称命名规则和方法的确定是一个非常重要的工作,因为它是数据库管理的一部分,旨在使文件名称清晰明了,并且让人更容易理解数据库的组成部分。无论是在设计新的数据文件,还是在重命名现有的数据文件时,都需要遵循严格的规则和方法,只有这样才能确保文件名称的有效性,减少对业务流程的影响。通过对数据文件命名规则和方法的学习,我们可以更好地管理数据文件,为数据管理提供更加完整、有效的服务。

相关问题拓展阅读:

sql 2023为指定数据库添加次要数据文件(.ndf)

在SQL帮助文档里有详细的解析:如下

CREATE DATABASE

创建一个新数据库及存储该数据库的文件,或从先前创建的数据库的文件中附加数据库。

说明 有关与 DISK INIT 向后兼容性的更多信息,请参见”Microsoft® SQL Server™ 向后兼容性详细信息”中的设备(级别 3)。

语法

CREATE DATABASE database_name

>

>

>

::=

(

FILENAME = ‘os_file_name’

)

::=

FILEGROUP filegroup_name

参数

database_name

新数据库的名称。数据库名称在服务器中必须唯一,并且符合

标识符

的规则。database_name 最多可以包含 128 个字符,除非没有为日志指定逻辑名。如果没有指定日志文件的逻辑名,则 Microsoft® SQL Server™ 会通过向 database_name 追加后缀来生成逻辑名。该操作要求 database_name 在 123 个字符之内,以便生成的日志文件逻辑名少于 128 个字符。

ON

指定显式定义用来存储数据库数据部分的磁盘文件(数据文件)。该关键字后跟以逗号分隔的 项列表, 项用以定义主文件组的数据文件。主文件组的文件列表后可跟以逗号分隔的 项列表(可选), 项用以定义用户文件组及其文件。

n

占位符

,表示可以为新数据库指定多个文件。

LOG ON

指定显式定义用来存储数据库日志的磁盘文件(日志文件)。该关键字后跟以逗号分隔的 项列表, 项用以定义日志文件。如果没有指定 LOG ON,将自动创建一个日志文件,该文件使用系统生成的名称,大小为数据库中所有数据文件总大小的 25%。

FOR LOAD

支持该子句是为了与早期版本的 Microsoft SQL Server 兼容。数据库在打开 dbo use only 数据库选项的情况下创建,并且将其状态设置为正在装载型弯敬。SQL Server 7.0 版中不需要该子句,因为 RESTORE 语句可以作为还原操闹伏作的一部分重新创建数据库。

FOR ATTACH

指定从现有的一组操作系统文件中附加数据库。必须有指定之一个主文件的 条目。至于其它 条目,只需要与之一次创建数据库或上一次附加数据库时路径不同的文件的那些条目。必须为这些文件指定 条目。附加的数据库必须使用与 SQL Server 相同的代码页和排序次序创建。应使用 sp_attach_db 系统

存储过程卜慎

,而不要直接使用 CREATE DATABASE FOR ATTACH。只有必须指定 16 个以上的 项目时,才需要使用 CREATE DATABASE FOR ATTACH。

如果将数据库附加到的服务器不是该数据库从中分离的服务器,并且启用了分离的数据库以进行复制,则应该运行 sp_removedbreplication 从数据库删除复制。

collation_name

指定数据库的默认排序规则。排序规则名称既可以是 Windows 排序规则名称,也可以是 SQL 排序规则名称。如果没有指定排序规则,则将 SQL Server 实例的默认排序规则指派为数据库的排序规则。

有关 Windows 和 SQL 排序规则名称的更多信息,请参见 COLLATE。

PRIMARY

指定关联的 列表定义主文件。主文件组包含所有

数据库系统

表。还包含所有未指派给用户文件组的对象。主文件组的之一个 条目成为主文件,该文件包含数据库的逻辑起点及其系统表。一个数据库只能有一个主文件。如果没有指定 PRIMARY,那么 CREATE DATABASE 语句中列出的之一个文件将成为主文件。

NAME

为由 定义的文件指定逻辑名称。如果指定了 FOR ATTACH,则不需要指定 NAME 参数。

logical_file_name

用来在创建数据库后执行的 Transact-SQL 语句中引用文件的名称。logical_file_name 在数据库中必须唯一,并且符合标识符的规则。该名称可以是字符或 Unicode

常量

,也可以是常规标识符或定界标识符。

FILENAME

为 定义的文件指定操作系统文件名。

‘os_file_name’

操作系统创建 定义的物理文件时使用的路径名和文件名。os_file_name 中的路径必须指定 SQL Server 实例上的目录。os_file_name 不能指定压缩

文件系统

中的目录。

如果文件在原始分区上创建,则 os_file_name 必须只指定现有原始分区的

驱动器

字母。每个原始分区上只能创建一个文件。原始分区上的文件不会自动增长;因此,os_file_name 指定原始分区时,不需要指定 MAXSIZE 和 FILEGROWTH 参数。

SIZE

指定 中定义的文件的大小。如果主文件的 中没有提供 SIZE 参数,那么 SQL Server 将使用 model 数据库中的主文件大小。如果次要文件或日志文件的 中没有指定 SIZE 参数,则 SQL Server 将使文件大小为 1 MB。

size

中定义的文件的初始大小。可以使用千字节 (KB)、兆字节 (MB)、千兆字节 (GB) 或

兆兆字节

(TB) 后缀。默认值为 MB。指定一个整数,不要包含小数位。size 的最小值为 512 KB。如果没有指定 size,则默认值为 1 MB。为主文件指定的大小至少应与 model 数据库的主文件大小相同。

MAXSIZE

指定 中定义的文件可以增长到的更大大小。

max_size

中定义的文件可以增长到的更大大小。可以使用千字节 (KB)、兆字节 (MB)、千兆字节 (GB) 或兆兆字节 (TB) 后缀。默认值为 MB。指定一个整数,不要包含小数位。如果没有指定 max_size,那么文件将增长到磁盘变满为止。

说明 在磁盘即将变满时,Microsoft Windows NT® S/B

系统日志

会警告 SQL Server 系统管理员。

UNLIMITED

指定 中定义的文件将增长到磁盘变满为止。

FILEGROWTH

指定 中定义的文件的增长增量。文件的 FILEGROWTH 设置不能超过 MAXSIZE 设置。

growth_increment

每次需要新的空间时为文件添加的空间大小。指定一个整数,不要包含小数位。0 值表示不增长。该值可以 MB、KB、GB、TB 或百分比 (%) 为单位指定。如果未在数量后面指定 MB、KB 或 %,则默认值为 MB。如果指定 %,则增量大小为发生增长时文件大小的指定百分比。如果没有指定 FILEGROWTH,则默认值为 10%,最小值为 64 KB。指定的大小舍入为最接近的 64 KB 的倍数。

注释

使用一条 CREATE DATABASE 语句即可创建数据库以及存储该数据库的文件。SQL Server 分两步实现 CREATE DATABASE 语句:

SQL Server 使用 model 数据库的复本初始化数据库及其

元数据

然后,SQL Server 使用空页填充数据库的剩余部分,除了包含记录数据库中空间使用情况以外的内部数据页。

因此,model 数据库中任何用户定义对象均复制到所有新创建的数据库中。可以向 model 数据库中添加任何对象,例如表、视图、存储过程、

数据类型

等,以将这些对象添加到所有数据库中。

每个新数据库都从 model 数据库继承数据库选项设置(除非指定了 FOR ATTACH)。例如,在 model 和任何创建的新数据库中,数据库选项 select into/bulkcopy 都设置为 OFF。如果使用 ALTER DATABASE 更改 model 数据库的选项,则这些选项设置会在创建的新数据库中生效。如果在 CREATE DATABASE 语句中指定了 FOR ATTACH,则新数据库将继承原始数据库的数据库选项设置。

一台服务器上最多可以指定 32,767 个数据库。

有三种类型的文件用来存储数据库:

主文件包含数据库的启动信息。主文件还可以用来存储数据。每个数据库都包含一个主文件。

次要文件保存所有主要数据文件中容纳不下的数据。如果主文件大到足以容纳数据库中的所有数据,就不需要有次要数据文件。而另一些数据库可能非常大,需要多个次要数据文件,也可能使用多个独立磁盘驱动器上的次要文件,以将数据分布在多个磁盘上。

事务日志文件保存用来恢复数据库的日志信息。每个数据库必须至少有一个事务日志文件(尽管可以有多个)。事务日志文件最小为 512 KB。

每个数据库至少有两个文件,一个主文件和一个事务日志文件。

尽管 ‘os_file_name’ 可以是任何有效的操作系统文件名,但如果使用以下建议的扩展名,则可以更加清楚地反映文件的用途。

文件类型 文件扩展名

主要数据文件 .mdf

次要数据文件 .ndf

事务日志文件 .ldf

说明 创建用户数据库后,应备份 master 数据库。

SIZE、MAXSIZE 和 FILEGROWTH 参数中不能指定分数。若要在 SIZE 参数中指定以兆字节为单位的分数,请将该数字乘以 1,024 转换成千字节。例如,指定 1,536 KB 而不要指定 1.5 MB(1.5 乘以 1,024 等于 1,536)。

如果仅指定 CREATE DATABASE database_name 语句而不带其它参数,那么数据库的大小将与 model 数据库的大小相等。

所有数据库都至少包含一个主文件组。所有系统表都分配在主文件组中。数据库还可以包含用户定义的文件组。如果使用指定用户定义文件组的 ON filegroup 子句创建对象,则该对象的所有页均从指定的文件组中分配。所有没有使用 ON filegroup 子句(或者使用 ON DEFAULT 子句)创建的用户对象的页将从默认文件组分配。数据库首次创建时,主文件组就是默认文件组。可以使用 ALTER DATABASE 将用户定义的文件组指定为默认文件组:

ALTER DATABASE database_name MODIFY FILEGROUP filegroup_name DEFAULT

每个数据库都有一个所有者,可在该数据库中执行某些特殊的活动。所有者是创建数据库的用户。可以使用 sp_changedbowner 更改数据库所有者。

若要为 SQL Server 实例显示某个数据库或所有数据库的报表,请执行 sp_helpdb。若要显示有关数据库中所占用空间的报表,请使用 sp_spaceused。若要显示有关数据库中文件组的报表,请使用 sp_helpfilegroup,使用 sp_helpfile 可显示数据库中文件的报表。

早期版本的 SQL Server 使用 DISK INIT 语句在执行 CREATE DATABASE 语句之前为数据库创建文件。为了与早期版本的 SQL Server 向后兼容,CREATE DATABASE 语句也可以在用 DISK INIT 创建的文件或设备上创建新数据库。有关更多信息,请参见 SQL Server 向后兼容性详细信息。

权限

CREATE DATABASE 的权限默认地授予 sysadmin 和 dbcreator 固定服务器角色的成员。sysadmin 和 securityadmin 固定服务器角色的成员可以将 CREATE DATABASE 权限授予其它登录。sysadmin 和 dbcreator 固定服务器角色的成员可以为 dbcreator 角色添加其它登录。CREATE DATABASE 权限必须显式授予,而不能通过 GRANT ALL 语句授予。

CREATE DATABASE 权限通常限于少数登录,以便控制对运行 SQL Server 实例的计算机上磁盘的使用。

示例

A. 创建指定数据文件和事务日志文件的数据库

下面的示例创建名为 Sales 的数据库。因为没有使用关键字 PRIMARY,之一个文件 (Sales_dat) 成为主文件。因为 Sales_dat 文件的 SIZE 参数没有指定 MB 或 KB,因此默认为 MB,以兆字节为单位进行分配。Sales_log 文件以兆字节为单位进行分配,因为 SIZE 参数中显式声明了 MB 后缀。

USE master

GO

CREATE DATABASE Sales

ON

( NAME = Sales_dat,

FILENAME = ‘c:\program files\microsoft sql server\mssql\data\saledat.mdf’,

SIZE = 10,

MAXSIZE = 50,

FILEGROWTH = 5 )

LOG ON

( NAME = ‘Sales_log’,

FILENAME = ‘c:\program files\microsoft sql server\mssql\data\salelog.ldf’,

SIZE = 5MB,

MAXSIZE = 25MB,

FILEGROWTH = 5MB )

GO

B. 指定多个数据文件和事务日志文件创建数据库

下面的示例使用三个 100 MB 的数据文件和两个 100 MB 的事务日志文件创建了名为 Archive 的数据库。主文件是列表中的之一个文件,并使用 PRIMARY 关键字显式指定。事务日志文件在 LOG ON 关键字后指定。注意 FILENAME 选项中所用的文件扩展名:主要数据文件使用 .mdf,次要数据文件使用 .ndf,事务日志文件使用 .ldf。

USE master

GO

CREATE DATABASE Archive

ON

PRIMARY ( NAME = Arch1,

FILENAME = ‘c:\program files\microsoft sql server\mssql\data\archdat1.mdf’,

SIZE = 100MB,

MAXSIZE = 200,

FILEGROWTH = 20),

( NAME = Arch2,

FILENAME = ‘c:\program files\microsoft sql server\mssql\data\archdat2.ndf’,

SIZE = 100MB,

MAXSIZE = 200,

FILEGROWTH = 20),

( NAME = Arch3,

FILENAME = ‘c:\program files\microsoft sql server\mssql\data\archdat3.ndf’,

SIZE = 100MB,

MAXSIZE = 200,

FILEGROWTH = 20)

LOG ON

( NAME = Archlog1,

FILENAME = ‘c:\program files\microsoft sql server\mssql\data\archlog1.ldf’,

SIZE = 100MB,

MAXSIZE = 200,

FILEGROWTH = 20),

( NAME = Archlog2,

FILENAME = ‘c:\program files\microsoft sql server\mssql\data\archlog2.ldf’,

SIZE = 100MB,

MAXSIZE = 200,

FILEGROWTH = 20)

GO

C. 创建简单的数据库

本例创建名为 Products 的数据库,并指定单个文件。指定的文件成为主文件,并会自动创建一个 1 MB 的事务日志文件。因为主文件的 SIZE 参数中没有指定 MB 或 KB,所以主文件将以兆字节为单位进行分配。因为没有为事务日志文件指定 ,所以事务日志文件没有 MAXSIZE,可以增长到填满所有可用的磁盘空间为止。

USE master

GO

CREATE DATABASE Products

ON

( NAME = prods_dat,

FILENAME = ‘c:\program files\microsoft sql server\mssql\data\prods.mdf’,

SIZE = 4,

MAXSIZE = 10,

FILEGROWTH = 1 )

GO

D. 不指定文件创建数据库

下面的示例创建名为 mytest 的数据库,并创建相应的主文件和事务日志文件。因为该语句没有 项,所以主数据库文件的大小为 model 数据库主文件的大小。事务日志文件的大小为 model 数据库事务日志文件的大小。因为没有指定 MAXSIZE,文件可以增长到填满所有可用的磁盘空间为止。

CREATE DATABASE mytest

E. 不指定 SIZE 创建数据库

下面的示例创建名为 products2 的数据库。文件 prods2_dat 将成为主文件,大小等于 model 数据库中主文件的大小。事务日志文件会自动创建,其大小为主文件大小的 25% 或 512 KB 中的较大值。因为没有指定 MAXSIZE,文件可以增长到填满所有可用的磁盘空间为止。

USE master

GO

CREATE DATABASE Products2

ON

( NAME = prods2_dat,

FILENAME = ‘c:\program files\microsoft sql server\mssql\data\prods2.mdf’ )

GO

F. 使用文件组创建数据库

下面的示例使用三个文件组创建名为 sales 的数据库:

主文件组包含文件 Spri1_dat 和 Spri2_dat。指定这些文件的 FILEGROWTH 增量为 15%。

名为 SalesGroup1 的文件组包含文件 SGrp1Fi1 和 SGrp1Fi2。

名为 SalesGroup2 的文件组包含文件 SGrp2Fi1 和 SGrp2Fi2。

CREATE DATABASE Sales

ON PRIMARY

( NAME = SPri1_dat,

FILENAME = ‘c:\program files\microsoft sql server\mssql\data\SPri1dat.mdf’,

SIZE = 10,

MAXSIZE = 50,

FILEGROWTH = 15% ),

( NAME = SPri2_dat,

FILENAME = ‘c:\program files\microsoft sql server\mssql\data\SPri2dt.ndf’,

SIZE = 10,

MAXSIZE = 50,

FILEGROWTH = 15% ),

FILEGROUP SalesGroup1

( NAME = SGrp1Fi1_dat,

FILENAME = ‘c:\program files\microsoft sql server\mssql\data\SG1Fi1dt.ndf’,

SIZE = 10,

MAXSIZE = 50,

FILEGROWTH = 5 ),

( NAME = SGrp1Fi2_dat,

FILENAME = ‘c:\program files\microsoft sql server\mssql\data\SG1Fi2dt.ndf’,

SIZE = 10,

MAXSIZE = 50,

FILEGROWTH = 5 ),

FILEGROUP SalesGroup2

( NAME = SGrp2Fi1_dat,

FILENAME = ‘c:\program files\microsoft sql server\mssql\data\SG2Fi1dt.ndf’,

SIZE = 10,

MAXSIZE = 50,

FILEGROWTH = 5 ),

( NAME = SGrp2Fi2_dat,

FILENAME = ‘c:\program files\microsoft sql server\mssql\data\SG2Fi2dt.ndf’,

SIZE = 10,

MAXSIZE = 50,

FILEGROWTH = 5 )

LOG ON

( NAME = ‘Sales_log’,

FILENAME = ‘c:\program files\microsoft sql server\mssql\data\salelog.ldf’,

SIZE = 5MB,

MAXSIZE = 25MB,

FILEGROWTH = 5MB )

GO

G. 附加数据库

示例 B 创建一个包含下列物理文件的名为 Archive 的数据库:

c:\program files\microsoft sql server\mssql\data\archdat1.mdf

c:\program files\microsoft sql server\mssql\data\archdat2.ndf

c:\program files\microsoft sql server\mssql\data\archdat3.ndf

c:\program files\microsoft sql server\mssql\data\archlog1.ldf

c:\program files\microsoft sql server\mssql\data\archlog2.ldf

可以使用 sp_detach_db 存储过程分离该数据库,然后使用带有 FOR ATTACH 子句的 CREATE DATABASE 重新附加。

sp_detach_db Archive

GO

CREATE DATABASE Archive

ON PRIMARY (FILENAME = ‘c:\program files\microsoft sql server\mssql\data\archdat1.mdf’)

FOR ATTACH

GO

H. 使用原始分区

下面的示例使用原始分区创建名为 Employees 的数据库。执行语句时,原始分区必须存在,并且每个原始分区只能创建一个文件。

USE master

GO

CREATE DATABASE Employees

ON

( NAME = Empl_dat,

FILENAME = ‘f:’,

SIZE = 10,

MAXSIZE = 50,

FILEGROWTH = 5 )

LOG ON

( NAME = ‘Sales_log’,

FILENAME = ‘g:’,

SIZE = 5MB,

MAXSIZE = 25MB,

FILEGROWTH = 5MB )

GO

I. 使用已装入的驱动器

下面的示例使用指向原始分区的已装入驱动器创建名为 Employees 的数据库。此功能只在 Microsoft® Windows® 2023 Server 中才可用。.执行语句时必须已经存在已装入的驱动器和原始分区,并且每个原始分区上只能有一个文件。当在已装入的驱动器上创建数据库文件时,必须用尾随反斜线结束驱动器路径。

USE master

GO

CREATE DATABASE Employees

ON

( NAME = Empl_dat,

FILENAME = ‘d:\sample data dir\’,

SIZE = 10,

MAXSIZE = 50,

FILEGROWTH = 5 )

LOG ON

( NAME = ‘Sales_log’,

FILENAME = ‘d:\sample log dir\’,

SIZE = 5MB,

MAXSIZE = 25MB,

FILEGROWTH = 5MB )

GO

关于数据库次数据文件名称的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 数据库次数据文件名称的命名规则和方法 (数据库次数据文件名称)