LessThanDot Site Logo

LessThanDot

A decade of helpful technical content

This is an archive of the posts published to LessThanDot from 2008 to 2018, over a decade of useful content. While we're no longer adding new content, we still receive a lot of visitors and wanted to make sure the content didn't disappear forever.

Exploring Reactive Extensions – Testing

Now that the setup is out of the way, let’s look at how we can get this stuff tested. I’m a bit more interested in the observable side of the relationship so I’ll start there, looking at the method using winforms events first. Testing our Send method when using events is just a matter of checking to see if the event we expected is raised. If we were doing this for real, we’d want some kind of mock handler that records not only whether it was called but what parameters were passed, etc… But for simplicity’s sake we will just capture whether or not the handler got called.

Read More...

T-SQL Tuesday #13: Is that what you really want?

Steve Jones ([Twitter][1] | [Blog][2]), The Voice of the DBA, is hosting the T-SQL Tuesday blogging fest over on [SQLServerCentral.com][3] this month. This months topic involves businesses and what they really want.As many of you know, I am the owner of a small software company that satisfies a niche market. I've been in business for 13 years now, and am still working on the same core application. I constantly find new features and functionality to offer in the app, continually improving it for the benefit of my customers. I think it's safe to say that I understand the technical challenge that my software accommodates, as well as the business implications involved. I also have a very good appreciation for the logistics involved in the business process, and the most efficient ways to accomplish the business goals.Occasionally, we will come across a customer that thinks their method of accomplishing the business's goals is the only correct one, even though my experience clearly indicates there is a better (more efficient) way. I was talking to Ted/onpnt ([Twitter][4] | [Blog][5]) yesterday about this very same topic. The conversation went something like this:**George:** You should see the frickin hoops I gotta jump through for this one customer. I feel like a whipping boy. Ted: what did they have you doing??

Read More...

T-SQL Tuesday #013: What Does the Business Want?

Steve Jones (@way0utwest | blog) is hosting this month’s T-SQL Tuesday blog party. The official topic this month is: “What issues have you had in interacting with the business to get your job done?” Learning the Business Until just a few weeks ago, when I changed jobs, my primary job was to write (and edit, and manage) reports for the business. I spent three years working at this for a small company. I learned, after the first few reports, that my job wasn’t simply to write a query and drag fields onto a table. The job was much more involved than that. I found out that not asking questions beforehand often meant I’d spend more time redoing my work than I had building it the first time around.

Read More...

T-SQL Tuesday #13: What the Business Says Is Not What the Business Wants

Steve Jones ([Twitter][1] | [Blog][2]), The Voice of the DBA, is hosting the T-SQL Tuesday blogging fest over on [SQLServerCentral.com][3] this month. The topic is one that has been a battle between DBAs, Developers and even managers since the creation of computing in the business itself. It causes heated arguments, career changes, trips to your psychiatrist and worst of all, more work and over-thinking that is ever needed for some projects. _What the Business Says Is Not What the Business Wants_.**The common theme**Business is growing, data is growing and your reporting solutions are suffering. The Business comes to your hard working, Grade A Senior DBA and asks, "We need cubes and cool software to fix this slow and lame reporting issue we have".The next steps in your reply to this question are the most critical to your OLTP database servers and countless sleepless nights trying to maintain endless database server problems.**The Business** Let's get something out of the way: Business doesn't care what you need to do, they want it now and they want exactly what they want. I'm not against third party reporting solutions, cube generators and so on. In fact, some of them are brilliant, intuitive and functional tools that are extremely efficient. I've been involved in decisions to purchase some of them and implement them. They were all good experiences and successful for the most part.**Not what they want** What the business is venturing into here is OLAP (Online Analytical Processing). OLAP sits on a warehouse (or multiple warehouses). A warehouse in general is a data source in which one or more OLTP (Online Transaction Processing) data sources have been taken and collected into the centralized data source. In most cases these OLTP data sources are denormalized for enhanced performance. Denormalization is the method in which tables that have been normalized to some degree are taken and combined into one larger table. This is all done while still retaining some integrity in keeping the data free of corruption (or making it dirty). In all, denormalizing creates a great deal of redundancy. Redundancy in reporting is normal though. OLAP database servers are meant to handle this type of design with different configurations and hardware to ensure processing is as fast as possible given the designs.Recall the business request of throwing the vendor product into the existing database landscape in order to resolve the reporting issues. The key that is missing is the need for a warehouse to sit behind that reporting solution. Without this critical planning and implementation stage, reporting tools will not become a solution but only worsen the already troubled situation. Now instead of reports that were created and reading from the OLTP sources, there will be cubes processing on-demand, users pulling directly from the OLTP sources with much higher level calculations and resource consumption will start to occur at much greater levels. **Give them what they want** Even if you are one voice in a large data team, it is your job to speak up, knowing the problems that will endure from not properly putting the data source in place that the reporting solutions should be utilizing. Yes, implementing a warehouse will take months and a large amount of planning and work. The fact remains, though, that without the proper planning and implementation, your nights will be longer. As hard as it is to sometimes to remember, business looks to you as a database professional to make the right choices to better the business. These types of implementations are a large part of that.

Read More...

Digsby and how to do it right

Today I noticed that Digsby (my favorite chat client) has added ads underneath the chat window. So I might have posted something on twitter. And Digsby replied. And here you see that setting. And here you see the result. And I’m a happy camper.

Read More...

SQL Server: Starting a Server-Side Trace

Stop me if you’ve heard this one…a programmer walks up to a DBA and says, “The database is slow.” One of the many performance tuning and troubleshooting tools in the SQL Server DBA toolbelt is Profiler. You pick events you want to see, set up a trace, and watch the events roll by. The problem is that this graphical tool, especially when run from a workstation, can place a heavy load on the server.

Read More...

Build your resume for the position

I thoroughly enjoy interviewing people. I take it the same as getting to know everyone in the SQL Community. Even with such a limited time to directly talk about a person’s experiences and skills, you can really dig deep into how a person confronts the daily trials of holding a position as a database professional or developer. At the same time, the interviewee has the same opportunity to reverse the conversation and do the same interview back. I must say, when someone does that, I am extremely impressed.

Read More...

TeamCity 6 and Dotcover

Introduction The new Teamcity 6 has dotcover support for absolutely free. So you should use it. Here is how I set it up and what problems I had. How to set it up. It’s insanely simple. In your Nunit build step go to the bottom and select JetBrains dotCover as your .Net Coverage tool. Select your runtime and version and you’re done. Simple as pie. Problem However mine did not create a report but it did add an error to the build log.

Read More...

SSRS: How to monitor report subscriptions

As we all know SQL Server Reporting Services is a very powerful tool that gives end users a multitude of ways to retrieve data. One such way is through subscriptions. Subscriptions can be created by both Administrators and end users. So as an administrator it is difficult to keep track of what subscriptions are running and when they are running. It can also come as a surprise when the Director of a department comes to you to ask where his report was this morning. As a DBA we must always know before the end user when there is a problem. So how can we know if subscriptions are running successfully? There is actually a very simple query. When a subscription is created a record is added to the dbo.Subscriptions table in the ReportServer database. There is also column in that table named LastStatus. That column is update with the LastStatus of each subscription after the subscription is executed. I have written a query that selects records where the LastStatus was not successful. The path field in the query will show you where you find the report. This way you can go in to correct the subscription if the problem is with the email recipient.

Read More...

Teamcity 6 upgrade from teamcity 5

Introduction Teamcity 6 came out and I upgraded. TeamCity is free so I see no reason why not to use it. And if there is a new version we just have to have it like woman need new shoes. Here is my adventure with the upgrade. Install Just download it and click install, then click next a few times and finish. And all worked pretty much from the first go.

Read More...