Error upgrading TFS 2010 to TFS 2013

I was helping another client to upgrade TFS 2010 to TFS 2013, as I did tens and hundreds of times before, and I thought I saw it all. All possible errors, warnings… all the weird stuff. I was wrong. There is always something. Something that can go wrong. Something new to learn. Anyways, back to the upgrade. As I was saying, I was upgrading TFS 2010 to TFS 2013. It began as a fairly straightforward upgrade. You build new TFS 2013 environment, detach TFS 2010 project collection, (if you're moving from SQL Enterprise to Standard - backup up the database and remove encryption/compression), backup the database, restore the database, and finally attach TFS 2010 project collection to new TFS 2013 environment. Easy, right? Well, I forgot to mention, fixing reports, SharePoint sites, build definitions, etc. But, still, very straightforward process. Except, this time.

This time when I was attaching TFS 2010 project collection to newly built and awesome TFS 2013 environment, I got an error: "TF400744: An error occurred while executing the following script: WorkItemTrackingToDev11Beta2Custom.sql. Failed batch starts on the line 1. Statement line: 35. Script line: 35. Error: 4922 ALTER TABLE ALTER COLUMN SeqId failed because one or more objects access this column." I have never seen this error before. There wasn't much information on this error online either. So, I have tried re-running project collection process again to make sure that we have not missed anything. Got the same error again. Disappointing.

After some digging, a lot of digging actually, I still did not find anything. I knew that the problem must lie within the database. The database must got corrupted somehow. But, I couldn't put my finger on it though. So, I called Microsoft support. We dug some more. Then, some more… And, finally, we have found a problem. Apparently, project collection database was manually modified. An index was created on one of the columns (SeqID column), and that was preventing upgrade process dropping that column. That was it. That was the reason why we lost hours trying to solve the mystery of failing upgrade… So, the lesson is DO NOT make manual changes to any TFS databases. It might seem like a good and perfectly harmless idea at the time, but it's not. It never is.

From Requirements to Deployment: The Modern SW Developer using TFS

On May 8th, the Scotia Bank Theatre, Richmond Street Toronto was the scene of another successful “ObjectSharp At the Movies” event. The event was recorded so you can watch again, share with colleagues or maybe you couldn’t make the presentation and just want to watch for the first time. Below is a quick synopsis of what I presented. Click here to enjoy the Video.

My goal for the morning was simple. As MC I needed to keep things moving, entertain the audience during lull's and show the 500+ registered attendees how great it will be when they upgrade and or start using TFS 2013 in under 30 minutes.

I Started things off with this slide showing Team explorer when TFS is your repository and when Git is your repository. Not much to say on the subject as Colin covered it in his presentation.

image

The new Build process in 2013 includes the ability to shell out to a batch file or powershell script from several steps including prebuild, postbuild, pretest and posttest. This is a great feature that I have been adding to build processes since 2010.

A lot of people didn’t like the fact that pending changes was incorporated into the Team Explorer. Several of the Team explore windows like pending changes and builds can be torn off the team explorer and float as their own windows.

My Work is not new to 2013 but worth mentioning. This window is a great view of all your Work In Progress, Suspended Work, Available Workitems and Code Reviews. Watch the video to see how you can easily switch context using Suspended work and change the query behind Available Workitems to show the work that is assigned to you.

Check out Code Lens inserted right in your code on classes and methods, showing you references to this code, changesets when this code was added and workitems associated to those change sets. This is a great connection from your code directly into TFS.

Release Management is the biggest and best new feature of TFS 2013. Watch and see how a code change can easily be deployed out to multiple environments all starting from your build.

Again click here to enjoy the Video.

MVP Consumer Camp (May 29th 2014)

clip_image002

Check out this great event that Microsoft is organizing at the Microsoft Store at Square One Shopping Centre in Mississauga – the first Canadian MVP Consumer Camp on Thursday, May 29th from 4pm to 9pm. some of my fellow MVPs will be there answering tech questions, showing off demos and the unique features of Microsoft devices. There will be prize draws, Q&A sessions, snacks and refreshments. 

MVPs are recognized exceptional, independent community leaders who share their passion, technical expertise, and real-world knowledge of Microsoft products with others. We speak at events, answer questions online, and have awesome technical blogs! 

For those of you who haven’t been to a Microsoft Store yet, they are amazing!  They have a huge selection of the latest products and gadgets with experts who can answer all of your questions.  If you can’t make the event, definitely try to drop in to a store to try the latest Xbox game, check out Windows 8.1 and its great touch features or to buy the latest and greatest Windows Phone.  The Nokia Lumia 1020 has an unbelievable camera by the way ;)

Do you have any questions about Surface, Windows, Office, Windows Phone or Xbox?  Do you want to learn about how to get the most out of your gadgets?  There will be an MVP there who can provide answers! Hope to see you there!

Register here!

Error while migrating from Visual Studio Online to an on premise TFS

As I'm sure we all know, Visual Studio Online has gone to general availability recently, which means that very soon you will have to pay to use Visual Studio Online. We all knew it was coming… and now you might have to make a decision whether you should stay in the cloud or whether you should move your TFS to your internal network. To be fair I think that, in some cases, it could be very well worth it to pay for hosting TFS in the cloud instead of hosting one internally. However, in some cases it might be cheaper for customers to host TFS internally. Those users need to move TFS content from the cloud to on premise server. Kudos to Microsoft for providing an easy to use Data Export tool (see http://msdn.microsoft.com/en-us/library/7cb80f0d-0119-4277-82e8-719a8db1796e for more info) to migrate your Visual Studio Online contents to on premise TFS server. I wish they made that tool available permanently to users, instead of just for a short time… but I'm not complaining.

Anyways, for the most part this is a fairly to use tool and it worked just fine every time I use it. But once I got the following error: "TF400711: Error occurred while executing servicing step download bacpac from azure storage for component cloudimport during cloudimport: the remote server returned an error: (403) forbidden", trying to migrate Visual Studio Online contents to on premise TFS server. In my case, this error was caused by a simple fact that my export package created in Visual Studio Online has simply expired. I forgot that the package is only valid for 10 days, and gets deleted from Microsoft servers once expired. So, simply start export process again in Visual Studio Online, get a new export package, and run TFSCONFIG CLOUDIMPORT command again using new export package.

Mocking and Unit Testing

Last Thursday, I had the opportunity to give a presentation on unit testing in general and mocking using MOQ specifically to the London .NET User Group meeting. Many thanks to Tom Walker for his efforts in organizing the group, as well as to the people who took time out of their evening to attend. For the purpose of preserving the effort for posterity (not that any posterity will actually care), the slide deck is available at http://www.slideshare.net/LACanuck/unit-testing-and-mocking-using-moq, while the source code used for the demos can be found at http://1drv.ms/1kQJWhb.

As always, if you have any questions or comments, you’re welcome to drop me an email or contact me on Twitter (@LACanuck).

Visual Studio Online Data Export

Now that TFS in the cloud or Visual Studio Online has gone to general availability. There are customers out there that might be rethinking the use of Visual Studio Online and would like to move to an on-premise solution.

If you are thinking that way, take advantage of this Data Export tool supplied by Microsoft while it lasts. The excerpt below is part of an article about the General Availability of VSO. There is a link to it from your VSO home page under news.

Data Export Window

Many of our users started out with VS Online before we’d painted much of a picture of what the future would look like. Some group of them may want to take this transition to GA as an opportunity to reconsider their ALM configuration and move to an on-premises TFS server. Starting today, we’re enabling a data export window for any customer that has been on the service and wants to “opt out”. For the next 6 weeks, you have the option to export your data from Visual Studio Online in a format that can be imported to Team Foundation Server 2013 Update 2. In order to get access to the export capability, contact customer support (vsoexportsupport@microsoft.com) and we’ll be sure to get it switched on right away and provide you instructions on what to do.

From what I have read on the ALM email thread. This is the best option, better than the TFS integration tools. It will get all your Data including work items and source control history, and is much higher fidelity than the migration toolkit.

It will only be around for 6 weeks so if you are planning this move get on it.

I am speaking at CTTDNUG this month

The April session of CTTDNUG will be yours truly doing – A Day in the Life of TFS 2013

Here is the announcement:

Join us on Wednesday April 16th for a session on TFS 2013 presented by Dave Lloyd, Microsoft ALM MVP!

Session Info

This will be a complete tour of what TFS 2013 can accomplish when used by a whole team (Dev’s, QA, BA, Product Owner). We will cover the product backlog and task boards, Teams, Storyboarding and Feedback requests. My Work and switching context, Git integration, Code Reviews. Creating Test plans and executing Test Cases, Exploratory Testing and Release Management. Throughout the presentation the floor will be open to any other aspects of TFS that you would like to talk about!

Speaker Bio

Dave Lloyd has 30 years’ experience in the IT industry designing and building software solutions for a large number of clients in varying industries. Dave is a seasoned project manager with a great deal of experience implementing process into development teams, from small and large ISV’s to in house development teams. Dave has also spent time during his career implementing test solutions for clients. Working with the most current automated test tools and implementing successful test environments. Dave brings to the table 25+ years of teaching experience. He has been awarded the ALM MVP designation for the past 4 years in a row

When?
Wednesday, April 16, 2014 from 6:30pm - 8:30pm
Pizza/pop will be served starting at 6pm

Where?
Country Hills Community Library, 1500 Block Line Road, Kitchener, ON

How to register?
Visit CTTDNUG’s site to view more details and to register for this event: http://www.cttdnug.org

Seats are limited so register early to reserve your spot!

Release Management Application Pool is down

If your Release Management application pool keeps crashing and you get the following error: Message: Object reference not set to an instance of an object.: \r\n\r\n at (Object ) … at RM.MonitoringAgent.Services.MonitorService.ProcessScheduledPromotions(), run the following command to fix the issue:

appcmd.exe set config -section:system.webServer/globalModules /[name='SPNativeRequestModule'].preCondition:integratedMode,bitness64

Make sure that you run this command as an administrator.

The Return of At The Movies

Earlier this week, ObjectSharp announced the 2014 version of our annual At The Movies event, to be held on May 8 from 8:30 until noon. For years, ObjectSharp has brought together leading experts in Microsoft technology and presented what’s new and what’s useful. We call it At The Movies because, well, it’s held at the Scotiabank Theatre on John St. in Toronto. And because by doing so, we get to use movie posters as part of the marketing campaign.

Yeah, we have a good time coming up with the various posters. The call for ideas amongst the many ObjectSharp associates is a good indication that spring is coming. And the creativity and execution of the ideas is worth waiting for. But let’s start with what you get out of coming to At the Movies.

The Scrum TeamFirst, the list of topics. As always, we go with things that you want to hear about. Subjects that are on the at the leading edge of technology, but are currently available so that you can go back to your office and start to use them immediately. This year, we’re covering the following.

- Team Foundation Server 2013

- Visual Studio 2013

- Windows 8 (from Tablets to Phones)

- Azure

- SharePoint 2013

 

If you work in the .NET world, these are areas that you need to know about. They can make your life easier and your development process more efficient. And the speakers that we have covering these topics are experts, among the best in the country. They include:

  • Dave Lloyd – Microsoft ALM MVP and Team Foundation Server expert extraordinaire
  • David Totzke and Lori Lalonde – Authors of Windows Phone 8 Recipes: A Problem Solving Approach
  • Colin Bowern – Solutions Architect, former MVP and recent émigré to New Zealand
  • Ali Aliabadi - 10+ year SharePoint developer, architect and training
  • Bruce Johnson – Microsoft MVP and author of a number of Visual Studio and Azure books

In other words, join us for a morning of entertaining speakers talking about relevant topics. There really isn’t another event like it in Toronto. And even better…it’s free!

To sign up, visit http://www.objectsharp.com/atm. Do it now. It’s almost guaranteed that we’ll sell out quickly.

It's on! At The Movies is back!

For those who have attended At The Movies (ATM) event in the past, I'm happy to announce that ATM event is back on. You know it'll be awesome, so make you register at http://objectsharp.com/atm before we run out of space in Scotibank movie theater. 

For those who have not attended At The Movies (ATM) event in the past, well, you have missed out on a lot of fun (and expert knowledge.) So, don't let that happen to you again and register for the event at http://objectsharp.com/atm. You will not be disappointed. Did I mention that this is a free event?!?

To remind you how awesome ATM events are, I have added a few links to old videos from past ATM events:

 

What can I say. Visual Studio, TFS, Azure, SharePoint , Windows 8, etc. Pure geeky fun time. See you there on May 8th, 2014! :)