在这个过程中,数据脏页由内存写入持久化的IO子系统,在此期间,按照IO子系统的不同,数据可能经过这几层:
Windows(写数据一定调用的是WINDOWS API)
Windows底层的中间层(杀毒软件,磁盘加密系统)
RAID控制器(IO子系统做了RAID)
磁盘或SSD等持久化存储器
其实如果使用了裸设备,数据是不需要经过I/O子系统的,直接写入到文件中
根据MSDN说一下裸设备在SQLSERVER的限制
SQLSERVER2000支持数据库创建在使用raw格式的分区。raw格式分区是一种没有格式化的文件系统,就像FAT文件系统和NTFS文件系统。
在某些情况下,数据库创建在raw格式的分区能产生重要的性能提升相对于NTFS或FAT文件系统。
然而,大多数情况下,还是建议使用NTFS或FAT分区来存放数据库文件
当你把数据库创建在raw分区下的时候,你不能指定数据库数据文件的物理名字;