I mentioned in yesterday’s blog entry SSDS Developments that I’ve been working on a little something around SQL Data Services (SDS) and this is blog entry is intended to tell you all about it. “It” is SDS Shell or “sds-sh” for short. In short, sds-sh is a suite of Powershell cmdlets intended to make it easier to manage and maintain your SDS authorities.
The project has been released on Codeplex at http://www.codeplex.com/sdssh and the first release (v0.1) is available at http://www.codeplex.com/sdssh/Release/ProjectReleases.aspx?ReleaseId=18851. There is a downloadable installer so you should be good to just download it and start playing. The only pre-requisites to using it are:
- Having Powershell installed
- A Username/Password that enable you to access SDS
Note that the currently available version of SDS is that which has been available for the past few months, the PDC release is not available yet. Sds-sh has been tested against this existing version of SDS so when the next (post-PDC) release of SDS comes out we’ll probably have some more work to do here so keep an eye on the project’s RSS feed for updates (I’ll also be talking about future developments on this blog as well of course).
Once you have installed the suite you should be able to open Powershell and issue the command:
If everything has installed OK then the returned list of Powershell snapins will include the following snapin information:
Name : sds-sh
PSVersion : 1.0
Description : Registers SDS CmdLets
If so then issue the following to load the snapin into your Powershell session in order that you can use it:
After these steps you will have 6 cmdlets available for you to play with which I have detailed in the following table:
| Cmdlet | Parameters | Description |
| Get-SdsAuthorities | Username Password Query (Optional) | Returns a list of all your authorities If <Query> is supplied then the list of containers will be filtered according to the query.* |
| Get-SdsContainers | Username Password AuthorityName Query (Optional) | Returns a list of all the containers in <AuthorityName> If <Query> is supplied then the list of containers will be filtered according to the query.* |
| Get-SdsEntities | Username Password AuthorityName ContainerName Query (Optional) | Returns a list of all the entities in <ContainerName> in <AuthorityName>. Any properties of the entity other than [Kind], [Id] & [version] will be returned as an XML property bag. If <Query> is supplied then the list of entities will be filtered according to the query.* |
| Add-SdsAuthority | Username Password AuthorityName | Creates an authority called <AuthorityName> |
| Add-SdsContainer | Username Password AuthorityName ContainerName | Creates a container called <ContainerName> in <AuthorityName> |
| Remove-SdsContainer | Username Password AuthorityName ContainerName | Removes a container called <ContainerName> from an authority called <AuthorityName> |
* For information about SDS query syntax go to Querying SQL Data Services
So download, install, and have a play. And more than that…GIVE US FEEDBACK, preferably on the project’s discussion board on Codeplex. I’m a novice Powershell user so if I’ve swayed from accepted Powershell naming conventions or best practices when creating this please don’t hesitate to let me know. All criticism, positive or negative, is welcomed as long as it is constructive.
I’d like to send a big thank you to my colleague James Saull for this who has helped me a great deal over the past week or so while building this. Also thanks to Richard Case who initially planted the idea in my head which over the past few days has germinated into what we’re making available today.
Thanks
Jamie