Are there any other tools out there that can analyze a SQL Profiler trace file and recommend indexes?
I highly recommend the free Qure Analyzer from DB Sophic:
http://www.dbsophic.com/qure-analyzer.html
Disclaimer: I work for SQL Sentry, who partners with DB Sophic on a paid version of their tools which work with our Performance Advisor product. This is not an attempt to up-sell, I am merely pointing you to a free tool that seems to meet your requirements.
You may also want to look at ClearTrace - it's not a one-for-one replacement for DTA, but it is quite useful if you're already collecting traces:
http://www.sqlmag.com/article/performance/cleartrace
If you are running SQL 2005 or higher you can use the Index Related DMVs. You can probably search Google for a handful of scripts using them.
Related
I'm interested in the existence of any tools which can perform static analysis against a SQL Server database. In essence, I'm looking for the DB equivalent of FxCop or NDepend; something which can inspect the data layer and come back with recommendations around metrics such as design, naming and any other measurable attributes relating to quality.
Has anyone used a tool in the past that can provide some design feedback? Thanks.
If you use SQL 2008, or have an instance of SQL 2008 anywhere, you can use policy based management. This will do what you want. Check Here This will work for naming and other standards, but might not work on data metrics.
You can alway use the Microsoft Best Practices analyzer for SQL
DataCleaner http://datacleaner.eobjects.org/
SQL Enlight is a dedicated static analysis tool for SQL Server, working in SSMS as well as part of Continuous Integration. There is a review on Simple Talk by Grant Fritchey. There are numerous built-in tests as well as a capability (albeit complicated looked) to author one's own checks.
SQL Cop is another option. It's not as sophisticated as SQL Enlight, and can't be automated as part of a build process, but is free.
We are evaluating trial versions of Red Gate’s SQL Toolbelt and Quest Software’s Toad for SQL Server. What are the main differences between these tools? The benefits of using these tools are quite obvious but we are wondering which one is more suitable for a developer and development work? Is Toad for SQL Server more focused on DBA work?
Toad for SQL Sever basically is an alternative to SQL Server Management Studio - it gives you insights into your server, databases, database object etc. and you can execute queries and explore your data. But that's about it.
Red-Gate's Toolbelt is a totally different set of tools - a toolbelt, as the name implies:
compare databases for structural or data-related differences
determine dependencies between database objects
greatly superior intellisense for SSMS and Visual Studio
package database changes into an update package (EXE or .NET assembly)
and a lot more
I don't think TOAD offers any of those capabilities, so you're really comparing apples to carrot or something here.
I can totally recommend Red Gate tools - I'm using SQL Prompt, SQL Search, SQL Compare, SQL Data Compare and SQL Packager regularly, and they just do their job in a great way. Highly recommended!
The tools from RedGate are spectacular. I don't know about Quest's Toad, but you cannot go wrong with RedGate. In fact I often end up using their products as fodder for requirements on new features for my unrelated products.
They quickly respond to questions, provide intelligent assistance, and, well, if I could marry Redgate I would get down on one knee right now.
'nuff said?
Toad, has a free "community version" 6, which indeed offers intellisense, dependencies and other things.
There are 3 levels of paying versions and they have comparison tools + many extras which I could not evaluate since I am only using the free version.
Anyway, since I started using Toad I nearly never go back to SSMS...except for the free RedGate SQL Search, which is a real time saver in some situations.
I think there is an upgrade/downgrade path between MySQL and DB2 because they are both pretty ANSI standards compliant.
Other than SQL Express, is there a similar pairing of free-"ish"/paid databases for SQL Server?
Another way to state the question-- of the free db engines that exist, which is the least painful to migrate T-SQL to?
Update--
Background: I'm looking for a suitable downgrade path. I wrote an app that I wanted to post to codeplex and then I realized that the likely audience might not have admin rights, wouldn't be able to cope with the administrativia of MS-SQL, etc.
There is a free version of Sybase ASE available; Sybase supports T-SQL.
One of Microsoft's big advantages with Sql Server over other offerings is that they have a complete compatible solution, no matter where you are on the size-spectrum: from simple desktop engines with SQL Server Compact Edition all the way to massive warehouses with SQL Server Enterprise Edition, you can be confident that there's an upgrade path for your data. The idea seems to be that if your data scales beyond what SQL Server Express Edition can handle, you're doing well enough in your business to afford one of the more expensive editions.
This is especially true because once you're into that scale migrating to another database is not trivial and will be expensive in it's own right. Once your system is that large and complex even simple differences between database engines can be a big deal. Fortunately for most of us, Express Edition is pretty capable.
So in most cases the next upgrade path from SQL Server is... SQL Server. If your database is big enough that a free edition won't cut it, it's big enough that we really need to know exactly what your goals are and what you are trying to accomplish to give you a good recommendation on an alternative.
MySQL is probably the closest that I've used. Postgres is special in its own way, and doesn't do a lot of what T-SQL does. SQLite is lacking too many functions to even come close.
That being said, the most pain you'll run into (I've found) is around string and column manipulations. MySQL often offers a direct translation, if not that function, at least in my experience.
Where can I find some in-depth information on tuning statistics in SQL Server 2005?
I need to really delve in to what statistics are being used in a number of different queries, how they are interacting with indexes, how/when/where to use custom statistics (over and above what the database tuning advisor recommends), when/how to update the statistics for the best performance etc. etc.
Does anyone know of any good articles/webcasts/books around this subject?
Thanks in advance,
Tom
This book gives fairly detailed information on performance tuning Inside Microsoft® SQL Server(TM) 2005: Query Tuning and Optimization
I suggest you review the following comprehensive Microsoft TechNet reference.
Statistics Used by the Query Optimizer
I suggest you visit http://sqlserverpedia.com/ and look for blog/article/demo/screencast/podcast specific to your needs. SQLServerPedia is a free Premier Online SQL Server resource.
Or are you specifically asking these questions right now:
"Why is this query running slow? Is my
index getting used? Why does this
query run faster than this query?"
The book "Dissecting SQL Server Execution Plans" will help you on this regard. A free ebook version is available here.
;-)
MarlonRibunal
It seems like the generation of SQL scripts from the SQL Server Management Studio is terribly slow. I think that the old Enterprise Manager could run laps around the newer script generation tool. I've seen a few posts here and there with other folks complaining about the speed, but I haven't seen much offered in the way of alternatives.
Is there a low-cost/free tool for scripting an entire SQL Server 2005 database that will perform better that SSMS? It would be hard to do worse.
See the Database Publishing Wizard that is part of the SQL Server Hosting Toolkit. It generates a single SQL file for both schema and data.
We are using the tools by RedGate which I personally find very useful in any aspect of work with databases. For scripting I would recommend the SQL Compare (you need a pro version for scripting). The SQL Compare is a must have for deploying schema changes from the deployment DB to the live Server and a real timesaver.
Those tools are not free but I think they could save you money in a long run
What kind of scrpt generation are you talking about now?, generating create scripts from the objects in the database is way faster in SSMS compared to EM.
But if you are running an select or something that gives you lots of rows in the grid, it is crazy slow.. like scripts generating inserts statements of all rows in an table, if you got lots of data, it is almost not doable.
I don't know what is "terribly slow" for you, but I have a decent performance with SQL 2005 Management Studio. In either case, RedGate products are very cool. Unfortunately they are not free.