What a day!
I’ve completely lost count of the number of times I’ve tried to install SQLExpress 2008 in the last 12 hours. It seemed like a never ending series of errors and permissions problems. Though I have now found a solution and thought it worth blogging as it took some digging to find it. Some of the errors were linked to SQL Server Native Client and linked to this page on microsoft.com. I found the advice on the page was near pointless. Some of the errors were reporting that it couldn’t make tempdb. I also saw:
“Login failed for user … “. Reason: Server is in single user mode. Only one administrator can connect at this time. Error 18461
The root of the issue seems to be related to Debug Programs Policy. Check the following policy to see what accounts have Debug permissions set:
[Start] >> [Administrative Tools] >> [Local Security Policy]
Security SettingsLocal PoliciesUser Right AssignmentDebug Programs
You need to add any relevant accounts and/or groups to this policy. Once you have done that, log off and then log back on again to reload the new policy settings. Now make sure you completely un-install SQLExpress 2008 and any other bits installed along with it (apart from things like PowerShell as you need that). Make sure you delete anything left behind in %Program Files% and from the registry.
Restart a fresh SQLExpress 2008 install, you should now get a successful installation.
There are lots of details of solutions to various problems on this page, including details of how to make sure your machine is clean of previous installs. I initially came across the solution to this on a Feedback item on microsoft.com which you can read here. As you can see from some of the discussions this really does need to be addressed. I’ve lost a lot of time over this and it seems many others have also lost significant amounts of time on what appears to be a bit of an oversight in some ways.
As I become a more rounded developer (through lack of exercise mainly) I’m starting to get more exposure to various methodologies and ways of thinking that really do make the whole development experience much more enjoyable. There are a number of established patterns that I have used in the production of SampleSort that include things like Singleton, Model-View-Presenter, Single-Responsibility etc.
There are many, many such design patterns that you can adopt in order to solve various programming tasks, some of them take a lot of effort to fully understand whereas some just make sense as soon as you start looking at examples. However, lately during some design tasks questions relating to actualy OO principles have come into play, something I’ve only recently started to really get into. After identifying some things that I really needed to understand I thought I’d share some resources here.
The most obvious one of the GOF (Gang of Four) for your design patterns. You can find a lot of really good information and examples of DPs here:
Here are some great links to sites that talk about pure OO principles:
Object Mentor – OO Design Principles
Principles of OO Design
I just finished reading Sacha Barbers latest article on CodeProject called GeoPlaces. There are a few people publishing on the CP site which are required reading in my opinion and Sacha is one of them. After reading this last article I left a note showing my appreciation stating that I thought Sacha should write a book. Fortunately for us peons it looks like that message might have rang one of Sachas many bells.
Sachas articles feel like they are complete packages. A situation or problem is devised that provides the purpose of the article and then solved using the most appropriate methods, with a good helping of other tidbits along the way (Barbers Pearls? … ahem). To see the complete view of a system or working application is a million times more helpful or informative than bitesize code snippets that contribute to a solution. I’ve always appreciated Sachas production of these articles, they are major works in themselves and it’s clearly all for the love of it, plain and simple. Gotta respect that.
Working with other devs is sometimes a real chore and can seriously impact a projects ‘completeness’ or ‘correctness’ they’ll most likely write something in a way they are already versed in, other devs are obviously very passionate and dynamic in terms of the solution they end up employing for any given problem.
I reckon I know which camp Sacha is in. I’ve worked with some devs that leave you feeling inspired to improve, and it really does wonders for your own efforts. Since I’ve only been doing .Net for a little over a year I hope I’ll become one of them in time, meanwhile we should read all the good stuff we can hopefully we’ll be able to read Sachas offering soon!
Vote for a book from Sacha on his blog!
Oh, and I think he’s already coined a phrase … DubPF … 🙂