Recently during the keynote at PASS summit 2017, Microsoft SQL Operations Studio announced as a tool of cross platform compatibility (Windows / Linux / Mac) capable of operating MS RDBMS including SQL Server. A sneak peak of the tool was also provided during a demo at the Microsoft booth in the Exhibit Hall.
In the blog post, Microsoft SQL Operations Studio (MSOS from here on, for brevity) was described as a cross-platform, lightweight tool for modern database development and operations. Along with SQL Server, it will be used to work with other Microsoft data offerings like Azure SQL Database and Azure SQL Data Warehouse.
Reading through Microsoft documentation in the link here --
In a few weeks, users will be able to download and evaluate this free, light-weight tool for modern database development and operations on Windows, Mac or Linux machines for SQL Server, Azure SQL Database, and Azure SQL Data Warehouse. Increase your productivity with smart T-SQL code snippets and customizable dashboards to monitor and quickly detect performance bottlenecks in your SQL databases on-premises or in Azure. You’ll be able to leverage your favorite command line tools like Bash, PowerShell, sqlcmd, bcp and ssh in the Integrated Terminal window. Users can contribute directly to SQL Operations Studio via pull requests from the GitHub repository.
Jason posted a slide on twitter in which he shows the capabilities of SQL Operation Studio vs SSMS vs SSDT
Like VS Code and other editors, MSOS will provide easy access to code snippets (in the T-SQL language, in this case) and dashboards to monitor performance in the cloud or on the Azure cloud.
As for more of that VS Code goodness, Microsoft said "You'll be able to leverage your favorite command line tools like Bash, PowerShell, sqlcmd, bcp and ssh in the Integrated Terminal window. Users can contribute directly to SQL Operations Studio via pull requests from the GitHub repository."
This tool seems to be an open source tool published in the GitHub repository. Like the Visual Studio Code, it seems that it seems possible to use it displaying the integrated terminal, and seems to be able to execute the query while executing the OS command.
There are many hidden tricks which are present in Visual Studio 2017 and can be really very useful. And one of them which I will be discussing today is "DebuggerDisplay".
Debugger Display helps to display runtime object data in simple and meaningful way. Of course meaningful data differs from developer to developer and also depends on what we are debugging. At least Debugger display gives control what to display and with the help of attributed debugging.
Attributed debugging gives type the ability to specify what it looks like when being debugged. The simplest form of this is the DebuggerDisplayAttribute. Below is the sample code.
After writing the above code, set a breakpoint at the end of the Main class and if you watch "Employees" in Watch, you will see something as below:
Now if you want to examine any of the employee object you first need to know which object inside the Employees collection. You can even override ToString and display the complete name but that will be functional evaluation and will be very slower and also not necessary the ToString implementation and the Debug view is same. So in such case "DebuggerDisplay" comes very handy and you can use it as shown below
After attaching the above attribute in the Employee class, you can see that now Debug display more sensible data and it's very easy to locate the object in the collection.
If you want you can even include the format specifiers in the expression.