As a database professional, I’ve optimized my SQL Server Management Studio (SSMS) settings for maximum efficiency. Here’s a visual breakdown of my key configurations:
1. Editor Tab and Status Bar
Status bar shows execution time, database name, login, row count, and server
Pink for group connections, khaki for single server
Tab text includes only the file name
2. Advanced Execution Settings
SET CONCAT_NULL_YIELDS_NULL and SET ARITHABORT enabled
Transaction isolation: READ COMMITTED
Suppressed provider message headers
Completion time shown after query execution
3. Query Results to Grid
Max characters for non-XML: 65535
XML data: Unlimited
4. Query Results to Text
Custom delimiter: | (vertical bar)
Include column headers
Scroll as results are received
Max characters per column: 8192
5. SQL Server Object Explorer Options
Audit Log: Top 1000 records
Drag-and-drop: Prepend schema, surround with brackets
Prompt for schema object renaming
Edit Top: 200 rows
Select Top: 1000 rows
6. Query Output Formatting
Custom delimiter: | (pipe character)
Include column headers
Scroll as results are received
Max characters per column: 8192
These settings streamline my SSMS workflow. Adjust them to fit your needs and boost your productivity!
Microsoft just released the adutilin public preview which is a CLI based utility developed to ease the AD authentication configuration for both SQL Server on Linux and SQL Server Linux containers.
We don’t need to switch to a Windows machine to create the AD user for SQL Server and setting SPNs.
In the following steps I will try to install a SQL Server instance on Linux using just the Linux CLI tool adutil.
We will need 2 VMs:
tf-wincore01.lab.local – Domain Controller (DC) running on Windows Server 2019 Core (will host the lab.local domain)
tf-ubuntu01.lab.local – Ubuntu 18.04 LTS – SQL Server Instance on port 20001 will be installed here
I will be creating a brand new environment for this test and I am using Terraform to provision the VMs .
Prepare the Domain Controller
Once the VMs are created we need to configure the domain controller:
Let’s verify that we can now gather information about a user from the domain, and that we can acquire a
Kerberos ticket as that user.
The following example uses id, kinit, and klist commands for this.
1
2
3
id CHudson@lab.local
kinit CHudson@LAB.LOCAL
klist
Install adutil
We now need to install the adutil so we can interact with the Domain Controller directly from the Linux box.
FROM sys.dm_exec_sessions AS DES JOIN sys.dm_exec_connections AS DEC ON DEC.session_id = DES.session_id
WHERE DES.session_id <> @@SPID;'
Conclusion
Our setup is now complete and we managed to perform all the required operations from a Linux machine.
The same can be applied to provision SQL Server running on Linux containers.
This also should apply if you’re running in the cloud.
Investigate! No useful information in the logs.
Previously that day I dropped a few unneeded databases so maybe the Maintenance Plan was still referencing them. Everything looked good when the Maintenance Plan was opened in SSMS (it was configured to backup “SELECTED” databases), I could not find any reference to the deleted databases. Under the hood, the Maintenance Plan was still trying to backup those deleted databases because when I clicked OK and then hit Save, that Maintenance Plan was refreshed and everything worked just fine.