如何修改数据库并添加文件组? (修改数据库添加文件组)

数据库是数据存储的重要组成部分,数据库管理员需要经常维护和修改数据库,以适应不同的业务需求。其中,添加文件组是常见的操作,本文将详细介绍如何修改数据库并添加文件组。

一、修改数据库的基本信息

我们需要进入SQL Server Management Studio,通过登录账号进入相应的数据库。在这个页面上,可以看到对数据进行操作的一系列选项。

1. 修改数据库名称

点击数据库名字,选择Rename选项,可以在弹出窗口上修改数据库名称,既能简化管理,又可以让数据库的命名更符合需求。

2. 修改数据库文件夹位置

将数据库的文件存放在服务器的某个指定位置是一种比较常见的安排。可以通过下面的步骤进行操作:

– 右键点击数据库名称,选择Properties选项。

– 在弹出的窗口中选择Files选项卡,在File path中输入新的路径即可。

二、添加文件组

添加文件组是保证数据库运行和维护的关键步骤。在添加文件组之前,需要通过以下几个步骤先了解一下数据库中的文件类型。

1. MDF文件

MDF是主数据库文件,在其中存储了整个数据库的内容,包括表格、数据和索引等。MDF文件在数据库发生重要更改时会发生扩展,并且与之关联的曲面LDF文件也将自动扩展。

2. LDF文件

LDF是日志文件,用于记录数据库中所有的操作,包括添加,修改和删除表格等。LDF文件主要用于数据的备份和回复,以避免数据的丢失和误操作。

3. NDF文件

NDF就是数据库的中间文件,它会自动扩展,存储表格中的数据。当MDF文件无法扩展时,NDF文件会自动被添加进来。

基于我们对数据库文件类型的了解,我们就能够更容易地添加文件组:

1. 在SQL Server Management Studio上右键点击数据库名称,然后选择Properties。

2. 在弹出的窗口上选择Filegroups选项卡。

3. 点击Add Filegroup,可以在弹出的窗口中添加文件组。

4. 输入文件组的名字,选择要添加的文件类型,即MDF、NDF或LDF类型,最后确定。

在添加完成后,可以通过以下一个或多个方法来进一步管理文件组。

1. 调整附加文件的大小或删除它。当某个文件到达更大大小限制时,为了继续添加数据,就应该调整附加文件的大小。

2. 将一个附加文件添加到文件组的任何空余空间中。当增加数据时,数据库会自动向剩余空间中添加数据。

3. 将一个附加文件添加到新的文件组,以增加可以用来存储数据和对象的空间。

在现今数码时代,数据库管理显得更加重要,添加文件组是数据库运行和维护中非常重要的一部分。在本文中,我们探讨了如何修改数据库的基本信息和添加文件组,以提高数据库的性能和数据的安全性。当然,对于具体的业务需求,我们还需要结合实际情况进行相应的调整和修改。

相关问题拓展阅读:

如何使用 sql server 2023 filetables

一、启用FileTable

  1、修改数据库引擎的属性

  打开“SQL Server配置管理器”,修改SQL Server数据库引擎的属性。使用此页可针对此 Microsoft SQL Server 2023安装启用 FILESTREAM。

  (1)针对 Transact-SQL 访问启用 FILESTREAM

  选中此项可针对 Transact-SQL 访问启信祥用 FILESTREAM。 必须选中此控制选项,才能使用其他控制选项。如果不启用此选项,就不能添加FileStream文件组。

  (2)针对文件 I/O 流访问启用 FILESTREAM

  选中此项可针对 FILESTREAM 启用 Win32 流访问。

  (3)Windows 共享名

  使用此控制选项可输入将用来存储 FILESTREAM 数据的 Windows 共享的名称。默认为该SQL Server实例的名称。

  (4)允许远程客户端针对 FILESTREAM 数据启用流访问

  选中此控制选项可允许远程客户端访问此服务器上的此 FILESTREAM 数据。

  

  2、修改服务器的属性

  打开“SQL Server Management Studio”,修改该实例的配置。默认配置如下:

  上述选项解释如下:

  (1)“FILESTREAM 访问级别”显示 SQL Server 实例上支持的 FILESTREAM 的当前级别。若要更改访问级别,请选择以下值之一:

  已禁用

  无法将二进制大型对象 (BLOB) 数据存储在文件系统中。此为默认值。即filestream access level=0

  已启用 Transact-SQL 访问

  可使用 Transact-SQL 访问 FILESTREAM 数据,但不能通过文件系统进行访问。即filestream access level=1

  已启用完全访问

  FILESTREAM 数据可使用 Transact-SQL 以及通过文件系统进行访问。即filestream access level=0

  注意:在首次启用 FILESTREAM 时,您可能需要重新启动计算机才能配置驱动程序。

  (2)“FILESTREAM 共享名称”显示在安装过程中选择的 FILESTREAM 共享的只读名称。

  

  在本次实验中,我们将“FILESTREAM 访问级别” 设定为:已启用完全访问。

  如果是通过T-SQL脚本执行,则运行以下脚本:

  EXEC sys.sp_configure N’filestream access level’, N’2′

  RECONFIGURE WITH OVERRIDE

  

  注意:设置完成之后,重启实例。

  

  3、配置防火墙

  若要在防火墙保护的环境中使用 FILESTREAM,客户端和服务器都必须能够将 DNS 名称解析为包含 FILESTREAM 文件的服务器。FILESTREAM 要求 Windows 文件共享端口 139 和 445 处于打开状态。

  

  二、配置文件组

  1、添加文件组

  完成上述操作之后,就可以为该数据库添加专用于FileStream的文件组。

  如果是通过脚本操作,请运行以下脚本:

  ALTER DATABASE ADD FILEGROUP CONTAINS FILESTREAM

  

  2、添加文件

  完成上述操作之后,就可以为消拆该数据库添加FilStream类型的数据库文件。

  在本例中,系统并没有为“FileStream数据”的文件类型创建mdf或ndf文件,而是在文件夹C:\SqlData下面自动创建以逻辑名称命名的文件夹,即 C:\SqlData\FileData。其中filestream.hdr 文件是 FILESTREAM 容器的头文件。当这个数据库被删除时,mdf、ndf、log连同这个文件夹都会被删除。

  如果是通过脚本操作,请运行以下脚本:

  ALTER DATABASE ADD FILE ( NAME = N’滑桥搏FileData’, FILENAME = N’C:\SqlData\FileData’ ) TO FILEGROUP

  注意:在上例中,在运行脚本之前,必须存在C:\SqlData,建议使用右侧的选择按钮选择路径。如果路径不存在,就会报错:

  同时不能存在重复的文件夹,即不能存在C:\SqlData\FileData。否则也会报错:

  

  3、启动非事务访问

  FileTable 使 Windows 应用程序可以获取 FILESTREAM 数据的 Windows 文件句柄而不需要 SQL Server 事务。为了允许对 SQL Server 中存储的文件进行此非事务性访问,必须为要包含 FileTable 的每个数据库在数据库级别上指定所需的非事务性访问级别。

  选项解释如下:

  (1)FILESTREAM 非事务访问

  为从文件系统到 FileTables 中存储的 FILESTREAM 数据的非事务性访问指定以下选项之一:OFF、READ_ON 或 FULL。

  如果在服务器上未启用 FILESTREAM,则该值将设置为 OFF 并且被禁用。在本次实验中,将其设置为FULL。

  (2)FILESTREAM 目录名称

  为与所选数据库相关联的 FILESTREAM 数据指定目录名称。在 FileTable 文件夹层次结构中,此数据库级目录将成为在实例级别为 FILESTREAM 指定的共享名称的子级以及在数据库中创建的 FileTable 的父级。

  如果启用非事务性访问时没有提供目录名称,则在以后必须提供它,这样才能在数据库中创建 FileTable。

  如果是通过脚本执行,如下:

  ALTER DATABASE db01

  SET FILESTREAM ( NON_TRANSACTED_ACCESS = FULL, DIRECTORY_NAME = N’ImageFiles’ )

  注意:更改现有数据库时,调用带 DIRECTORY_NAME FILESTREAM 选项的 ALTER DATABASE (Transact-SQL) 语句。使用这些选项更改目录名称时,数据库必须以独占方式锁定,没有打开的文件句柄。

  说明:为检查是否在数据库上启用了非事务性访问,可以查询目录视图,脚本如下:

  SELECT DB_NAME(database_id), non_transacted_access, non_transacted_access_desc

  FROM sys.database_filestream_options

  

  三、创建FileTable

  1、创建之一个FileTable

  “SQL Server Management Studio”只提供一个脚本模板,要想创建FileTable还是得用脚本完成:

  USE db01

  CREATE TABLE ImageTable1 AS FILETABLE

  官方的范本为:

  USE

  CREATE TABLE . AS FILETABLE ON FILESTREAM_ON

  WITH

  (FILETABLE_DIRECTORY = N’ImageTable1′, FILETABLE_COLLATE_FILENAME = Chinese_PRC_CI_AS)

  

  2、创建第二个FileTable

  CREATE TABLE ImageTable2 AS FILETABLE

  

  3、获取共享路径

  文件表创建之后,就会相应的产生一个文件表共享目录,该目录路径可以通过内建函数获取:

  SELECT FileTableRootPath(‘ImageTable1’)

  本次实验所返回的结果为:\\SQL1\SqlFile\ImageFiles\ImageTable1

  

  4、查看

  通过Windows资源管理器,可见已经创建了以GUID命名的文件夹。

  

  通过SQL Server Management Studio,查看表的结构。

  

  四、操作

  1、向文件夹中添加文件

  通过 “Windows资源管理器”,向文件夹\\SQL1\SqlFile\ImageFiles\ImageTable1中添加一个文件A01.GIF。然后运行脚本:

  select * from ImageTable1

  结果如下:

  

  可见, SQL Server自动在Table中添加了记录。

  

  2、文件改名

  运行以下脚本:

  update ImageTable1 set name=’Cup.GIF’ where name=’A01.GIF’

  通过“Windows资源管理器”,查看文件夹\\SQL1\SqlFile\ImageFiles\ImageTable1,可见文件A01.GIF已经被改名为Cup.GIF 。

  

  3、查看共享文件夹

  我们可以继续复制其他文件,然后通过“Windows资源管理器”,查看文件夹。

  

  4、删除文件

  可以使用脚本删除,例如:

  Delete ImageTable1 where name=’Cup.GIF’

  或者,通过“Windows资源管理器”直接删除该文件。

  

  五、备份和还原

  

  1、备份数据库

  使用 SQL Server 备份数据库时,FILESTREAM 数据将与数据库中的结构化数据一起备份。

  

  2、部分备份

  如果不想将 FILESTREAM 数据与关系数据一起备份,则可以使用部分备份将 FILESTREAM 文件组排除在外。

  

  六、相关说明

  详见

  1、AlwaysOn

  在包含 FILESTREAM 或 FileTable 数据的数据库属于某一 AlwaysOn 可用性组时:

  FILESTREAM 和 FileTable 函数接受或返回虚拟网络名称 (VNN),而非计算机名称。有关这些函数的详细信息,请参阅 Filestream 和 FileTable 函数 (Transact-SQL)。

  通过文件系统 API 对 FILESTREAM 或 FileTable 数据进行的所有访问都应该使用 VNN,而非计算机名称。

  

  2、表分区

  FileTable 不支持分区。通过对多个 FILESTREAM 文件组的支持,在大多数方案中可以解决纯向上扩展问题,而不必使用分区(不像 SQL 2023 FILESTREAM)。

  

  3、复制

  FileTable 不支持复制和相关功能(包括事务性复制、合并复制、更改数据捕获和更改跟踪)。

  

  4、视图

  可以像为任何其他表一样为 FileTable 创建视图。但是对于为 FileTable 创建的视图有以下注意事项:

  视图将不具有任何 FileTable 语义,也就是说,视图中的列(包括“文件属性”列)的行为与常规视图列一样,不具有任何特殊语义,对于表示文件/目录的行也是如此。

  可以基于“可更新视图”语义更新视图,但是基础表约束可能拒绝更新,就像在表中一样。

  可以通过将文件的路径添加为视图中的显式列,在视图中显示该路径。例如:

SQL修改文件组名

右键 数据库名==》属性==》文件群组,貌似衡搏一旦设启陵定就不允许修改了,只允咐旁祥许新增与删除

alter database db1

modify filegroup

tst1grp1

   皮滑亩

old

filegroup name

name=

db1grp1

     燃森让尘

new

filegroup name

;

修改数据库添加文件组的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于修改数据库添加文件组,如何修改数据库并添加文件组?,如何使用 sql server 2023 filetables,SQL修改文件组名的信息别忘了在本站进行查找喔。


数据运维技术 » 如何修改数据库并添加文件组? (修改数据库添加文件组)