34,590
社区成员
发帖
与我相关
我的任务
分享
create database testdb
on primary
(name=testdb_data,
filename='d:\testdb_data.mdf',
size=5mb,
maxsize=20mb,
filegrowth=2),
(name=testdb_data1,
filename='d:\testdb_data2.ndf',
size=10,
maxsize=20,
filegrowth=2)
log on
(name=testdb_log,
filename='d:\testdb_log.ldf',
size=2,
maxsize=10mb,
filegrowth=10%),
(name=testdb_log1,
filename='d:\testdb_log2.ldf',
size=5,
maxsize=15mb,
filegrowth=1)
问题如下:
1.primary 很多教材的解释是指定主数据文件的,那么如果不加primary关键字,如上代码,后缀为.mdf格式的数据文件不也是主数据文件么,而且以前记得试验过,一个数据库下可以存在多个.mdf格式的数据文件,搞不清楚咋回事,求大神们答疑?
2.这个才是我最想问的,比如上面代码主数据文件大小为5mb,那么当我在该数据下创建了一张表并大批量导入了数据,如果该表数据量超过了主数据文件的最大容量,比如上述代码为maxsize=20mb,那么辅助数据文件是否会帮忙存储剩余的数据?另外我可不可以知道哪些数据存储在了主数据文件。哪些数据存储在了辅助数据文件呢?
这个问题记得论坛里有人提及过?但还是搞清楚
按比例分配,每个文件写入数据的一部分,也就是说你不知道数据实际上是在哪个文件,即使知道,用处也不大,因为数据的改动可能会一定数据的存储位置,比如本来一个表的数据存在2个文件中,但是我删了其他表的一些数据,再重建聚集索引,再做些其他操作,可能这个表的数据就全部存储到一个文件中,简单来说,可能你没办法准确知道实时的数据位置。不过作为研究,DBCC PAGE命令是可以的,但是》。。。试过你就知道有多痛苦。
另外你那个那么辅助数据文件是否会帮忙存储剩余的数据?
实际上不做特殊配置的情况下,它/它们一直在协助存储,不是仅存储到主文件组中的主要文件中的。
大神收我做徒弟吧,经你这么一说明白多了,十分感谢!