Skip to main content

Posts

Showing posts from April, 2014

SSMS Add-ons

At my presentation on SQL Server Management Studio at SQL Saturday in Exeter I promised to write some articles on Gethyn’s blog about the bits I didn’t manage to cover. SSMS is a fantastic tool but many people and companies have found ways to enhance it to make it even more useful.
At the Exeter SQL Saturday I was chatting with David Atkinson of Red Gate software about their add-ons to SSMS. David told me about an exciting project that Red Gate have started called the SSMS Ecosystem Project. They have created a framework to make it easier for developers and DBAs to develop, share and manage SSMS add-ons.
And the best news is that this framework is free. Once you’ve created your add-in using the framework you can place it on their add-in directory so others can find and try it out. Red Gate are happy for you to use their API to create commercial tools as well as free ones.
Red Gate consider this to be a work in progress, they intend to enhance their API and hope to create a distributio…

SSMS Queries on Function Keys

By David PostlethwaiteAt my presentation on SQL Server Management Studio at SQL Saturday in Exeter I promised to write some articles on Gethyn’s blog about the bits I didn’t manage to cover. If you have simple queries or functions that you use regularly you can assign them to a function key for quick running in a query window Microsoft have already added a few
If you hit  Ctrl-1 in a query window it runs sp_who
The results are displayed in the results window but the query window doesn’t display the query which can be a bit confusing. You can set your own up at
Tools ->Options -> Environment -> keyboard -> Query Shortcuts You’ll see there are already three already listed Alt-F1    sp_help
Ctrl-1    sp_who
Ctrl-2    sp_lock The function key Alt-F1 can be very useful.
In a query window type in the name of a system stored procedure such as sp_MSforeachdb
Now highlight the word and hit Alt-F1
The results window will show information on the stored procedure and also the parameters…

SQL Server Training – Spring 2014

I have just returned from a trip to Washington DC where I was delivering course 2105 – SQL Server 2012 DBA skills upgrade class in an onsite class to one of Learning Tree’s clients. For those of you that don’t know, a Learning Tree onsite is event is when Learning Tree come to you and deliver a course at your site just for you  and can even be tailored or customized to your specific requirements. You can follow the link to read more information about onsite events and what they can include.This spring I will be delivering two public courses that are scheduled to run in the London Education Centre (LEC)Developing High Performance SQL Server Database – This is a five day course that will run from 19th to 23rd May 2014 in London SQL Server 2012 Database Administration – This will run in June – 17th and 20thBoth of these events are guaranteed to run, so you can enroll safe in the knowledge that the course will not cancel. Maybe I’ll see you in-class

Central Management Studio CMS

By David PostlethwaiteAt my presentation on SQL Server Management Studio at SQL Saturday in Exeter I promised to write some articles on Gethyn’s blog about the bits I didn’t manage to cover. One of the subjects I covered was Registered Servers and the Central Management Studio
These are two features in SSMS that allow you to register your SQL instances with a more meaningful name and then group them into folders such as project name or type.
This can make it much easier to find the instances used by a particular project especially for new starters who won’t know the names of all the instances and projects in your company.
The CMS can be shared by all of your DBAs or developers so there is one central list of instances and what they are used for. One additional feature is the ability to run queries against multiple instances. You simply right click on a particular folder and select “New Query”. A new query window will open with a pink footer showing connected (x/x), where x is the numbe…

SSMS Auto Recovery

By David Postlethwaite At my presentation on SQL Server Management Studio at SQL Saturday in Exeter I promised to write some articles on Gethyn’s blog about the bits I didn’t manage to cover. SQL Server Management Studio will autosave your unsaved query every few minutes so if if your pc crashes you won’t have lost you work.
This is a similar idea to what we see in Word and Excel Any new query will be added to the solution or project that is currently open. If you don’t have a solution open it will get save into a backup folder
My Documents\SQL Server Management Studio\Backup Files\Solution1 You can alter the recovery time
Tools -> Options -> Environment –> AutoRecover There is a bug in Management Studio 2012 where the file must be saved first before it will starts to autosave it.
If you haven’t saved it at least once then it won’t autosave. Management Studio 2008 and 2005 will autosave unsaved files without problem

From where does SSMS get its database defaults?

We can create a database simply by typing in the command createdatabase DB1


We don’t have to provide any other parameters for SSMS to be able to create the database
My Question is from where does SQL get the default values when we create a database without any options?
We have always assumed that is was from the model database.
Here’s an interesting exercise:
Create an empty database using the command above and make a note of its size and autogrowth values.
Compare these to those of the model database. Assuming you have never changed the model database you’ll find they are identical.
Change the initial size and the autogrowth values in the model database to something obviously different.
Now create a new database DB2 with the script createdatabase DB2


Take a look at the size and autogrowth of the new database and compare them to the values you put in the model database. The data file size will probably match but the rest will have taken the original values you saw in the model database.

Missing Database Owner

By David PostlethwaiteAt my presentation on SQL Server Management Studio at SQL Saturday in Exeter I promised to write some articles on Gethyn’s blog about the bits I didn’t manage to cover.A scenario
A DBA creates a new database and by doing so he become the owner of that database.
He then leaves the company and his Windows account is deleted.
When you try to view the database properties in SQL Server Management Studio you will receive the error “Property Owner is not available” When SSMS tries to open the database it check the permissions of the owner and because it can no longer find it in Active Directory it aborts the request You will not be able to view the properties until a new owner is assigned.
This is quite simple just issue this command on the database sp_changedbowner 'sa'


You cannot just create a new Windows user with the same name. The underlying SIDs will not match.
If the owner of the database is a SQL user then it’s not possible to delete that user but SQL Serv…

Alter Table Not Permitted

By David PostlethwaiteAt my presentation on SQL Server Management Studio at SQL Saturday in Exeter I promised to write some articles on Gethyn’s blog about the bits I didn’t manage to cover.You may have come across this error message when using SQL Server Management Studio It’s new in SSMS 2008.
You cannot, by default, make changes to a table that will require it to be dropped and re-created.
These changes are
Changing data type on existing columns
Or changing allow nulls on existing columns
Or changing order of columns But you can turn this behaviour off
Tools Menu -> Options -> Designers
Untick "prevent saving changes that require table re-creation" But beware.
If it is a table with large amount of data it could take some time to copy it from the old to the new table

Dedicated Administrator Connection

By David PostlethwaiteAt my presentation on SQL Server Management Studio at SQL Saturday in Exeter I promised to write some articles on Gethyn’s blog about the bits I didn’t manage to cover. If a SQL instance isn’t responding or you can’t login for some reason then SSMS has a back door called the Dedicated Administrator Connection or DAC.
The DAC uses a special reserved scheduler which has one thread for processing requests.
This essentially means that SQL Server is keeping a backdoor open just for this purpose. To login using the DAC you must be a member of the sysadmin server role.
By default, for security, you can only use this from the local server, not from a remote connection.
You can enable remote connections using the command sp_configure 'remote admin connections', 1



To use the DAC, in the SSMS connection window prefix the name of the server with “admin:”

You can’t connect using Object Explorer because it only allows one thread so you must use the Query Window Only
Only …

SQL Saturday Exeter

A couple weeks back was the second SQL Saturday to be held in Exeter. Although I wasn’t speaking this time, my friend, colleague and fellow contributor to this blog, David Postlethwaite was making his full speaking debut delivering a session entitle “Real DBAs Don’t need a GUI” it was a look at all the features of SQL Server Management Studio that you may not know existed. Unfortunately I was poorly on the day of the event and couldn’t make the session, but David did rehearse his talk with me and it went very well. It seems that his audience agreed and everyone seemed to give him positive feedback. It seems that the whole day was pretty successful and hopefully there will be another SQL Saturday in Exeter next year. It seems David has caught the speaking bug so to speak. He has come back from Exeter and is keen to expand on this experience. He has put together two further talks. One on Oracle for the SQL Server DBA and another one called “Taming the Beast – How a SQL DBA can keep Kerb…