This document describes how to shrink a SQL Server database to recover unused space. It can be done through SQL Server Management Studio or Transact-SQL. Shrinking moves data pages towards the front of files and frees up space at the end, which is then returned to the file system. Limitations include that databases cannot shrink below their minimum size and backups cannot occur during shrinking. It is recommended to only shrink after operations that create unused space and to rebuild indexes afterwards due to increased fragmentation.