My name is HarshDeep Singh, and I am a SQL Server engineer with Microsoft CSS. I've been working on SQL Server for quite some time, and the intention behind starting this blog is to try and share my knowledge with the SQL Server community. Any feedback or suggestions on the blog are both welcome and solicited. Please feel free to drop me a line on firstname.lastname@example.org anytime.
When migrating a Team Foundation Server from SQL Server Enterprise to Standard , you might run into this error:
Restore Failed For Server ‘<Servername>’, (Microsoít.SqlServer.SmoExtended) Additional information: An exception occurred while executing a Transact-SQL statement or batch.
(Microsoft.SqlServer ,Connectionlnlo) Database ‘<TFS Database name> cannot be started in this edition of SQL Server because part or all of object tbl_Branch’ is enabled with data compression or vardecimal storage Format. Data compression and vardecimal storage Format are only supported on SQL Server Enterprise Edition.
Database ‘<TFS Database name>’ cannot be started because some of the database functionality is not available in the current edition of SQL Server. (Microsoft SQL Server, Error: 909)
The error message seems obvious enough, but the question is, how exactly do you proceed? For example, one of the things you would need to find out is which objects have compression enabled on them(yeah, TFS enables compression on some objects in its databases) , and how to get rid of it, so the migration can proceed. Here are the steps:
select so.name,so.type,so.type_desc,sp.data_compression,sp.data_compression_desc from sys.partitions sp inner join sys.objects so on (so.object_id=sp.object_id) where sp.data_compression!=0
After this, you should be good to proceed with the migration. If you face any issues when trying to disable the compression, please do not hesitate to call Microsoft for support.
Hope this helps. Do let me know if you have any feedback, suggestions or comments. Thanks.