Verminderde prestaties in SQL Server wanneer u EFS gebruikt om databasebestanden te versleutelen

Van toepassing op: SQL Server
Oorspronkelijk KB-nummer: 922121

Symptomen

Wanneer u Encrypting File System (EFS) gebruikt om databasebestanden in SQL Server te versleutelen, worden de prestaties van sommige SQL Server-functies verlaagd. De functies van het lees- en controlepunt zijn bijvoorbeeld beschikbaar.

Oorzaak

Dit probleem treedt op omdat asynchrone I/O-aanvragen van SQL Server worden geconverteerd naar synchrone I/O-bewerkingen in een met EFS versleuteld databasebestand. Zie Asynchrone schijf-I/O wordt als synchroon weergegeven in Windows voor meer informatie. Tijdens de I/O-bewerking wacht de werkrolthread totdat de I/O-bewerking is voltooid. Wanneer de thread wacht op de I/O-bewerking, wordt de SQL Server-planner onderbroken totdat de huidige werkrolthread wordt voortgezet. Daarom zijn de werkrolthreads die op de planner blijven wachten totdat de eerste werkrolthread de I/O-bewerking voortzet. Voor asynchrone I/O vraagt de thread echter de I/O aan en gaat verder met het uitvoeren van andere taken.

Notitie

Asynchrone I/O lijkt nog steeds synchroon te zijn vanwege de NTFS-compressie (New Technology File System). Het bestandssysteemstuurprogramma heeft asynchroon geen toegang tot gecomprimeerde bestanden. In plaats daarvan worden alle bewerkingen synchroon uitgevoerd.

Tijdelijke oplossing

SQL Server biedt veel versleutelingstechnologieën, zoals TDE -functies (Transparent Data Encryption), Always Encrypted en versleuteling op kolomniveau. Overweeg deze versleutelingsfuncties te gebruiken in plaats van EFS.

Notitie

Wanneer u EFS gebruikt om een databasebestand te versleutelen, wordt het hele databasebestand versleuteld, ongeacht de werkelijke gegevens en metagegevens die zich in het databasebestand bevinden. U kunt EFS ook gebruiken in geval van mogelijk verlies van fysieke media.

Verwijzingen

Een beveiligd bestandssysteem configureren