SQLServerCentral - www.sqlservercentral.com

A community of more than 1,600,000 database professionals and growing

Featured Contents

The Voice of the DBA

Picking the Right Type of Tool For the Job

Today we have a guest editorial from Andy Warren as Steve is traveling.

I imagine most of you have heard the bit of wisdom that says "use the right tool for the job". I think generally that's good advice, but perhaps not applied as often as it should be. Sometimes it’s because we don't recognize the problem as having a particular type of tool that applies. Sometimes it feels like overkill to get the "right tool" either due to cost or because it will only be used once. Sometimes it's because we're not comfortable learning a new tool or worry that we'll spend more time trying to master it than we get back in productivity. I've fallen into all of those traps more than once!

I made a note to write about this after wrapping up a project recently. I work for a small company on a small operations team. We don't usually take on projects that span months or have a lot of dependencies or need down to the minute planning. Trello (or anything in that class) combined with a weekly meeting works well for our needs, though sometimes we'll have a spreadsheet with details or a rough outline. Informal and effective - for our usual work.

The project was a colocation facility to cloud migration. Over the course of months we marched along to our plan using the tools we usually use. When it was time to plan the actual switchover, we started listing tasks in the spreadsheet and that still worked well. Until we got to the point of determining how long we expected to take during the planned outage window. We put in the tasks, rough estimates on the duration of tasks, and then hit the wall when we needed to see what work could be done in parallel. It's not that you couldn't figure that out in a spreadsheet, but was it the right type of tool?

I proposed using MS Project because it's designed for that type of problem, and I had used it just enough to think it wouldn't cost us a lot of time to move to it. The team didn't respond with enthusiasm. Using MS Project for a plan with 80 or 90 tasks? MS Project is for, well, big stuff! I loaded up the task list and at the next planning meeting it took everyone about two minutes to realize that yes, this is better. Not much different than a spreadsheet for entering tasks and you get a lot of extra capabilities.

So at that point we were (arguably!) using the right type of tool for the job. But was it the right tool? For figuring out the plan it worked fine, but we were trying to plan tasks that in a lot of cases had a duration of five minutes or less (shut down this service, confirm this matched, etc) and we couldn't get Project to show it quite as well as we wanted in a gantt chart.

As we continued to plan we knew that we'd need to have multiple people making edits for a while, that we'd need to put the live view up on status monitors, and that trying to get everyone using Project was one more thing to do. With the plan pretty much in place we spent a couple of hours looking at web based alternatives and found several that would import a Project file and of those one that was both pay as you go and had just the gantt view we wanted.

We'd gone from a tool to the right type of tool to the tool that best met our needs. Good stuff.

Andy Warren from SQLServerCentral.com

Join the debate, and respond to today's editorial on the forums

ADVERTISEMENT
SQL Provision

NEW SQL Provision: Create, protect, & manage SQL Server database copies for compliant DevOps

Create and manage database copies effortless and keeps compliance central to the process. With SQL Provisions virtual cloning technology, databases can be created in seconds using just MB of storage, enabling business to move faster. Sensitive data can be anonymized or replaced with realistic data to ensure data is protected as it moves between environments. Download your free trial

SQL Compare

The industry standard for comparing and deploying SQL Server database schemas

Trusted by 71% of Fortune 100 companies, SQL Compare is the fastest way to compare changes, and create and deploy error-free scripts in minutes. Plus you can easily find and fix errors caused by database differences. Download your free trial

Featured Contents

 

PowerShell Tool Time: Building Help

Mike Fal from SQLServerCentral.com

Learn how you can customize the help for your library of scripts in this edition of PowerShell Tool Time. More »


 

Forwarded Fetches and Bookmark Lookups

Additional Articles from Brent Ozar Unlimited Blog

If someone says clustered indexes slow you down, they haven't read this. More »


 

What's New in the First Public CTP of SQL Server 2019

Additional Articles from MSSQLTips.com

In this article we look at the first public CTP release of SQL Server 2019 and some of the great new features that will be part of SQL Server 2019. More »


 

From the SQLServerCentral Blogs - Don’t Just Rely on Query Execution Stats for T-SQL Execution

Matthew McGiffen from SQLServerCentral Blogs

I recently had an incident where I was looking into the cause of a long running process for a client.... More »


 

From the SQLServerCentral Blogs - Moving Objects to a New Schema

Steve Jones from SQLServerCentral Blogs

Another post for me that is simple and hopefully serves as an example for people trying to get blogging as... More »

Question of the Day

Today's Question (by Steve Jones):

What features are not supported on SQL Server 2017 for Linux as of Sept 1, 2018?

Think you know the answer? Click here, and find out if you are right.


We keep track of your score to give you bragging rights against your peers.
This question is worth 1 point in this category: SQL Server on Linux.

We'd love to give you credit for your own question and answer.
To submit a QOTD, simply log in to the Contribution Center.

ADVERTISEMENT

Microsoft SQL Server 2017 on Linux

This comprehensive guide shows, step-by-step, how to set up, configure, and administer SQL Server 2017 on Linux for high performance and high availability. Written by a SQL Server expert and respected author, Microsoft SQL Server 2017 on Linux teaches valuable Linux skills to Windows-based SQL Server professionals. You will get clear coverage of both Linux and SQL Server and complete explanations of the latest features, tools, and techniques. Get your copy from Amazon today.

Yesterday's Question of the Day

Yesterday's Question (by Eirikur Eiriksson):

Overloading of functions is something that is not native in the T-SQL syntax convensions, it does though happen behind the scene, so be aware!

A fact: we know is that normally, the replicate function only returns up to 8000 characters or 4000 characters for the double byte character types. How can we make the function return longer string values?

Answer: Declare the input argument as a max type

Explanation:

Functions overloading is not transparent in the SQL Server's implementations and can cause some confusion. The rule of thumb, which is not found in the BOL, is that the input data type directs the overloading, something that is rather obvious when one comes from a procedural background but not for any newcomers to the set based platforms. Haven't found solid references yet so feel free to contribute!

Ref: Replicate - click here


» Discuss this question and answer on the forums

Database Pros Who Need Your Help

Here's a few of the new posts today on the forums. To see more, visit the forums.

SQL Server 2017 : SQL Server 2017 - Administration

ALTER TABLE statement took down database - HELP please to stop it happening in future - DISCLAIMER:  I'm a dev rather than a DBA. We use Log4Net to capture database interactions - lots of INFO messages, a few...


SQL Server 2017 : SQL Server 2017 - Development

Finding when date changes for customer in table - In table UserData, it accumulates rows for users every time there is some sort of transaction.  Looking to pull in this...

LEFT JOIN - Hi, I have a View, when I select from this view I get 10 rows back. Now I LEFT JOIN another...

Referential Integrity vs. Performance - I haven't posted in this forum for a while so please forgive me if my post question isn't in the...


SQL Server 2016 : SQL Server 2016 - Administration

Backup - I need to take a  adhoc full backup on a prod server. Can I take the backup with out copyonly...

Job schedule with availability groups ( 4 nodes ) - Hello, We seem to be having an issue of a SSIS job running on all nodes instead of only the first...


SQL Server 2016 : SQL Server 2016 - Development and T-SQL

UNIONs + PK-violations - Hello, Some background first: I have some XML Export tracking order changes. For this we use change tracking on order / row tables...

How to use HASHBYTES function in sql server for multiple columns - I have a requirement wherein I have to create hashvalue which consist of all columns of a table. With Checksum...

Importing from XML to SQL 2014 - This is my 4th day on SQL so I am a newbie. I created a query to import from an...


SQL Server 2014 : Administration - SQL Server 2014

AlwaysOn High Availability and Statistics - Hi All  I have a 4 node AlwaysOn environment running the latest service pack but not on the latest cumulative update...


SQL Server 2014 : Development - SQL Server 2014

Size taken by NULL - Hi Experts, We have a column with 136 columns and out of which 21 columns are NULL for the total 65000...


SQL Server 2012 : SQL 2012 - General

Need opinion on hardware for SQL Server 2012 Standard Edition (64-bit) - Hi, What is the minimum best hardware for Microsoft SQL Server 2012 - 11.0.5058.0 (X64) May 14 2014 18:34:29 Copyright (c) Microsoft Corporation...

Long Path Names to Files on SQL Server Installation - I'm getting a rule check fail "Long path names to files on SQL Server Installation media failed" when installing SQL...


SQL Server 2012 : SQL Server 2012 - T-SQL

Resizing a VARCHAR/NVARCHAR column with indexes - I discovered something interesting today while trying to resize a VARCHAR column. Resizing fails with the following error: The index 'IX:MyIndex'...


SQL Server 2008 : SQL Server 2008 - General

Conversion error - Hi  Using query_string, I am trying to run  below statement and getting error..        CREATE TABLE #TEMP1 ( date_time datetime);     SELECT * from #TEMP1     DECLARE @STARTTIME...


SQL Server 2008 : Data Corruption (SS2K8 / SS2K8 R2)

SQL Database corruption issue - We are suddenly getting a lot of errors in a 160GB database along the lines of SQL Server detected a...


Cloud Computing : SQL Azure - Administration

What are the steps to migrate an on-prem SQL db to Azure SQL? - Almost 4 years ago I blogged about migrating a on-premise SQL database to Azure SQL. I'm sure that in the...


Reporting Services : Reporting Services 2008 Development

How to print patient information on each page of report - I need to print patient names on each page of a report. Some reports may have multiple pages. Any thoughts?


SQLServerCentral.com : Articles Requested

DBCC FREEPROCCACHE - Looking for a basic article on how to use this, especially why not to do this on prod, or any...

Choosing columns for Clustered Index.. Why it is so important? - I wanted to write an article on Choosing the right columns for Clustered Index and Why it is so important?...

This email has been sent to newsletter@newslettercollector.com. To be removed from this list, please click here.
If you have any problems leaving the list, please contact the webmaster@sqlservercentral.com.
This newsletter was sent to you because you signed up at SQLServerCentral.com.
Feel free to forward this to any colleagues that you think might be interested.
If you have received this email from a colleague, you can register to receive it here.
This transmission is ©2018 Redgate Software Ltd, Newnham House, Cambridge Business Park, Cambridge, CB4 0WZ, United Kingdom. All rights reserved.
Contact: webmaster@sqlservercentral.com