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

Should Salary Information Be Confidential?

Today we have a guest editorial from Andy Warren as Steve is on holiday. This editorial was originally published on 5 June 2015. 

Salary is a tough topic. We’re reluctant to talk about it for fear of causing trouble, looking like we’re bragging, fear that we’ll find out we’re working for far less than we should be, because we were taught not to, and of course, many employers actively discourage it. Should we talk more about it?

One of the hardest parts of accepting a job offer is deciding if the salary is right. We start by comparing the offer to what we make now (as well as all other benefits), but does the salary reflect our true value based on our skills and the market? How do we figure that out? Salary surveys are a start, though the hodge podge of job titles makes it tough to know if we’re comparing apples to apples. Sites like Glassdoor can really help if your prospective employer is listed. Wouldn’t it be nice to know what they have been paying for the job title? We can ask recruiters about the market (before the offer!) and friends in the industry as well. Combine all of those, and we get a rough view of what we’re worth. Not perfect, but useful.

We all work to take care of family and while benefits and challenges matter, money pays the bills. Why would we not try to maximize our salary for a given position? Should we just trust that the new employer will pay us fairly? You have maximum leverage on salary before you’re hired. After that you’re subject to the rules set by HR that limit the amount and frequency of raises. Focusing on money up front is important because you have little leverage after that (which is why so many employees leave to make more money). Getting the best deal is hard without a good understanding of the market and the employer.

HR departments tend to be the equalizer, which is good and bad. The good is that they prevent managers from under paying employees based on the job title/level and they try to keep the salaries aligned with the local market. The bad is that they set caps to keep managers from over paying and those caps are often unrealistic, both in terms of initial hiring and future raises. A good question to ask during an interview – when was the most recent salary analysis done for the position in the local market? That may give you information, leverage, or both!

I can appreciate the pain it can cause for managers in the form of “why does Steve make x more than I do?” type questions. I don’t think those are all bad. Either you can voice a reason that you see as valid for the differential, or you give them a raise. The pain is more perceived than real. I’ve never seen a case where all the employees from a team lined up to get equivalent salaries.

It does annoy me when employers demand that salaries be treated as confidential. My unofficial understanding is that such a demand isn’t legal (see this article for more). Legalities aside, in practice if you discuss it and it becomes an issue you may well end up being fired, just probably not for that particular reason. The annoyance factor for me isn’t the legal case though, it’s the idea that managers are supporting a policy that they should disagree with as employees themselves.

Is transparency the answer? Buffer published their salary list. The State of Florida publishes the salaries of college teachers. The Department of Defense has standard salaries across all the branches (transparency and standardization). I don’t know if transparency is the right answer in all cases, but I can see it being simpler for employers – no more secrets, and a real reason to keep salaries at or above market levels. Would it cause a few hard conversations? I’m sure it would.

I think we should talk more about it. Carefully. I’m not suggesting you contravene policy or otherwise risk your job. Common sense should rule, but perhaps think about scenarios outside of your company (including salary surveys) where you’d be willing to share information in order to get information back. It’s not all about the money, but money does matter.

Andy Warren

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

Redgate SQL Prompt
  Featured Contents

A Self-Tuning Fill Factor Technique for SQL Server – Part 2

Mike Byrd from SQLServerCentral

Introduction Fill Factor is a parameter most of us have ignored because there is no definitive way to calculate what the correct value should be. Part 1 of this series describes a new technique to dynamically determine index fill factors for all indexes within a database. Part 2 covers an analysis of the data collection […]

Graphical Tools for Accessing Azure Cosmos DB

Additional Articles from Database Journal

While the most common methods of interacting with Azure Cosmos DB involve programmatic access, there are times when you might want to perform a quick change or take a peek at some of documents in a collection. In such instances, it is typically more convenient to rely on the graphical interface. Fortunately, there are several options you can use to accomplish.

Fast and Reliable Development with Redgate Solutions for SQL Server

Press Release from Redgate

Thursday August 29 18.00-19.00 BST / 10.00-11.00 Pacific - Register for this Microsoft hosted webinar to learn how Redgate tools for SQL Server help deliver software quickly.

From the SQL Server Central Blogs - Constructing a datetime from an integer date and an integer time.

Kenneth.Fisher from SQLStudies

Occasionally I’ve seen date and time stored separately as integers. This had some practical applications back before we had date ... Continue reading

From the SQL Server Central Blogs - Using Azure Automation to Shut Down a VM only if a SQL Agent Job is Not Running.

Meagan Longoria from Data Savvy

I have a client who uses MDS (Master Data Services) and SSIS (Integration Services) in an Azure VM. Since we only need to execute the SQL Agent job that...


  Question of the Day

Today's question (by Evgeny Garaev):


SQL Server Transaction Log Architecture

I have a database on a SQL Server 2017 instance. The database has a 1 GB transaction log file with the growth set to 100 MB. When the auto growth of the transaction log file happens, how many VLFs will be created?

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



  Yesterday's Question of the Day (by Thomas Franz)

Minimalistic SELECT

What will be the result of the following Statement:

SELECT 1.test;

Answer: an integer column with the name [test] and value 1

Explanation: Don't ask me why (I'd guess it is some old compatiblity stuff), but the SQL server interprets this Statement as

SELECT 1 as test;

and returns an integer column with name [test] and value 1^. By the way, try this code:

SELECT '1'.test 

SELECT AVG(1+1).test

These would both throw error 258 - Cannot call methods on varchar. At the same time, this code:

SELECT 1+1.test

SELECT 1 + 1.test

both work.  

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 - Administration
disable CEIP - Hi everybody, I just want to know, how to disable the CEIP service. I know this two links: SQL Server 2016 – SQL Server Telemetry CEIP Services Disable or Turn-off SQL Server Telemetry Service But on this microsoft page, they tell me, that the CEIP service had to run, otherwise my support maybe lost: "Removing […]
SQL Server 2017 - Development
Convert Seconds to Minutes - Guys, is there a way to add a new column to show HH-MM-SS ( as per below example).  In excel for example i would simply divide the seconds by 86400 and change the format in the column to hh-ss-mm. IF OBJECT_ID('tempdb..#Log') IS NOT NULL DROP TABLE #Log SELECT * INTO #Log FROM (VALUES ( '10', […]
CAST FOR XML - Illegal Name Character - I am trying to write a query that generates an html report to be emailed and one of the columns is a hyperlink to our report server that we can click on from the email and it will open the report in report browser.  It needs to pass the row value as a parameter to […]
SQL Server 2016 - Administration
Replication Error - TCP Provider: The semaphore timeout period has expired.  - Experts, We are facing an issue with one of the replication subscriber. There were already two subscribers and replication is working fine since long time for both. Recently added one more subscriber and while configuring replication we are getting the below error. TCP Provider: The semaphore timeout period has expired. This error occurs with ONLY […]
Revert a database to a DB Snapshot - We are a product based company and using SQL Server as backend. Whenever there is a new version of OUR product released, we will upgrade the product for all our SaaS customers  and upgrading the product across all the SaaS Customers have been automated. As a pre-upgrade process, we will take DB Snapshot and if […]
SQL Server 2016 - Development and T-SQL
Get the inactive records in sqlserver - HI Team, please help to get the expected data. my Data like below: create table #comapny ( companyid int, childname varchar(100), activeid int) insert into #comapny select 1,'aaa',0 union ALL select 1,'bbb',0 union ALL select 1,'ccc',1 UNion ALL select 2,'ddd',0 union ALL select 2,'eee',0 union ALL select 1,'fff',0 select *from #comapny Existing Data: companyid childname […]
Administration - SQL Server 2014
Data Migration - Hi , Our new project demands migration of data from Oracle database to multiple SQL Server databases. We are planning to go with SSIS package to achieve this. Is there any better way to achieve this?
DBCC8 File - Hi, There is a X._mdf_mssql_dbcc8 file on one of the drives occupying 350GB. I hope it got created due to DBCC CheckDB on database and whether can it be deleted and what information are recorded in it. Will it affect the database if it's been deleted?  Any idea how it got created?  
Development - SQL Server 2014
Primary Key and Clustered Index - A topic I always get confused with is primary key vs. clustered index. I have an understanding of what each is and/or is not but I struggle with the application of the two. Suppose I have a table with an account number field in which all account numbers are unique. Is it worth having an […]
odd error message in function in a proc - I have a cursor which has calls a function (sorry for  design this is a 3rd party db).  Odd part is there are 10 rows in the cursor select, only every other row gets updated, next row gets error below.  This happens no matter what the sort order is, one row works, next row errors, […]
SQL Server 2008 - General
Data Migration Assistant errors - dacpac and openquery failures - Hi all, I am attempting to use DMA to assess an upgrade from 2008 R2 to Asure SQL on VM. Our database has linked servers and many views that use openquery. I'm receiving a lot of errors running DMA. First is 'Failed to extract dacpac at location 'C''. Second is a load of errors like: […]
Reporting Services
Trimming then adding text - Hello I have an output in my queries that gives me: xxxxxxx xxxxxxxxx : 123456 (xx) - xxxxxxx... or xxxxxxx xxxxxxxxx : 123456789 (xx) - xxxxxxx... basically text before either a 6 or 9 digit number then text after I've created a column in a table in SSRS that just shows the number, and I used this […]
Integration Services
Scalable SSIS Package - Single SSIS package across 50 different projects - Hi All, I have a successfully running SSIS package which has been created for a single project. It works over a pipe-delimited file and pulls the data from the source, and loads it directly into the destination table. For each projects, I am using the same job to execute based on a job execution table. […]
How to make in memory SQL transformations within a data flow task - Hi all, first of all, I am new to Integration Services. I googled everything so far, but I do not find any answers on my question. So I hope anybody of you can help me out :-). Currently, I am migrating an T-SQL ETL process to SSIS to see the benefits in parallel executions and […]
CASE statement headache - Hello I have an output in my queries that gives me: xxxxxxx xxxxxxxxx : 123456 (xx) - xxxxxxx... or xxxxxxx xxxxxxxxx : 12345678 (xx) - xxxxxxx... or xxxxxxx xxxxxxxxx : TEST12345678 (xx) - xxxxxxx... basically text before either a 6 or 8 digit number then text after.   Ideally I'd like to be able to CASE this column so […]


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.


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