Intellisense for MDX? - sql-server

I'm beginning to learn MDX and OLAP databases and was wondering if there's an extension for SSMS that anyone knows about to help writing MDX. Because of some nerve damage to my right hand it wears my right-most two fingers out to hit all the brackets constantly. I'm learning for something that could recognize the measure groups and dimension names and automatically wrap them in the brakcets.

Unfortunately, there is no Intellisense support for MDX in SQL Server 2008 although many people would like to have it and Google finds very few third-party tools. MDX Studio is often mentioned very positively and is still available although it's no longer maintained.
According to MSDN, there is Intellisense for MDX in SQL Server 2012.
But I know very little about MDX so hopefully someone with more hands-on experience may have some ideas.

You can try a third-party tool MDXHelper (www.mdx-helper.com) which is an IDE to Write, Analyze, Tuning, Debug MDX efficiently, and it has the following 5 keys features:
1.Code auto-completion
2.Code snippet library
3.Measure definition & reassignment formula collection
4.SQL for depended basic measure(s)
5.MDX Profile collection parallel
MDXHelper

Related

Committing Stored Procedures to SVN Repository

My current development environment for C# projects is Visual Studio, with a SQL Server database and using VisualSVN to connect to my SVN repository. To manage revisions of my Stored Proceduress, Views, etc I save the ALTER script to a folder watched by my SVN client so these get included in the repository.
I have checked out some (now older) posts like this one (How to keep Stored Procedures and other scripts in SVN/Other repository? and Is there a SVN plugin for SQL Server Management Studio 2005 or 2008?) and have seen a recommendation for these tools: http://www.red-gate.com/products/sql-development/sql-source-control/ and http://www.zeusedit.com/agent/ssms/ms_ssms.html .
As I infrequently work with projects doing much DB-side programming, this has never been a major bother (a dozen scripts in a folder with some naming scheme is not much to manage manually), but I have just inherited a project with a few hundred views and 1000+ Stored Procedures which have never been included in version control.
My question is:
What process do others follow for managing the versioning of their SQL Server code - is there a an accepted, clever or otherwise obvious approach I am missing here? I am leaning currently towards the purchase of one of the aforementioned tools - but am looking for advice from the community before I do this.
I realize this may result in a tool recommendation rather than a code solution but posted to SO as I think this is the appropriate crowd to ask this of.
I would recommend you go with something like the redgate tool, and treat any SQL database in the same way you'd treat your C# source code; manually keeping track of the ALTER statements will trip you up sonner or later as the number of modifications grow..can't speak for the zeus edit tool but having used the redgate one, it "just works" - and another benefit of using a tool like this is that it can manage your migration scripts so you can make a bunch of changes on your development version, then generate a single update script to update your testing database, etc,including data changes which is imho the biggest PITA to manually manage.
The other thing to consider, even if the number of changes are infrequent and you get away with manually tracking the ALTER statements, what if someone else ends up working on the same project; now you have another potential for mismanaged change scripts....
Anyway, do let us know how you get on and best of luck with it!
I’ve been maintaining a database with around 800+ db objects in it. We've always just scripted the database objects to a svn-watched folder as you describe. We have had some issues with this method, mostly with people forgetting to script new or modified objects. At the end of the day it hasn't been a huge problem for our project, but yours may be different.
We’ve looked into a couple tools, but they always assume you are starting from scratch, and we have almost 10 years of history we’d like to preserve. In the end we just end up settling back into our text-based manual solution. It's cheap and easy.
Another option you might want to look into is setting up a Visual Studio Database Project. It will script all your objects and provide some deployment options as well. My opinion was that it tired to be a little too tightly integrated for our tastes - we have a few named references to linked databases that it just wouldn't give up on.

Is there a difference between the 2008 and 2009 namespace for Deep Zoom Images?

I noticed that Deep Zoom Composer writes DZIs with a namespace of
http://schemas.microsoft.com/deepzoom/2009
However the official documentation and the only available schema refer to
http://schemas.microsoft.com/deepzoom/2008
XML dictates I cannot treat them as equivalent, although they seem to be. So does anyone know if there is a difference and even better, can point to some documentation?
Talking with the program manager for Seadragon at that time, he believes the only thing that was added was an optional extra tag to support Microsoft's Smooth Streaming server feature. If you're not using Smooth Streaming, the 2008 schema is identical to the 2009 one.

Bugzilla Reporting

Is there a really good free tool for BugZilla reporting? I am finding the default search options on the web interface far too limiting. My biggest issue is with the lack of Order By options (only 1 field at a time, and a very limited set of fields to choose from). I have done some Google searches, but I can't find any good free BugZilla reporting tools.
If there isn't one, can someone please point me to an example on how to access the BugZilla web services? If I can get the BugZilla data, then I can easily build my own reports that will better meet our needs.
Take a look at this: http://www.faqs.org/docs/bugzilla/dbdoc.html
Use this database schema for reference: faqs.org/docs/bugzilla/dbschema.html
If you need a web-interface, use your favorite dynamic website scripting language that can access MySQL databases (say PHP)...
Simple-ish Tutorial: freewebmasterhelp.com/tutorials/phpmysql/4
PHP MySQL API Reference: php.net/manual/en/ref.mysql.php
Then use SQL queries such as:
"SELECT * FROM bugs WHERE WHERE bug_status != 'RESOLVED' ORDER BY creation_ts ASC, votes DESC LIMIT 50"
which lists first 50 entries of unresolved bugs ordered first ascending creation time then descending by number of votes.
I have used this in the past and have liked it a lot: http://www.mediawiki.org/wiki/Extension:Bugzilla_Reports
You can also consider other tool eg mantis
(http://www.mantisbt.org/)
I've personally switched from Bugzilla into Mantis and installed some plugins (http://deboutv.free.fr/mantis/) and found this more comfortable
If you are a Java user, you might want to check out Mylyn for eclipse. This is integrates a task-driven development approach into eclipse.
With that, you can raise bugs, tie together SVN changes and bugs, and hide classes that are not relevant to fixing bugs, etc. It's a bit involved to get started with, but quite powerful.
It also comes with a connector for BugZilla. See this introductory article for an example.
If you don't use eclipse, but you do use Java, then note that since Mylyn is open-source, you might want to look at the source code of the Mylyn BugZilla connector for how they do their work.
Good luck.
You can try Deskzilla (http://deskzilla.com/) - it is a multi-platform desktop client for Bugzilla with Outlook-like interface, rich reporting and filtering capabilities, offline work, drag-n-drop, etc. It's a commercial product, but if you're working on an Open Source project you can use it for free.
AFAIK Bugzilla uses MySQL database for storing data. So probably you can connect with some visual db manager (plenty of it exists, see Toad Data Modeler, DbVisualizer) and try do do some sql work...
There is a list of some add-ons (free and commercial) listed on the Buzilla addons wiki.
If you are a Windows user, MyZilla is a possible option.
Otherwise, to work toward your own, see the Bugzilla API documentation, which, in a way, includes how to retrieve the current schema (Bugzilla::DB::Schema), and Bugzilla::WebService.
Netbeans also has Bugzilla integration (I haven't tried it...).
I have analized a bunch of bug tracking tools.
You can try track or mantis, because bugzilla is very unfriendly about reporting.
Mantis
Mantis can export data in excel: all the graphic you need can be generated by that sheet.
For more information take a look to my blog:
http://gioorgi.com/2008/bug-tracking-mantis/
Anyway, Track is used a lot more, so for sake of completeness I should cite it:
Track
Pros:
Can Also work with an embedded database (using sqlite).
Easy to setup and use.
Cons:
Feature are too much, and aims to be also a CMS to some extend.
Take a look to:
http://gioorgi.com/2008/bug-tracking-trac/
Since Bugzilla can be installed on your own server, I presume the simplest way is to do that and play with the databases it creates ("Bugzilla supports MySQL, PostgreSQL and Oracle as database servers"). The documentation also says you can modify the templates as you like.
Otherwise one could try paid support or some other bug trackers.
I use this bookmarklet and like how it searches right with the strings entered in the location bar like smart search. It lets you quickly search bugzilla or jump to a bug number via Bugzilla Quicksearch, and is IE6+, Moz, Op7+ compatible.
Its companions on the same page can be used to refine or help with bug search/report, e.g. collect buglinks (queries bugzilla to show a list of bugs linked to from the current page),ord buglinkify (turns all numbers on the page into bug links).

Best place to start for learning SSIS

what is the best place to start learning about SQL Server 2005 Integration services?
I'm looking for links for setup and tutorials on how to get started. I've read I need a toolkit called SSIS designer however I haven't been able to find it on the SQL Server Enterprise ed dvd nor online anywhere. I did come across some links in various forums but they are now broken.
What version of SQL Server are you using? If you're using SQL Server 2000, then you're out of luck: SSIS didn't exist back then, and you don't want to know what did.
SSIS is sufficiently rich and complicated that I would not recommend a "tutorial". I'm afraid I have to recommend you read a book (and follow the exercises!). The one that taught me was Microsoft® SQL Server(TM) 2005 Integration Services Step by Step.
You want to install Business Intelligence Studio from the SQL Server DVD. That installs Visual Studio if you didn't already have it, and also installs the templates and tools necessary to develop in SSIS.
I've found lots of good info at SSIS Junkie (http://blogs.conchango.com/jamiethomson/).
And MS has some interesting web casts.
I liked the well written tutorial at http://www.accelebrate.com/sql_training/ssis_tutorial.htm
give it a try.
Once you get past the basics, this tutorial/example shows how to use looping, variables and expressions to do some cool stuff: http://www.sqlmag.com/Articles/ArticleID/95385/pg/3/3.html
The example is aimed at administration and monitoring, but can be applied to many things.
Looks like it's subscriber only now, but you can get the source.
In a nutshell, you store servernames is a table, put them in an 'object' variable and then loop through them performing whatever actions you'd like.
Your connection to 'source server' changes based on expressions you define in the properties window.
I'd suggest you look at SQLIS.com, it's a great site written by some SSIS experts. There are a number of blogs, and we have some articles at SQLServerCentral.com, though not sure we have a good "get started" series.
PragmaticWorks does a lot of SSIS and I've started to see some details on their blog about the various tasks.
IF you are working on a Business Intelligence project I suggest the white-papers from www.SQLBI.com for reference. If you understand the basic termonology of standard BI practicies, this will present a good set of best practices. It may be a little complex though if you are just starting out.
I have also found the video training provided by vconferenceonline/SSWUG (http://www.vconferenceonline.com/shows/summer09/uvc/sessions.asp?id=2) to be very useful. Not free - but relatively cheap.

Generate Data Change Scripts from VSTS Database Edition

I'm using the GDR release of VSTS Database edition source control the DB and generate deployment scripts. It works pretty well but the problem is that it only seems to handle scripting and deploying the schema. It stops short of handling scripting and deployment of the actual data itself (i.e. the lookup and standing data which also deployed with the DB).
I know it's easy enough to write the deployment scripts by hand, but is this what every one does? Is there a recommended way of deploying data with the VSTS deployment engine? Is there some tooling that help with this - I don't mean a full product like SQLCompare, just something that fills the gap with VSTS DB.
Thanks in advance.
Kaneda
The VSTS: DB best practices blog advocates using post-deployment scripts to insert reference data into temporary tables, then update the target tables based on the delta (ie update x inner join temp where x.something <> temp.something)
There's some suggestions floating around that this might make a powertool, and at least one MVP has written a tool to generate those scripts.
(NB: I haven't tried this - I only just found out about it myself)
Personally I would still stick with RedGate if I had any choice in the matter.
GDR comes with a data comparison engine, but as far as I've been able to tell so far a data comparison can't even be stored in a project (let alone be properly supported by it) - so it's pretty ad-hoc. Unlike a Schema Compare, there is no File \ Save As.
The comparison engine can be automated via DDE but that's automation within the Visual Studio IDE, and not really suitable for some kind of scripted installation process. As much as anything there's no way I could see to specify which tables to include in the comparison (since all you get to do via DDE is open the wizard for the user to select)
Alternatively all the functionality appears to reside in Microsoft.VisualStudio.TeamSystem.DataPackage.dll , but since the API documentation hasn't been written yet (the help doco that comes with GDR is full of errors as it is) it's going to be a bit of a hit-and-miss adventure to work out where to start.
As someone who's used RedGate's SqlCompare, SqlDataCompare and their respective APIs to do this before, much of the GDR functionality seems a bit half-baked to me.
What I will probably do this time round is sync the data with a SSIS package (export to CSV at build time / import from CSV at install time), but I'd far rather be using the SqlDataCompare API (or SqlPackager) right now.

Resources