Previous Table of Contents Next


The New Technology File System (NTFS)

When Windows NT was first introduced to the world, it included three different file systems. These included the file allocation table (FAT) for compatibility with MS-DOS, the high performance file system (HPFS) for compatibility with LAN Manager, and a new file system called, appropriately enough, the New Technology File System, or NTFS. NTFS includes several enhancements over existing file systems currently in use on most network file servers. To begin with, NTFS is entirely transaction based. Much like the transaction log that SQL Server uses to maintain data integrity, the NTFS file system utilizes a transaction log to maintain file system integrity. This does not mean you cannot lose data, but it does mean that you have a much greater chance of accessing your file system, even if a system crash occurs. This ability stems from the use of the transaction log to roll back outstanding disk writes the next time Windows NT is booted. It also uses this log to check the disk for errors instead of scanning each file allocation table entry as does the FAT file system. NTFS also has several other beneficial features, including:

  Security—The NTFS file system includes the ability to assign access control entries (ACE) to an access control list (ACL). The ACE contains either a group identifier or a user identifier encapsulated in a security descriptor that can be used to limit access to a particular directory or file. This access can include such abilities as read, write, delete, execute, or even ownership. An ACL, on the other hand, is a container that encapsulates one or more ACE entries. What this boils down to is that you can limit the access that specific users or groups of users have to directories and individual files on your network.
  Long File Names—Long file names are file names that exceed the normal MS-DOS 8.3 limitation. These names can be up to 255 characters long, can be any mix of uppercase or lowercase letters (although access to the file is not case sensitive except for applications executing in the POSIX subsystem), and can also include UNICODE characters, if desired. One key feature of NTFS is that it automatically generates an equivalent MS-DOS compatible file name. It does this by utilizing the first characters of a long file name as the base, adds a tilde, adds a sequence number, and uses the first three characters of the last file extension (the last word following a period). For example, if you have a long file name such as Accounts Payable.July.1995.XLS, then the equivalent MS-DOS 8.3 compatible file name would be ACCOUN~1.XLS.
  Compression Support—This feature was introduced with NT version 3.51, and it provides the ability to compress any NTFS file, directory, or volume. As you may know, MS-DOS compression packages create a virtual disk as a hidden file on your uncompressed host drive that requires you to compress all data on the compressed drive. Unlike MS-DOS compression packages, Windows NT utilizes an additional layer in the file system to compress/uncompress files on demand without creating a virtual disk. This is particularly useful for compressing either a partial disk (such as the user directories) or specific file types on a disk (such as graphic files). It’s even more beneficial for portable computer users who wish to run NT. But, I like this feature most because I can compress SQL Server devices, which means my SQL Server databases get compressed automatically. One thing you’ll find with NTFS compression is that it is not designed for maximum compression as the MS-DOS compression schemes are. Instead, NTFS is designed for reliability and performance.


TIP:  You should not compress files which are accessed frequently for maximum performance. Compressing and uncompressing files does require processor time and should only be used when storage space is at a premium. It makes excellent sense to compress an SQL Server database on a development system, for example, but poor sense to do so for a production server.

Now that you have a basic understanding of the features of NTFS, you can begin to appreciate how good a job Microsoft did in implementing it. After all, a file server’s primary purpose is to share files. These shared files are stored on the hard disk using the file systems encoding methodology. In the case of Windows NT, this encoding methodology is NTFS. One of NTFS’s greatest strengths is its fault tolerant design, or the ability to recover from errors it encounters. But there is much more to fault tolerance then just the file system, and in the next section, you will explore more of the fault-tolerant capabilities of Windows NT Server.


Previous Table of Contents Next