Problems displaying this newsletter? View online.
SQL Server Central
Featured Contents
The Voice of the DBA

The History of the VCS

This editorial was originally published on Sept 14, 2015. It is being re-published as Steve is out of the office.

I’ve been looking for ways to convince more DBAs to use a version control system for their code. I realize that many of you have gotten along without them for years, but that doesn’t mean it’s a good idea. A VCS is like a safety net, and someday you’ll be glad you have one.

Recently I was reading about the history of VCS, and ran across some interesting posts. One on some amazing things, and another that has a timeline, showing us to be in a Renaissance period. If this is the Renaissance, then what comes next? I can’t even imagine, but I suspect someone will improve the process.

It’s incredible to think about the ways in which we’ve managed versioning code in the past. I’m sure most of us have used comments to both document as well as preserve old code. Some of us have worked with simple backups of files, one per day (for a week or month), or dealt with a first generation system where only one person could work with a particular file.

The move to CVCS systems, like TFS or Subversion, was a major improvement, allowing everyone to work on all the code, and merge their code with others when they needed to commit. That’s a system many of us inherently understand. It’s what we would do in an offline system. However the DVCS systems (Git, Mercurial), are much more complex, and they can be confusing. However separating the ability from committing changes to performing the merge can be valuable, especially in distributed development.

More and more tools are integrating version control, including for database code. Whether you like or hate TFS, it includes lots of additional functionality to allow bugs, features, and other workflow items to link to the VCS items that solve them.

The choice of which system works well in your environment will probably be driven by arguments from your development staff. Some will prefer one interface over another or feel the need to work offline, but I’m not sure it really matters which system you choose. I’d pick one of the modern CVCS or DVCS systems and use it.

That’s what’s really important; you need to use the system and track your code. It’s frees you as a developer, allowing you to clean up your code, remove excess comments, and easily find out what worked (or didn’t) in previous code.

Steve Jones - SSC Editor

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

  Featured Contents

Dos and Don’ts of Dynamic SQL

Thom A from

A few of my personal Dos and Don’ts when using Dynamic SQL

Call SQL Server Stored Procedures with PowerShell using Parameter Objects

Steve Jones - SSC Editor from

In this tip we look at how we can use PowerShell to validate input values into SQL Server stored procedures prior to execution of the stored procedure

Processing Data Using Azure Data Lake, Azure Data Analytics, and Microsoft’s Big Data Language U-SQL

Additional Articles from SimpleTalk

Data analytics has become one of the powerful domains in the world of data science. An enormous amount of data is being generated by each organization in every sector. Computer science has found solutions to store and process this data in a smart way through a distributed file system. One such example is Azure Data Lake. It uses the Hadoop Distributed File System, and to perform analytics on this data, Azure Data Lake storage is integrated with Azure Data Analytics Service and HDInsight. In this article, Suhas Pande will explain how to store data using Azure Data Lake and how to perform data analysis on it using U-SQL, a big data SQL and C# language.

From the SQL Server Central Blogs - It’s all just data.

Kenneth.Fisher from SQLServerCentral

Tables, stored procedures, views, logins, constraints, etc, etc. It’s all just data. In every database system I’ve ever worked on … Continue reading

From the SQL Server Central Blogs - What is Implicit Conversion?

SQLEspresso from SQLServerCentral

Another quick post of simple changes you can make to your code to create more optimal execution plans. This one is on implicit conversions. An implicit conversion is when…


  Question of the Day

Today's question (by Steve Jones - SSC Editor):


Azure SQL Database User

I have a user, Tiger, that exists in my Azure Active Directory. The domain is PGA. How do I add this user in my Azure SQL Database?

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


Redgate SQL Change Automation


  Yesterday's Question of the Day (by Steve Jones - SSC Editor)

Message Type Validation

Which of these is not a validation type for a Service Broker Message Type?

Answer: Matching Closing Tags

Explanation: There is no validation for Matching Closing Tags in a message type. The validation items are:

  • Empty
  • None
  • well formed XML
  • Valid XML against a schema collection.


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.

Unable to Successfully Connect Using SQL Server Alias - I’ve tried on four different SQL instances on three different computers to configure a SQL Server alias and then connect to that SQL instance using SSMS on the machine that the alias was configured on. Each time I get the standard error message from SQL Server when it can’t find the SQL instance name being […]
Is there a way to walk "up" from current XML node -
AG Setup - I was thinking to configure Always on to 2 different secondary, one in DR Async  and one in same site with Sync mode and then configure replication from secondary replica. I was thinking this would not be a best option when there is a fail-over  the replication redirection would be question? However, checking to see […]
Using Cursor in DELETE statement - I have a need to use a SQL Cursor in order to delete data from a table, one row at a time (to prevent issues with a trigger associated with the table being deleted from).  I wrote the following SQL, and while it is not producing any errors, it is running very long and eventually […]
Reports - Run time of reporting query is less when running directly against the SQL Server Vs Reporting tool. So running reports from third party reporting tool takes more time. Have you came across this problem. Any advise?
Connection to Integration Service Failed - I am using a trial of SQL Server 2017.  SSIS worked. Untill i change Log On As to Local Service. Please help?
Parse In/Out Times into one or more Shift Codes - Once again, I come to rely on this helpful community. For a while now, I have been struggling with a problem that (even if it is more or less solved with application procedural code) would greatly benefit if it could be solved at the database level. Explaining the business case is a bit difficult but […]
Incrementally loading a very large Dimension table – Performance problems - Scenario:  I have a very large type-1 dimension table (50+ million rows and 15+ GB with page compression) in a SQL Server 2016 SP1 64 bit Enterprise Edition database loaded from an SAP data source using Theobald Xtractor.  I am required to perform both INSERTs and UPDATEs on this dimension daily which I do by […]
Status Update 24 Apr 2019 - We had a few days off for the Easter holiday and I got busy with other work yesterday, but a little progress. First, we still are short a developer as there is a delay in bringing on another resource and a couple internal resources got pulled for some higher internal priority stuff. The nature of […]
SQL VIEW works on its own but not when combined - Hi there, I have around 12 views and that works perfect if I execute them individually but when I combine them using UNION ALL it takes long time to execute and results in a time out error. Each view is bit complicated and brings back huge volume of data and they are grouped Please throw […]
Master Data Management (MDM) Tools by Microsoft - I have different data sources, applications having similar customer data. I want to sync them across them so that we do not have to find one customer in specific datasource/application and place all customers profile under one master database. How do Microsoft provide solution for this? any MDM DB tool y Microsoft available? Please share […]
AOAG endpoint won't connect - Hi, i’m not able to change the status of my hadr_endpoint do “connected”. It always show the status “disconnected”. I droped the endpoint, changed the endpoint owner, and changed the connect permission to the user, who starts the sql servives. But nothing change. Had someone any ideas, what to do? I won’t setup the AOAG […]
Splitting a multi-dimensional Array in SQL Server 2012 - Hello, I have data from an Orders table that has 4 columns, in which 2 contain data in a multi-dimensional array (ClassAttendees and ClassTickets). I am having trouble splitting the array in SQL server 2012. I would like to create a child table from the array that referenced the original OrderId, and held Class Attendee […]
Troubleshooting with. wait stats (last 2 weeks included) - I’m troubleshooting a slow SQL Server. Our server team is adamant it doesn’t need more memory or CPU. I’ve been working through the wait stats, but can’t figure out where to hunt next. Here is a link to an Excel sheet with stats, and below is a description of the tabs: WaitStats – I’ve […]
grant user read only whole server - Hello — I should know this…  but is there any way to grant a user global read-only access? We replicate our production server using log shipping, and we use the replicated copy for reporting purposes.  We have a few users who we would like to give read-only access to this copy.  However, the databases are […]


RSS FeedTwitter

This email has been sent to {email}. To be removed from this list, please click here. If you have any problems leaving the list, please contact the This newsletter was sent to you because you signed up at
©2019 Redgate Software Ltd, Newnham House, Cambridge Business Park, Cambridge, CB4 0WZ, United Kingdom. All rights reserved.


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -