Community Tech Days – Tech-Ed On The Road is back in Ahmedabad! – June 11, 2011 – Register Now!


Attention – ALL Professional Developers, Project Managers, Architects, IT Managers, IT Administrators and Implementers of Ahmedabad! Community Tech Days/Tech-Ed On The Road is back, and everyone is invited!

The focal point of the day would be some of the best sessions from TechEd India 2011, and will cover technologies like Database and BI, Windows 7, ASP.NET.

techedonroad1

Where & When?

Venue How to get there? Timings
Ahmedabad Management Association (AMA)
Dr. Vikram Sarabhai Marg,
University Area,
Ahmedabad, Gujarat 380 015
Google Maps 9:30AM – 5:30PM

Who would be presenting?

The biggest attraction of the event is session HTML5 – Future of the Web by Harish Vaidyanathan. Harish leads the Evangelism efforts for Microsoft India, with specific focus on Web technologies. With IE 9, “Fast is now Beautiful” (official IE9 page|My TechEd post), and as Microsoft takes us to “A more beautiful web”, I urge you all to attend the session to take understand the future of web technologies and Microsoft’s take on the subject.

Pinal Dave (blog) will be presenting a session on SQL Server Performance Tuning; and Jacob Sebastian (blog) will be presenting a session on T-SQL Worst Practices. For those who don’t know Pinal and Jacob (there would not be a single IT soul in India who does not know them!), Pinal works as a Technology Evangelist (Database and BI) with Microsoft India where as Jacob is a SQL Server MVP, Author, Speaker and Trainer.

In addition, we would have sessions from Mahesh Dhola, an Architect at a product development MNC and Tejas Shah, a blogger at http://sqlyoga.com/

Free Goodies!

As always, there will be a QUIZ during the event and we will have various gifts – Watches, USB Drives, T-Shirts and many more interesting gifts.

Some Useful Tips

  • Everyone’s invited – If you work with Microsoft technologies, you should always attend the CTD events!
  • Always register before the event, and carry a copy of the registration confirmation with you
  • The venue has limited seating capacity. Those who attended the CTD last year know this for a fact. Arrive at the venue early to get a better seat, and reserve your spot

Agenda

You can get the agenda at: http://communitytechdays.com/agenda.aspx#ahmedabad

Registration

So, what are you waiting for? Register immediately at: http://www.communitytechdays.com/Registration1.aspx

Let’s plan to meet on June 11, 2011. Until that time,

Be courteous. Drive responsibly.

Microsoft Connect case – Template Explorer should have an “Import” facility


As you probably know by now, I use the Template Explorer a lot and encourage everyone to do the same. It is a great tool within the SSMS, and most developers and administrators adopt it with a smiling face. You can read all about it via the following posts:

  1. Template Explorer – Underappreciated features of Microsoft SQL Server
  2. Template Explorer – Deploying custom templates in SSMS – VTD Webcast feedback question
  3. Template Explorer – Changes & Template updates in SQL 11 (Code Named- “Denali”) CTP01

Last week, I wrote about how to deploy customized templates to developer workstations (Template Explorer – Deploying custom templates in SSMS – VTD Webcast feedback question). This was in response to  a question that came up during a Microsoft Webcast that I presented on the “Underappreciated Features of Microsoft SQL Server”.

When replying to the query during the Webcast, I felt that it was important to have some sort of an “import” facility – a manual process simply would not do. I have therefore filed a Microsoft Connect case for the same.

If you are an administrator, and want the ability to deploy/import customized templates easily, vote for the associated Microsoft Connect item here: https://connect.microsoft.com/SQLServer/feedback/details/668497/ability-to-import-templates-deploy-custom-templates-into-the-template-explorer

Please cast your vote! You can make a difference!

Until we meet next time,

Be courteous. Drive responsibly.

Template Explorer – Changes & Template updates in SQL 11 (Code Named: “Denali”) CTP01 – comparison with SQL Server 2008


Earlier this month, I presented a webcast on the “Underappreciated features of Microsoft SQL Server” during the “Exclusive Webcast series on Microsoft SQL Server”. As one of the developer productivity features provided with the SSMS, I presented the Template Explorer.

The session received a very good reception, and I thank-you – the community for the same. Last week, I also discussed a question that was asked to me during the session – “How can I deploy a template to all of my developer workstations?”. While writing last week’s post, I noticed that some things had changed in SQL 11 (Code Named: “Denali”) CTP01 when compared to SQL 2008 as far as the available templates are concerned.

Location of the Templates

Templates are deployed on the user workstation (i.e. the machine where SSMS is running) when the user uses the Template Explorer for the first time. These templates are located at the following locations:

In Microsoft SQL Server 2008: %APPDATA%MicrosoftMicrosoft SQL Server100ToolsShellTemplates

In SQL 11 (“Denali”) CTP01: %APPDATA%MicrosoftSQL Server Management Studio11.0Templates

No Shortcut key

The immediate difference is that SQL 11 CTP01 does not have a shortcut key for the Template Explorer. Ctrl+Alt+T no longer works with Denali.

SSMS – SQL Server 2008 SSMS – SQL 11 (“Denali”)
image image

New & Updated Templates!

SQL 11 (Code Named: “Denali”) CTP01 comes with new templates! SQL 2008 SSMS came with 367 templates, whereas SQL 11 CTP01 SSMS comes with 399 templates as of now.

image

Here is a detailed listing of the changes. Please note that all of these may not be available in the RTM release, but it is safe to assume that this is a fair indication of the changes. I have not considered differences of default paths and/or white spaces.

  1. No Templates for “SqlCe” in SQL 11 (“Denali”) CTP01
  2. ..SqlRole has been renamed to ..SqlDatabase Role
  3. New set of templates for ..SqlServer Role have been introduced
  4. The template to create a new Service Broker queue – Create Queue with Activation.sql – now has the POISON MESSAGE HANDLING turned ON by default
  5. Brand new set of 38 templates added for SQL Azure database!
  6. DROP STATISTICS template now checks for pre-existing statistics (IF EXISTS check)
  7. Create Users scripts (Create Data Reader User.sql, Create User as DBO.sql) no longer have a reference to sp_addrolemember. sp_addrolemember has been replaced with ALTER ROLE/ADD MEMBER
  8. Create User as DBO.sql – template now uses square brackets ([]) to enclose identifiers
  9. There are no changes to the templates for Analysis Services and for the templates for “Connections

I hope that you are as excited and looking forward to newer templates as I am. Do let me know if this helped you in implementing template explorer in your organization.

Until we meet next time,

Be courteous. Drive responsibly.

Template Explorer – Deploying custom templates in SSMS – VTD Webcast feedback question – Underappreciated Features of Microsoft


Earlier this month, I presented a webcast on the “Underappreciated features of Microsoft SQL Server” during the “Exclusive Webcast series on Microsoft SQL Server”. As one of the developer productivity features provided with the SSMS, I presented the Template Explorer.

The session received a very good reception, and I thank-you – the community for the same. After the session, we had a very nice round of Q&A, and I was asked a very interesting question – “How can I deploy a template to all of my developer workstations?

It’s a very interesting question, and you would need the help of your IT Administrator for the same. However, here are the high-level steps to do so.

NOTE: These steps are formulated for Microsoft SQL Server 2008/2008 R2. Depending upon your version of SQL Server, the paths referenced may change.

  1. Login to SQL Server Management Studio
  2. Go to View->Template Explorer or hit Ctrl+Alt+T
  3. Customize the template of your choice or create a new one by using the method described in my post – http://beyondrelational.com/blogs/nakul/archive/2011/01/24/template-explorer-underappreciated-features-of-microsoft-sql-server.aspx
  4. Navigate out to the location: %APPDATA%MicrosoftMicrosoft SQL Server100ToolsShellTemplates
  5. Notice that the newly created template is stored as a .sql file under the category chosen. Thus, if you developed a template for a T-SQL Stored procedure, you will find it under ..SqlStored Procedure
  6. All that needs to be done now is to copy this template over to the same location on the target machine. Thus, if you have a team of 10 developer machines, all you need to do is to make sure that the template is placed at the mentioned path for each of these 10 developer machines

Typically, deployment of the custom template to the %APPDATA% folder hierarchy on the destination machine can be handled via a logon script by your IT administrator.

image

Do let me know if the above mentioned steps helped you roll out custom templates confirming to your coding standards across your team.

Until we meet next time,

Be courteous. Drive responsibly.

T-SQL Debugging – SSMS errors – MSDBG2.DLL


I hope that all of you had a chance to participate in my session on the “Underappreciated Features of Microsoft SQL Server” during the Exclusive SQL Server Webcast series on Security & Scalability. If not, I trust the recorded sessions would be up soon for you to see. I will share the location of the same once available.

During the session, I demonstrated the T-SQL Debugger (http://beyondrelational.com/blogs/nakul/archive/2011/02/02/t-sql-debugger-underappreciated-features-of-microsoft-sql-server.aspx). A week before the session, I received a new laptop from IT. I was planning to conduct the demos from the same, and hence went about testing them and running through them as if it were a live session.

But, all was not good. As soon as I started the T-SQL Debugger demo, I encountered the following error:

—————————
Microsoft SQL Server Management Studio
—————————
Unable to start program ‘MSSQL:://MyInstance/master/sys/=0’.
A debugger dll, msdbg2.dll, is not correctly installed. Please repair your Visual Studio installation via ‘Add or Remove Programs’ in control panel.
If the problem persists, you can manually register msdbg2.dll from the command prompt with ‘regsvr32 "%CommonProgramFiles%Microsoft SharedVS7Debugmsdbg.dll"’.
—————————
OK  
—————————

image

The issue in my case was a bad dll (a problem we know as “dll ghost”). Here’s how I troubleshot the error:

  1. Navigate out to the location mentioned – “%CommonProgramFiles%Microsoft SharedVS7Debug”
  2. Confirm that the dll – msdbg2.dll is present at the location
  3. Right click on the dll and note the version of the dll

Because we know that the SQL Server 2008 R2 uses the Visual Studio 2008 shell, the dll version should at least be a 9.xx.xxx. Unfortunately, in my case, it was: 7.10.3077.0 – which is a very old version.

image

I had to do the demo and most of the laptop had already been configured for my day to day activities. Therefore, I looked around for a “healthy” installation of the SQL Server and checked the version of the dll there. The version was exactly as expected:

image

So, what do I do?

  1. Close the SSMS instance
  2. Unregister the existing dll by launching the Command Prompt under the Administrator mode and using regsvr32 /u msdbg2.dll
  3. Delete the “bad” dll from the location mentioned above
  4. Copy and paste the “healthy” dll
  5. Register the dll by using regsvr32 msdbg2.dll at the administrative command prompt
  6. Restart SSMS and attempt to debug

image

Looking at the version of the bad dll, I suspect the dll was installed by Visual Studio 2003 (v7.0), and IT probably installed SQL Server before they began the Visual Studio installation (I need to use the entire spectrum – Visual Studio 6 – 2010 and only one version of SQL Server!).

Do you know of any other scenarios that would cause this issue? Please leave a note for the benefit of all.

Until we meet next time,

Be courteous. Drive responsibly.