Filter Driver

According to Microsoft TechNet SQL Server Glossary, a filter is “1. A set of criteria that controls the set of records returned as a result set. 2. In Full-Text Search, given a specified file extension, filters extract text from a file stored in a varbinary(max) or image column.”

According to online dictionary Glosbe, a filter driver is “a driver that modifies or monitors I/O requests as they pass through the device stack.” In other words, a filter driver is software that provides functionality between the operating system and the device itself.

According to the Microsoft Developers Network, some filter drivers observe and record information regarding I/O requests but do not actually participate in carrying out the requests. For example, certain filter drivers are dedicated to verifying the other drivers in the stack are dealing with the I/O requests correctly.

Primary device drivers are sometimes also called function drivers to distinguish them from filter drivers. You can have both “high level filter drivers” above the primary device and “lower level filter drivers” below the primary/function driver. The bus driver is the lowest level driver.

Idera’s SQLSafe7.0 and above includes a mini-filter driver to support the InstantRestore feature. The SQL Safe Filter Driver is designed to intercept I/O requests for databases with active Instant restore operations under way. The SQL Safe Filter Driver permits SQL Server to access database data while SQL Safe is undertaking an instant restore.

When an InstantRestore operation completes, the filter driver completely disengages from all I/O activity with the database as it is no longer needed. The SQL Safe Filter Driver is based on Microsoft mini-filter driver technology.