SQL Server Performance

  • Home
  • Articles
  • Forums
  • Tips
  • Training
  • FAQ's
  • Blogs
  • Software
  • Books
  • About Us
RSS Feeds
Sign in | Join


Article Topics

All Articles
Performance Tuning
Audit
Business Intelligence
Clustering
Reporting Services
SQL Azure
Developer
General DBA
ASP.NET / ADO.NET
SQL Azure

Training Videos

Check out our new SQL Server Training Videos section More...

Write for Us

Share your SQL Server knowledge with others and raise your profile in the community More...
Latest Articles

50 Tips to Boost Performance of an ASP.NET Application - ...
50 Tips to Boost Performance of an ASP.NET Application - ...
Understanding WCF Hosting
SQL Server Logical Reads – What do they really tell us? ...

More     
 
Latest FAQ's

Will Check Constraints Improve Database Performance?
The Excel Connection Manager is not supported in the 64-bit version ...
Is there a difference between fill factor 0 and 100 ...
An ASP.NET setting has been detected that does not apply in ...

More     
   
Latest Software Reviews

Spotlight on ApexSQL Diff - Server-based database comparison tool ...
Spotlight on ApexSQL Data Diff - Server-based database comparison tool ...
Spotlight on ApexSQL Doc 2008
ApexSQL Enforce

More     

articles >> performance tuning >> How Using the Windows 2000 Encrypted File ...

How Using the Windows 2000 Encrypted File System to Secure SQL Server Databases and Backups Affects SQL Server's Performance

By : Chris Kempster
Sep 19, 2004

Chris is the author of the book, SQL Server for the Oracle DBA

 

Those running Windows 2000 can take advantage of the EFS (encrypted file system) for encrypting SQL Server database and/or backup files. In some organizations, encrypting data is mandatory, and as you might expect, it can exact a performance penalty. In this article, I will take a brief look at how you set up encryption for SQL Server and Windows 2000, and then run some tests to see how it affects SQL Server's performance.

 

How to Turn on Encryption for SQL Server Databases and Backups

To turn on the encrypted file system in Windows 2000 for use by SQL Server:

  • Shutdown your database instance.

  • Login with the service account the SQL Server instance is using.

  • Select the properties of the folder(s) in which the database files reside using Windows Explorer.

  • Select the advanced option button and follow the prompts to encrypt the files/folders.

  • Re-start the SQL Server service.

  • Verify the successful start-up of the instance and databases affected via the encryption (or create databases after the fact over the encrypted directories).

  • Verify encryption of the database files via cipher.exe.

If you attempt to start the service as any user other than the user that encrypted the database data files, the instance will not start and/or your database will be set to suspect.

Here is an example of SQL Server error log entry showing what happens if you start the service with an account other than the one used to encrypt the files:

udopen: Operating system error 5(error not found) during the creation/opening of physical device E:\cktemp\efs\efs_Data.MDF.

FCB::Open failed: Could not open device E:\cktemp\efs\efs_Data.MDF for virtual device number (VDN) 1.

udopen: Operating system error 5(error not found) during the creation/opening of physical device E:\cktemp\efs\efs_Log.LDF.

FCB::Open failed: Could not open device E:\cktemp\efs\efs_Log.LDF for virtual device number (VDN) 2.

As you might expect, encrypting your SQL Server data negatively affects SQL Server's performance. How much it will affect speed is a tough to measure as there are so many factors to consider. For example:

  • Hardware vendor chosen

  • I/O drives and OS version and patch level

  • Disk vendor, speed, cache

  • RAID levels, channels, disk interconnect

  • RAID controller type, cache, vendor

  • Software-based caching models and/or BIOS patches

  • OS configuration parameters, service packs and registry “tweaks”

and perhaps more, can all affect SQL Server's encrypted performance.

 

Testing How Windows 2000 Encryption Affects SQL Server's Performance

The testing of EFS performance using SQL Server database files was done on the following hardware:

HP NetServer, Dual PIII 850Mhz, 512Mb RAM, SCSI 160 RAID-1 18Gb Disks

The tests were repeated five times, with the average figures shown below. No other user or application was running during the tests. The databases were identical in terms of their size, recovery model, collation and other basic settings.

Before beginning the tests, I tested to be sure that encryption was working. This can be done by typing the following at the command line:

cipher

The results of this command were:

Listing d:\
New files added to this directory will be encrypted.

E EFSTEST_Data.MDF
E EFSTEST_Log.LDF

The results above indicate that encryption is on and that there are two existing files that are encrypted.

Next, from within Query Analyzer, I set I/O time and statistics to on, as follows:

set statistics io on
set statistics time on

And before each test, I ran the following code in order to clear out the memory buffer and to force a checkpoint.

dbcc dropcleanbuffers
checkpoint


    Next Page>>    








C# Help and Tutorials | PHP MySQL Tutorial | Sharepoint Tutorial | Azure Tutorial | Home | Peformance Articles | Audit Articles | Business Intelligence Articles | Clustering Articles | Developer Articles | Reporting Services Articles | DBA Articles | ASP.NET / ADO.NET Articles | SQL Server Training Videos | DBA FAQ's | Developer Peformance FAQ's | DBA Peformance FAQ's | Developer FAQ's | Clustering FAQ's | Error Messages | Audit Tool Reviews | Backup Tool Reviews | Coding Tool Reviews | Compare Tool Reviews | Documentation Tool Reviews | Design Tool Reviews | Monitoring Tool Reviews | Log Tool Reviews | Reporting Tool Reviews | Clustering Tool Reviews | Security Tool Reviews | Change Management Tool Reviews | Remote Access Tool Reviews | Book Reviews | Security Tool Reviews | QDPMA Performance Tuning | ADO.NET / ASP.NET | Administration | Analysis/OLAP Services | Application Development | Configuration | Components | ETL | Hardware | High Availability | Hints | Index | Misc | Operating Systems | Performance Tuning | Replication | T-SQL | Views


              © 2010 Jude O'Kelly. All rights reserved