Quickly find the latest Replication error (Revised)

So, a few weeks back I posted a code snippet for how to quickly find replication errors in MSSQL.  At the time, I didn’t have the opportunity to address an issue in the script to properly call the system stored procedure sp_browsereplcmds. This resulted in the user having to manually copy and past a value from the first result to get the final answer.

(more…)

Never Uninstall

Working through some self-study using the latest version of Microsoft’s free developer tools, Visual Studio 2017 and SQL 2016 Developer, and I have been hitting some weirdness in doing simple things like applying code-first database changes to a simple project…

Turns out the culprit is artifacts left behind on my system when I (in theory) uninstalled the older versions of these tools to start with a “clean slate”.    So I’m spending what amounts to a couple of days of work debugging things I shouldn’t be debugging because no developer tool uninstall from Microsoft is truly clean.

I’m starting to think I should look at a virtual machine host for my development.  I did it all the time at my old company, so the interface isn’t a concern, and I could build a truly clean slate environment when I want to upgrade tools.

Who are you benefiting? The company or the customer?

Apple has a reputation for doing their own thing, often in the face of accepted assumptions. But when the changes a company makes detract from the benefits customers have grown to rely on, who benefits?

Apple’s latest iTunes update removed some of the key features of the app – managing apps on your devices, to name one – in favor of pushing their music and media services. But by eliminating this feature from the desktop version of iTunes, they have eliminated the key lock-in for using iTunes at all. There are plenty of apps – free or paid – that will use their API to sync music and movies to the your phone. But nothing really served that extra roll of managing which apps you have on which devices, and keeping them all up to date with the latest versions.

Code First Database Smells (I think…)

I’ve been a database developer (along with other skills) for most of my professional career.  My first real code was an automated data update tool in Lotus 1-2-3 for a distributed phone directory database.   I went on to cut my developer baby teeth in FoxPro, then grew up using Microsoft SQL.  When I think about a new application, I think about the database early, if not actually first.  So I have some biases…

I’ve used Code First principals when learning Ruby with a MongoDB database on the project, but I was too wrapped up in the newness to think about the impacts.   Now I’m working through a course on MVC in ASP.Net, using Visual Studio and MS SQL, so I’m on familiar ground.   And although the instructor gave reasoned arguments for why Code First is a good practice in his experience, as a database guy my first impression is that there are some smells.

(more…)

How to quickly find replication errors in MSSQL.

I encountered a situation today from a client who had a replication failure in their MSSQL database.  Short version, they had a record deleted manually from the Subscriber, then realized it was the wrong location and deleted it from the Publisher.   And if you know anything about replication, you know exactly what happened next…

deleted record replication error message
Deleting records at the subscriber is bad, Mmkay?

(more…)