To Not CI to Eye
Many developers have argued persuasively that each database developer in a team needs to work as sole user of a dedicated database-development environment whilst creating or updating databases. I'm not so sure. Are we in danger of trying to change database development practices to try to cure a problem that is far easier to solve by proper system design?

Categories: Communities, SQL Server
Converting String Data to XML and XML to String Data
We all appreciate that, in general, XML documents or fragments are held in strings as text markup. In SQL Server, XML variables and columns are instead tokenised to allow rapid access to the data within. This is fine, but can cause some odd problems, auch as 'entitization'. What, also, do you do if you need to preserve the formatting? As usual Rob Sheldon comes to our aid.

Categories: Communities, SQL Server
What's the Point of Using VARCHAR(n) Anymore?
The arrival of the (MAX) data types in SQL Server 2005 were one of the most popular feature for the database developer. At the time, there was a lot of discussion as to whether this freedom from having to specify string length came at a cost. Rob attempts to give a final answer as to any down-side.
Categories: Communities, SQL Server
How to Document and Configure SQL Server Instance Settings
Occasionally, when you install identical databases on two different SQL Server instances, they will behave in surprisingly different ways. Why? Most likely, it is down to different configuration settings. There are around seventy of these settings and the DBA needs to be aware of the effect that many of them have. Brad McGehee explains them all in enough detail to help with most common configuration problems, and suggests some best practices.
Categories: Communities, SQL Server
ASP.NET performance: is it all about the database?
If you just assume that your application's slowness is the fault of the database, then that is a quick route to a smug DBA if it later turns out you’re wrong. Far better to know for sure how much of your applications time is spent waiting around for the database to do something, and how many round-trips to and from the database it makes.

Categories: Communities, SQL Server
Inside the ConcurrentCollections: ConcurrentQueue
ConcurrentQueue is, like ConcurrentStack, a lockless collection, in that it is implemented without using any locks at all. However, the semantics required for a queue impose a quite different approach; unlike ConcurrentStack, which has a single point of concurrent contention, a queue can be changed at both the head and tail.

Categories: Communities, SQL Server
Can desktop software be Lean?
We're currently trying to build a service that lets developers silently update their application. We want desktop developers to enjoy all the same advantages as those who code for web. Desktop software shouldn't become a second class citizen just because it's too slow to adapt.

Categories: Communities, SQL Server
Confessions of a DBA: My worst mistake
Over the next few months, we'll be asking various well-known DBAs to describe their worst disaster caused by a mistake they made. To kick off the series, we asked Phil Factor to confess. He came up with a classic: The mistaken belief that a backup WITH CHECKSUM guaranteed a good backup that could be restored, and the ensuing disaster.

Categories: Communities, SQL Server
Educational Programming
At last, we’ve woken up to the worrying fact that there just aren’t enough good programmers to go around. Instead of aiming to get a generation of students interested in building their own software, education has instead been compelled by national governments to focus on stultifying vocational work geared to office skills.

Categories: Communities, SQL Server
SQL Cop Review
Static code analysis is used a lot by application programmers, but there have been surprisingly few tools for SQL development that perform a function analogous to Resharper, dotTest, or CodeRush. Wouldn't it be great to have something that can indicate where there are code-smells, lapses from best practice and so on, in your Database code? Now there is.
Categories: Communities, SQL Server
It always works on my machine.
Probably the most common question that the Red Gate developer tools support gets is "Does your X work with Y?" where X is your bit of software and Y is a bit of software made by a different company. This is probably the least answerable question in the known universe.

Categories: Communities, SQL Server
Chuck Moore on the Lost Art of Keeping It Simple
Chuck Moore is still the radical thinker of Information Technology, After an astonishing career designing languages (e.g. FORTH), browser-based computers, CAD systems and CPUs, he is now energetically designing extremely low-powered 'green' multi-processor chips for embedded systems. Behind everything he does is a radical message: 'Embrace the entire problem, Keep it simple'.

Categories: Communities, SQL Server
Great SQL Server Debates: Buffer Cache Hit Ratio
One of the more popular counters used by DBAs to monitor SQL Server performance, the Buffer Cache Hit Ratio, is useless as a predictor of imminent performance problems. Worse, it can be misleading. Jonathan Kehayias demonstrates this convincingly with some simple tests.
Categories: Communities, SQL Server
Inside Red Gate - Experimental Results
I thought I would give an roundup of how the lean startup experiments in our .NET division at RedGate have been progressing. As you can expect, there's been some good aspects and some bad aspects.

Categories: Communities, SQL Server
Pakistan: Cyber Warfare and Internet Hacking
The extent of malicious hacking on the internet, in pursuit of political or economic advantage, crime or just plain mischief, threatens to escalate the cost of even basic IT infrastructure. In the emerging economies, organised hacking is now beginning to impede economic growth so much that organised counter-measures are now required. Our Pakistan correspondent describes the problem there, and suggests some solutions.

Categories: Communities, SQL Server
Managing ItemUpdating and ItemUpdated Events Firing Twice in a SharePoint Item Event Receiver
Developing a Sharepoint application would have all the fun of a video game, if only you had infinite lives. Dangers lurk hidden out there which, if you run into them, can be a blow to your project and waste a great deal of time. Damon gives just one example of a poisoned dagger in the game of Sharepoint Development: The Item Event Receiver.

Categories: Communities, SQL Server
Buck Woody's Cloud Howlers
We asked Buck Woody to come up with his favourite 'Cloud' Howlers. After 'Howler' monkeys, we are faced with Howler letters. Buck dreams of sending Howler letters to the folks who dreamed up the marketing hype around 'cloud' services, who misunderstand services, who don't prepares applications for distributed environments and so on.
Categories: Communities, SQL Server
Relational Databases and Solid State Memory: An Opportunity Squandered?
The relational model was devised long before computer hardware was able to support an RDBMS that could deliver, without performance deficit, a fully normalized database. Now, with reliable SSDs falling in price, we can reap the benefits, instead of getting distracted by NOSQL with its doubtful compromise of 'eventual consistency'.
Categories: Communities, SQL Server
TortoiseSVN and Subversion Cookbook Part 3: In, Out, and Around
Subversion doesn't have to be difficult, especially if you have Michael Sorens's guide at hand. After dealing in previous articles with checkouts and commits in Subversion, and covering the various file-manipulation operations that are required for Subversion, Michael now deals in this article with file macro-management, the operations such as putting things in, and taking things out, that deal with repositories and projects.
Categories: Communities, SQL Server
5 reasons why I almost loved WPF
Should you try WPF - I say yes. If nothing else it gives you a great new perspective on how UI programming could work, perhaps you'll stay in the WPF world or use your knowledge in HTML5

Categories: Communities, SQL Server