5

在 SQL Server 2005 上创建新数据库时,我总是忽略此选项,只是因为我们可以忽略不了解的内容并保持原样。(我不太喜欢 DBA)

所以现在我很好奇它是关于什么的。

根据您的经验,您认为我们什么时候需要将辅助数据文件添加到我的数据库中,我们为什么需要它?

4

3 回答 3

3

很多情况下这很有用 - 首先,出于可用性原因,最好只在主数据文件中保留系统数据(使用 Sql2k5 及更高版本,只要主数据文件可用,数据库就可以联机,允许您在尽可能多的在线的同时修复/恢复/等非系统数据)。使用辅助文件的其他一些情况:

  1. 跨多个 LUN 对数据进行分区
  2. 允许部分/filegroup 备份/恢复
  3. 跨不同 LUN 分割不同的读/写访问类型(即顺序与随机)
于 2009-11-10T12:12:35.757 回答
1

除了这里其他回复已经提到的性能方面,还有一个安全问题。

数据库的目录视图(跟踪表、列、权限和所有系统内容)始终位于主数据文件中,您无法更改它。

如果您可以将主数据文件中的系统目录数据分离出来,并将您的用户数据放入辅助文件中,主文件会更小,更新和插入的次数会少得多,因此可能会因磁盘损坏而损坏部门被最小化。

如果您的系统目录视图(及其基础表)被损坏或破坏,您的整个数据库将被烤掉 - 所以您肯定希望损坏该主数据文件的可能性最小。

在中小型数据库中,这可能不是一个大问题,但在更大的设置中可能是需要考虑的一点。

于 2009-11-10T12:41:17.940 回答
0

重要的原因之一是 I/O。对数据进行分区的能力意味着 I/O 现在分布在多个驱动器/luns/等上。这可以大大提高性能。

于 2009-11-15T20:12:08.650 回答