Vendors and Clients, or How not to sell to me

Vendors, Customers, Community

I love vendors—I’m heavily involved with the SQL Server Community and the support of Microsoft and the many other vendors in our space makes our community possible. I recommend their software to friends; I know most of their evangelists. I’m not always the best customer, I’ll admit. I have done evaluations of vendor software I probably wasn’t planning to buy, just to be able share feedback and try to give a little back. Some vendors love this, others hate it. I’ve been slow in responding to follow up emails, especially after attending events, because I have other priorities than returning sales calls as soon as they come in.

Unfortunately, sometimes you have to deal with vendor sales reps who are focused so much on doing what’s right for them they refuse to hear what’s right for the customer (or prospective customer). They just won’t leave you alone. I understand these folks work off of commission, so they are trying to get a sale, and I (representing a Fortune 100 company) may represent a big target, but there is a right way and a wrong way to sell to me. Pissing me off is generally a bad idea.

Shortly after a SQL Saturday, I started receiving emails (to my personal account, not work) from a vendor I knew, but from a sales representative, whom I had never met. Remember, this is a SQLSaturday, so they would have my full name and company name from the registration. Even if I used a different email address, my name isn’t that common and he could have made a reasonable guess that I was the same person as the other person at the same company with the same name. Or he could have asked me.

The emails looked like the standard from the vendor—I’ve already worked pretty extensively with this vendor on evaluating their product. It will be a good fit for our future environment, but we just aren’t there yet. I mention this, because I’m 95% certain my name is in their sales lead system. If previous sales reps managed to have extended conversations with me about their product and didn’t add this to their sales lead system, then that’s another way that something went wrong. But I highly doubt that. About a week ago, I got this email from the sales rep.

How Not To Send an Email

I saw this email, I thought, “Wow this just comes off as really desperate and annoying. Even worse, I’m thinking this is the last person on Earth I want to work with in bringing in a solution to my company. It’s even more damning because I’ve worked with these folks before. I don’t know if this guy is my new sales rep, another rep trying to steal business from the other, or just naïve at how large enterprises acquire software. As my friend Karen Lopez likes to say “They will never treat you better than they did during the sales process”. I wonder if his boss knows he’s talking to prospective customers in this manner?

I will admit that occasionally things fall through to my spam folder. I sometimes don’t respond to vendor contacts as soon as they want. I probably should have let him know that I was already in their system and ask him to work with the other sales reps about the status of our project evaluations I assumed that he would look at the sales system eventually before making me do that data mining for him. The truth is I’m not going to have the time or resources to work with multiple competing reps at the same vendor. If I need to talk to someone there, I’ll work with one of the reps who I’ve already been working with.

This isn’t so much about the number of emails, but about the tone of the emails. I just don’t understand why a sales rep would ignore the data they already have about me and my company. Maybe this company pays sales people based on each contact? Maybe having lots of duplicate customers in the system benefits somebody?

I know trying to track down leads is a tough job. It requires a lot of follow up getting people to respond to voicemails and emails because so little of their time is allocated for investigating new software. If I responded positively to every request for a call or a demo from every vendor I come in contact with I’d be busy 100 hours a week doing just that.

It gets worse though.

These emails made me feel bad—as in uncomfortable, like I was obligated to reach out to the rep, and it was my problem. I am extremely thankful to all the people and companies who support our community, and would recommend nearly all of their products to serve specific needs to my friends and clients. In fact, I recommended this vendor’s product in a presentation I gave last week. Sales reps—just use your heads—if I’m not returning your email/voice mail/call to my dog’s cell phone/Linked In message, it means as a company we aren’t interested right now. Nothing more.

Starting a SQL Server Clustered Instance in Single User Mode

One of my DBAs came to me the other day with an issue—he was trying to start an instance in single-user mode in order to do an emergency repair on a database. But he kept getting blocked when trying to use the Dedicated Administrator Connection (DAC). After a bit of research (to be honest, and I’ve worked a lot with clusters, I’ve never had to do this to a cluster), it turns out that the cluster resource, uses the 1 connection available to SQL Server in single user mode, much like the SQL Server Agent can.

So what do we do to get around this issue? Follow these steps.

Remote Desktop into the node of your cluster that currently owns the SQL Server service. You can do this either by connecting the Cluster Network Name, or by checking who the Owner Node is in Failover Cluster Manager.

If you had a –M in your startup parameters, remove it now.


Take the resource name for the cluster offline—note this is not the whole clustered service or role—just the resource. You will still need the disks and IP address that the cluster needs to run. Note—you also want to make sure the SQL Server service and SQL Agent service are stopped, if your dependencies are correct this should happen anyway, but confirms.

Launch a command prompt, and issue the following command: net start MSSQLServer /m

Launch your DAC connection and do whatever work you need to do.

When you are completed stop the SQL Server service from your command window.

Go back to failover cluster manager and bring your Cluster Resource back online. Then restart SQL Server and SQL Agent. Green is good—if you have any services that don’t restart check the cluster and application logs in Event Viewer.

Hopefully, you don’t have to use the DAC that often—it’s usually a pretty bad situation when you do, but hopefully this post will save you some hassles when trying to do it.

Building an AlwaysOn Availability Group Part 1 of 3

AlwaysOn Availability Groups are a new feature with SQL Server 2012, which builds on top of a combination of Windows Failover Clustering and SQL Server mirroring technology. This document will illustrate the process of configuring an Availability Group in your environment. It is important to remember that the member nodes of this cluster do not need to have shared storage and may be in multiple data center locations.


The below steps should be performed before SQL Server is installed.



  1. After adding the Failover Cluster feature to each member node in the cluster, create a cluster. (This will require a Virtual Computer Object in AD, as well as a Cluster Management IP Address, just like a standard SQL Server Failover Cluster Instance)




  1. Configuring Quorum–if this cluster is housed within one data center, then it is acceptable to use Node and Disk Majority for the quorum model. However, if the cluster is housed across data centers (which will be the likely model) Node and File Share Majority should be used as the model. Any SMB share that both nodes can access may be used, ideally it should be located in a different data center than each of the nodes.






The cluster is now prepared for the installation of SQL Server 2012.





South Jersey User’s Group — Virtualization for DBAs

Tonight (7/23) I will be talking at the South Jersey SQL Server’s user group on Virtualization and what it means to your databases. We will walk through the terminology associated with VMs, and some best practices for how to configure and troubleshoot your databases on VMs.

The meeting is at the Haddon Heights library–we are in the basement when you walk in. You can register for it here.

My slides for tonight’s presentation will be available on Slideshare.
The link to the SSRS reports for vCenter are on Tom Fox’s blog here.
Denny Cherry’s blog on tuning the vCenter database is here.

T-SQL Tuesday—A Day in the Life


Last week Erin Stellato (b|t) posted a great suggestion for T-SQL Tuesday topic. A day in the life—basically chronicling what we do on a given day and writing about it in or more detail. My job title is Principal Architect-SQL Server, but in reality I cover a lot more than that. There are only two members of my team who really work with Windows, so we end bouncing a lot of ideas off of each other. Additionally, I’ve also worked a lot on that other database platform, which lets me interact with the Oracle folks on my team and even get in and do some testing from time to time. All that being said, my job is still kind of vague, we work to write a lot of documents, set best practices, and engage the teams we service, with varying degrees of success. I don’t carry a pager anymore, but the problems I attempt to solve tend to be a lot bigger then fixing a single database problem.

So here is my Thursday July 17, in all of its glorious detail.

5:30 AM—I’m up early, as usual. After reading some email on my phone, I make a cappuccino to get the blood going. I go out for a short (16 mi/25 km) bike ride, legs feel really good, and my power output is pretty good. Get back and take quick shower.

7:30 AM—Usually, I work from my office, which is a lovely 5 min (5 km/3 mi) commute from my house. But this morning I have a meeting at our corporate headquarters, which is in Center City Philadelphia. This means two things 1) I need to take a train to the office 2) I need to iron a shirt, because their dress code there is more stringent than my office. So I iron a dress shirt, pack my laptop bag and drive to the train station.

8:30 AM—I’m taking Amtrak into the city—the Amtrak train has WiFi, so I can catch up on and send some emails before I get to the office. I also, start working on my status report.

9:20 AM—I arrive at the our Corporate HQ, one of my teammates is working from home today, so I go up to the 40th floor and hijack his desk. I complete my status reports and have an IM exchange with one of my storage colleagues about some testing we are performing with a new SAN vendor. This will take up most of my afternoon.

10:00 AM—I have another conference call with a storage engineer, about the potential of creating a SMB share for a multi-site AlwaysOn cluster I am helping to design. There is some confusion about the concepts of a multi-site cluster, so I break out my handy Visio diagrams, and we reach mutual understanding.

10:30 AM—Meeting with a Systems Architect from a Major Software vendor and one of our lead database architects about our goals and strategy in coming years as they apply to databases. Most of this meeting was NDA, but it was quite entertaining, and we got a lot off of our chests. I was hoping this meeting would end a bit early, so I could catch a 12:15 train back to the suburbs, and be at my storage test at 1300, but no such luck. I check the Amtrak schedule on my phone and see there is a 12:45 train that I can make, that will only leave me a few minutes late for my meeting.

Note: Normally if I have to go to my office in the city (which is like 1-2x/month, typically), I spend the whole day there. Today, I had to get back to my normal office for some meetings with a SAN vendor, but I really wanted to attend that architecture meeting in person.

12:00 PM I contact one of the Oracle guys on my team, and ask if he can go down to the SAN meeting, as one of my tasks was going to be to install Oracle on the test servers. He had the time, so I didn’t have to sweat being a few minutes late.

12:05 PM I grab a quick sandwich from the food court in our building. Normally, I try to have a really light lunch as I’m trying to lose some weight, but since I was probably doing 2 bike rides today, I was happy to indulge in a pulled pork, provolone and collard green sandwich from Percy Street BBQ. I sit down and have lunch, and there a two college age guys next to me. One of them spent the whole time talking and trashing his girlfriend. Classy. My favorite quote was “she’s good enough for right now”. Dude—you’re a jerk, and you aren’t that hot either. Rant over.

12:45 PM Catch Amtrak back to the burbs, with 5 min to spare (why is it you are always running in a train station)

1:15 PM Get back to car, proceed to drive back to West Chester office.

1:30 PM Walk into storage meeting right on time—nothing is configured enough to begin testing, but we talk a little more and go through some features of the hardware.

2:00 PM Hardware vendor goes off into unrelated sales pitch of another product. I happened to sit through this sales pitch last month and thought the product was a steaming pile. I’m not happy at this point and proceed to vent on twitter. Followed by catching up on some SQL things I had been working on in the morning.

2:45 PM I sneak out of the conference room, and go upstairs to catch up on news with my Windows colleague.

3:00 PM Go back to conference room, and figure out the the vendor needs our test hardware for a demo they are doing tomorrow, so we can’t really do anything yet. Continue to get frustrated, but also work with the vendor to have a deeper understanding of their product.

4:50 PM After a long afternoon, I take off—I was hoping to get more accomplished with this hardware test, so we are a couple of days behind on that.

5:05 PM Get home, change directly from dress clothes to cycling clothes, I eat a piece of fruit and fill up water bottles.

6:00 PM Go to training race that I do on Thursdays. It’s been a big step in my fitness to be fast enough to complete this race, and I’m really starting to enjoy it. Not enough to get the racing bug again, but enough to feed my competitive needs.

7:25 PM Get home from ride. I’m generally really into food, but after a big day and a pretty hard ride, I don’t want to eat much. So I have a bit of pasta, watch the tour (that’s the Tour de France, for all of you non-cyclists), and catch up on email.

This was a pretty long day, and slightly atypical, though not that far from normal.

%d bloggers like this: