I'll give Microsoft a B+ for their response to my sql2005 flame-mail to BillG. They got back to me with several helpful tips and did it with a smile, and a couple of my issues would have never surfaced if I had gotten some training beforehand. But the end result is that I'm still left with a weak product that doesn't come close to the enterprise class tools that I'm used to in the mainframe world. Here's the text of my recent messages with them:
Thanks for the email. Several of the items were very helpful, and I’ll make sure to pass the tips back to our sql community. Some of my frustration would never have come about had I taken the time to get some training, and I’m impressed by the level of response from you and Praveen on this.
Nevertheless, I’m still left wondering how much your development feedback loop includes heavy input from people like us who develop heads-down on sql all day long using multiple instances, databases and views. The operative word here is ‘heads-down’. We come from a variety of past-lives be it mainframe, unix or linux, and the notion that we would stop typing to click on things as suggested in #7 doesn’t go over well.
In answer to the question you pose in #7 (What steps did you use in sql analyzer?), we’ve written our own object scripting tools (which work fine in sql2005). However, since there is no scripting command (as in ‘UseInstance SQL00’) to change sql instances (at least I gather this from your response), we really can’t code or support in the heads-down manner we’d like to.
In answer to your question in #9, we code around the sql2k5 performance issues as we encounter them, so we don’t need to use whatever Enterprise license support plan we have in place. I do find it odd that sql2k5 has these issues though. If someone from your customer support team wants to contact us for their own benefit of identifying what I see as a performance related bug, we’d be happy to cooperate.
So, I thank you for getting me beyond some of my frustration which I think in turn will help our customers and the Microsoft community we serve. If you make it to Minneapolis, please consider this an invitation for a coffee or beer on TempWorks!
Let me reiterate our thanks for providing your feedback. In order to provide a detailed response to some of your items, we will need additional detail; these are called out below. For the performance issue you are encountering, I can offer to setup a 30 minute conference call with someone from our Customer Program team. This person will assess your situation and recommend an appropriate course of action. If you wish to pursue this, reply to this mail with a few available dates and times.
If you have any questions or need clarification on any of the responses, please do not hesitate to ask.
1. Executing icon: This is good feedback and something we can absolutely look into addressing. Here are a few things you can try with Management Studio.
a. The title of the tab adds "Executing" when the query executes and changes back to the normal name when it’s complete. This can be viewed in the tooltip, the Windows menu list or the drop down (on the right side next to the close ‘X’ for the tab window).
b. You can configure Management Studio to play the Windows default beep when a query complete. From the Tools menu select Options. Expand “Query Results” and “SQL Server”. Click on General. Select the checkbox title “Play the Windows default beep when a query batch completes”.
c. Another thing you can do is select a horizontal or vertical tab group layout. To do this select the Windows menu and choose “New Horizontal Tab Group” or “New Vertical Tab Group”. You can have the long running query in on group while you continue to work on queries in the other group. Since both groups are visible on the screen you’ll be able to see when the long running query completes.
2. Navigating back to a tab: What type of color-coding are you interested in? Control-Tab is the keyboard short cut for moving between tabs. If you click on a tab and want to quickly move back to the previous tab you can use Control-Tab. If you hold down the Control key while you Tab you will see a full list of tabs that you can navigate to. But quickly using Control-Tab will always take you back to the previous tab.
3. Navigate to a new SQL instance: If your goal is to create a new query window connected to a specific instance you do not need to go through Object Explorer. You can select File -> New -> Database Engine Query (there is also a toolbar item on the Standard toolbar for this action). This will open a new query window and the connection dialog. Here you can enter the instance and database you wish to connect to. If you have the servers registered in “Registered Servers” you can right-click on the instance and select Connect -> New Query. This will open a new query window connected to that instance.You mention that it’s hard to find the Object Explorer tab. The Object Explorer window is called a tool window and can be docked in the UI. There is a short tutorial on Management Studio available from Books Online or from MSDN (http://msdn2.microsoft.com/en-us/library/ms167593(SQL.90).aspx). There is a specific topic on docking tool windows (http://msdn2.microsoft.com/en-us/library/ms170069(SQL.90).aspx). When a tool window is docked (rather than floating) it is easily accessible from the UI – usually on the left or right side of the UI.In addition, Object Explorer and Registered Servers tool windows are optional. You can drive everything from a query window just like Query Analyzer. You can set the start up option for Object Explorer by selecting Options from the Tools menu. Click on the Environment node. You’ll see a drop down labeled “At startup:” You can choose the default configuration for Management Studio.
4. Replay: In order to help you we’ll need additional details on what you’re experiencing.
5. Server trace: You can still run server trace, but you need to do this from SQL Server Profiler. SQL Server Profiler can be launched from the Start menu – Microsoft SQL Server 2005 -> Performance Tools -> SQL Server Profiler or from Management Studio from the Tools menu item.
6. Performance profiler: In order to help you we’ll need additional details on what you’re experiencing.
7. Find and scripting an object: What steps did you use in Query Analyzer? Object Explorer supports keyboard shortcuts and type-ahead for quick and easy navigation. Management Studio short cuts are documented in Books Online (http://msdn2.microsoft.com/en-us/library/ms174205(SQL.90).aspx). To collapse a node in the tree use ‘-‘ (the minus sign) on the numeric keypad. To expand a node use ‘*’ (star) on the numeric keypad. You can select nodes by typing the name of the node (we’ve implemented type ahead on Object Explorer). For example, if you were looking for the database ImportantCustomers. You could use the keyboard to expand the database node and then start typing I-m-p-o-r-t, the node sele
ction will jump down the tree to the database. Another option is to build your own customer scripting tool using the SQL Server object model - SQL Management Objects (SMO). Management Studio leverages SMO for scripting and you can do the same by placing your own interface on top of SMO. SMO is fully documented in Books Online (http://msdn2.microsoft.com/en-us/library/ms162169(SQL.90).aspx).
8. Activity Monitor: In order to help you we’ll need additional details on what you’re experiencing.
9. Performance: We need more information to help you. I’d like to schedule a conference call with someone from our Customer Programs team to discuss this in more detail. Based on the results of that conversation we can recommend a course of action. Do you have a support contract in place with Microsoft or do you operate on a pay as you go basis?