Problems displaying this newsletter? View online.
SQL Server Central
Featured Contents
Question of the Day
Featured Script
Ad for State of Database Landscape survey
The Voice of the DBA
 

Limiting the Ability to Concentrate and Collaborate

This editorial was originally published on Aug 27, 2018. It is being re-run as Steve is on vacation.

I used to have an office. I guess I have an office now, but it's not mine; it's shared with my wife. As I look back at my career, I realize that I've often taken a job that switched me from a more open working environment to an office, and back. Early in my career, we had cubes, which a few of us combined into an open 4 desk space at one point. Then I took a job with an office, then back to an open plan (10 developers in a room), then my own office, before ending up with my shared office. Actually, I'm always sharing a space. When I travel to the Redgate offices, they have an open plan, so I get a desk that's open to a few dozen other people.

I've gone back and forth on whether or not I want a shared space. I've come to the conclusion that it really depends on my job. When I worked as a sysadmin, where we were constantly collaborating with others, an open, shared space worked well. We could easily talk to each other, which was an efficient way to work.

When I've worked as a developer or a manager, I've preferred having my own office. The ability to concentrate for longer periods of time is helpful for me, and while headphones separate me, they aren't as private, as there can still be visual distractions as people move around. I've had people come up to tap me on the shoulder, which can ruin my concentration at times.

There's an article at Ars Technica that talks about a study showing that open plans result in much less productivity and even less interaction. That seems counterintuitive, as I'd expect an open plan to encourage more interaction. Indeed, when I'm at the Redgate office, I find that someone will often turn and chat with a friend. Or if two people are talking, it can become a watercooler atmosphere where others join in. There seem to be plenty of interaction.

When I've been at Microsoft, where everyone has a small office and most with a window to the hallway, I find lots of open and closed doors, with the former inviting others in and the latter discouraging it. I do see plenty of workers get distracted if someone stops and looks in the window. At the same time, I also find there are lots of open spaces where people can engage with others and even work in an open space if they desire.

I don't know if one way is better or worse than the other. I know that I feel differently at different times about how I work. At Redgate, we do have some pods for private work if you choose, but they aren't completely closed off. They're more like a cube or a small space for one person. I do find that having a private space is important for me at times, and if I were to go back to a company's location on a regular basis, I'd want to ensure I had some sort of private office, even if it were only for a portion of a week and others used it when I wasn't there.

Steve Jones - SSC Editor

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

Ad for State of Database Landscape survey
 
 Featured Contents
SQLServerCentral Article

Database Ledger in SQL Server 2022

Deepam Ghosh from SQLServerCentral

Learn how ledger databases and ledger tables work in SQL Server 2022.

External Article

Mastering SQL VIEWs: Syntax, Use Cases, and Best Practices

Additional Articles from SimpleTalk

VIEWs are an undervalued and underused feature in SQL. They basically consist of a query that has been given a name, and a parameter list, so can be used like an inline macro. Technically, you’re supposed to think of it as a virtual table.

Blog Post

From the SQL Server Central Blogs - Scaling SQL Server 2025 Vector Search with Load-Balanced Ollama Embeddings

aen from Anthony Nocentino Blog

SQL Server 2025 introduces native support for vector data types and external AI models. This opens up new scenarios for semantic search and AI-driven experiences directly in the database....

Blog Post

From the SQL Server Central Blogs - Automated SQL Server Benchmarking with HammerDB and Docker: A Complete Testing Framework

aen from Anthony Nocentino Blog

I’m excited to announce the release of a new open-source project that fully automates HammerDB benchmarking for SQL Server using Docker. If you’ve ever needed to run TPC-C or...

Refactoring Databases cover

Refactoring Databases: Evolutionary Database Design

Site Owners from SQLServerCentral

Refactoring has proven its value in a wide range of development projects–helping software professionals improve system designs, maintainability, extensibility, and performance.

 

 Question of the Day

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

 

Azure SQL Database MAXDOP

When Azure SQL Database was originally released, the MAXDOP was set to 0 for each new database. In Oct 2025, what is the default value for Azure SQL databases?

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

 

 

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

A Common Split

What happens when I run this code:

DECLARE @s VARCHAR(1000) = 'apple, pear, peach'
SELECT *
FROM STRING_SPLIT(@s, ', ')

Answer: An error is returned

Explanation: The separator parameter in string_split can only be a 1 character value of char, varchar, nvarchar, or nchar. Ref: String_split() - https://learn.microsoft.com/en-us/sql/t-sql/functions/string-split-transact-sql?view=sql-server-ver17

Discuss this question and answer on the forums

 

Featured Script

AlwaysON health check alerts

Srinivas Merugu from SQLServerCentral

The script gets the database health check whether synchronized or not from the primary or secondary. This code needs to scheduled through as a job to get alerts.

SELECT AGS.name AS AGGroupName, AR.replica_server_name AS InstanceName,
HARS.role_desc, sd.name AS DBName,DRS.database_id, AR.availability_mode_desc AS SyncMode,
DRS.synchronization_state_desc AS SyncState,DRS.last_hardened_lsn,DRS.end_of_log_lsn,
DRS.last_redone_lsn,
DRS.last_hardened_time, -- On a secondary database, time of the log-block identifier for the last hardened LSN (last_hardened_lsn).
DRS.last_redone_time, -- Time when the last log record was redone on the secondary database.
DRS.log_send_queue_size,DRS.redo_queue_size,
--Time corresponding to the last commit record.
--On the secondary database, this time is the same as on the primary database.
--On the primary replica, each secondary database row displays the time that the secondary replica that hosts that secondary database
-- has reported back to the primary replica. The difference in time between the primary-database row and a given secondary-database
-- row represents approximately the recovery time objective (RPO), assuming that the redo process is caught up and that the progress
-- has been reported back to the primary replica by the secondary replica.
DRS.last_commit_time
into ##HA_stats
FROM master.sys.dm_hadr_database_replica_states DRS
LEFT JOIN master.sys.availability_replicas AR
ON DRS.replica_id = AR.replica_id
LEFT JOIN master.sys.availability_groups AGS
ON AR.group_id = AGS.group_id
LEFT JOIN master.sys.dm_hadr_availability_replica_states HARS ON AR.group_id = HARS.group_id
AND AR.replica_id = HARS.replica_id
INNER JOIN master.sys.databases sd on DRS.database_id = sd.database_id

--Alert if not in SYNCHRONIZED status:
if exists (select * from ##HA_stats where SyncState not like ''SYNCHRONIZED'')
begin
EXEC msdb..sp_send_dbmail
@recipients=''XXXX@gmail.com'',

@subject = ''Always ON: Issue with Non- prod AlwaysOn Server -ServerName'',
@body = ''The following records are dbs that are not currently in a SYNCHRONIZED status. An automated attempt is being made to resume the data transfer. ',
@query = ''select cast(InstanceName as varchar(20)) InstanceName, cast(role_desc as varchar(10)) role_desc, cast(DBName as varchar(15)) DBName, cast(SyncState as varchar(20)) SyncState from ##HA_stats where SyncState not like ''''SYNCHRONIZED''''''

--attempt to resume node
---ALTER DATABASE CKOLTP SET HADR RESUME
end

if exists (select * from sys.databases where state_desc!=''ONLINE'')
begin
DECLARE @TEXT AS VARCHAR(300)

select getdate() as State_Date_Time,name AS Database_Name,state_desc AS DB_Status into ##Current_DB_State from sys.databases where state_desc!=''ONLINE''
insert into master.dbo.DB_Status_History select * from ##Current_DB_State

SELECT @TEXT=''Secondary Server : ServerName.''+CHAR(13)+''The Following Database is not ONLINE nor in Synchronized State. Please check and assist.''+CHAR(13)

EXEC msdb..sp_send_dbmail
@recipients=''XXXX@gmail.com'',

@subject = ''Always ON : Issue with Non- prod database not Online. ServerName '',
@body = @TEXT,
@query = ''select * from ##Current_DB_State''

--attempt to resume node
---ALTER DATABASE CKOLTP SET HADR RESUME

end
--Write to history
insert into master..AGHistory, select getdate(), * from ##HA_stats

More »

 

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 2019 - Development
extended events to spy on our server between 8 and 9 am - Hi, our peer who owns a remote mysql server from which we extract warehouse data daily between 8 and 9am thru ssis says there was nothing unusual nor any missing indexes this morning when querying one part of his database timed out with the error you see below. Our dba says it was mysql's fault. […]
visual studio seems to lose "provider" on pkg imports - hi, just to get this part out of the way, if my intended target for an ssis project is 2019, i always change the project over to 2019 before starting whatever i'm going to do.  Locally and on my vm i work in vs 2022. It might be just as of late, when i import […]
Editorials
The Improvement Limit - Comments posted to this topic are about the item The Improvement Limit
Technological Dinosaurs or Social Dinosaurs? - Comments posted to this topic are about the item Technological Dinosaurs or Social Dinosaurs?
Job Postings
SQL Server DBA - Immediate need - Immediate need for a hands-on SQL Server DBA. This is a greenfield opportunity to help a fast-growing company develop custom solutions for its key systems from the ground up. The initial contract term is 6 months (extendable). Must be currently located in the U.S. and authorized to work for any employer in the U.S. We […]
Article Discussions by Author
AlwaysON health check alerts - Comments posted to this topic are about the item AlwaysON health check alerts
Bat and SQL script to generate DB user permissions for all Databases in SQL server - Comments posted to this topic are about the item Bat and SQL script to generate DB user permissions for all Databases in SQL server
PWDCompare - Comments posted to this topic are about the item PWDCompare
Migrate SSRS Reports to a New Server in Just a Few Clicks - Comments posted to this topic are about the item Migrate SSRS Reports to a New Server in Just a Few Clicks
DBCC CHECKIDENT - Comments posted to this topic are about the item DBCC CHECKIDENT
Distributed Availability Group Health: T-SQL and Zabbix - Comments posted to this topic are about the item Distributed Availability Group Health: T-SQL and Zabbix
Stairway to Azure SQL Hyperscale – Level 3: RBPEX Caching Layer Internals - Comments posted to this topic are about the item Stairway to Azure SQL Hyperscale – Level 3: RBPEX Caching Layer Internals
Vector Datatype Dimensions - Comments posted to this topic are about the item Vector Datatype Dimensions
SQL Server 2022 - Administration
Restore Job fails in Replication - Dear Folks, Restore jobs in my SQL2022 Standard edition replication were failing on a new setup on windows 2022 standard edition, 64 bits.The log has 'Access denied error'  but the system admin says he has added the service account to the windows admin group..Normal copy \paste between the two server folders works well though...Any comment […]
SQL Server 2022 - Development
ERD Tools recommendation - Hey All, I'm looking for a free ERD tool. Does anyone have any recommendations? Thanks!
 

 

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 webmaster@sqlservercentral.com. This newsletter was sent to you because you signed up at SQLServerCentral.com.
©2019 Redgate Software Ltd, Newnham House, Cambridge Business Park, Cambridge, CB4 0WZ, United Kingdom. All rights reserved.
webmaster@sqlservercentral.com

 

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