<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www2.sqlblog.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Tibor Karaszi</title><subtitle type="html" /><id>http://www2.sqlblog.com/blogs/tibor_karaszi/atom.aspx</id><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/tibor_karaszi/default.aspx" /><link rel="self" type="application/atom+xml" href="http://www2.sqlblog.com/blogs/tibor_karaszi/atom.aspx" /><generator uri="http://communityserver.org" version="2.1.61129.1">Community Server</generator><updated>2010-12-28T18:42:00Z</updated><entry><title>Express Edition revisited, focus on SSMS</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2013/01/30/express-edition-revisited-focus-on-ssms.aspx" /><id>http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2013/01/30/express-edition-revisited-focus-on-ssms.aspx</id><published>2013-01-30T17:01:00Z</published><updated>2013-01-30T17:01:00Z</updated><content type="html">(Note: I have re-written parts of this post in the light of the comments that SP1 of 2012 include Complete tools.) I have decided to revisit the topic of whats included in Express Edition, with focus on the tools. I have a couple of reasons for this: In my 2011 post , I never tried to connect from Express SSMS to a non-Express database engine. I want to check if there are any significant differences in SQL Server 2012 Express Edition, compared to SQL Server 2008R2 Express Edition. It isn't uncommon...(&lt;a href="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2013/01/30/express-edition-revisited-focus-on-ssms.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=47398" width="1" height="1"&gt;</content><author><name>TiborKaraszi</name><uri>http://www2.sqlblog.com/members/TiborKaraszi.aspx</uri></author><category term="Express Edition" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/Express+Edition/default.aspx" /><category term="SQL Server Agent" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/SQL+Server+Agent/default.aspx" /><category term="Tools" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/Tools/default.aspx" /><category term="Trace" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/Trace/default.aspx" /></entry><entry><title>Backup and the evil RETAINDAYS option</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2012/07/08/backup-and-the-evil-retaindays-option.aspx" /><id>http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2012/07/08/backup-and-the-evil-retaindays-option.aspx</id><published>2012-07-08T12:25:00Z</published><updated>2012-07-08T12:25:00Z</updated><content type="html">"So what bad has this option done?", you probably as yourself. Well, not much, but I find it evil because it confuses people, especially those new to SQL Server. I have many times seen people specifying something like 3, and expect SQL Server to keep the three most recent backups in the backup file and overwrite everything which is older than that. Well, that is not what the option does. But before we go into details, let's look at an example backup command which is using this option: BACKUP DATABASE...(&lt;a href="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2012/07/08/backup-and-the-evil-retaindays-option.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=44226" width="1" height="1"&gt;</content><author><name>TiborKaraszi</name><uri>http://www2.sqlblog.com/members/TiborKaraszi.aspx</uri></author><category term="Backup" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/Backup/default.aspx" /><category term="datetime" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/datetime/default.aspx" /><category term="Maintenance" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/Maintenance/default.aspx" /><category term="SQL Server Agent" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/SQL+Server+Agent/default.aspx" /><category term="Tools" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/Tools/default.aspx" /></entry><entry><title>Analyzing the errorlog</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2012/07/05/analyzing-the-errorlog.aspx" /><id>http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2012/07/05/analyzing-the-errorlog.aspx</id><published>2012-07-05T11:53:00Z</published><updated>2012-07-05T11:53:00Z</updated><content type="html">How often do you do this? Look over each message (type) in the errorlog file and determine whether this is something you want to act on. Sure, some (but not all) of you have some monitoring solution in place, but are you 100% confident that it really will notify for all messages that you might find interesting? That there isn't even one little message hiding in there that you would find valuable knowing about? Or how about messages that you typically don't are about, but knowing that you have a high...(&lt;a href="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2012/07/05/analyzing-the-errorlog.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=44203" width="1" height="1"&gt;</content><author><name>TiborKaraszi</name><uri>http://www2.sqlblog.com/members/TiborKaraszi.aspx</uri></author><category term="Installation" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/Installation/default.aspx" /><category term="Maintenance" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/Maintenance/default.aspx" /><category term="SQL Server Agent" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/SQL+Server+Agent/default.aspx" /><category term="Tools" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/Tools/default.aspx" /><category term="Troubleshooting" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/Troubleshooting/default.aspx" /></entry><entry><title>List columns where collation doesn't match database collation</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2012/05/23/list-columns-where-collation-doesn-t-match-database-collation.aspx" /><id>http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2012/05/23/list-columns-where-collation-doesn-t-match-database-collation.aspx</id><published>2012-05-23T16:58:00Z</published><updated>2012-05-23T16:58:00Z</updated><content type="html">Below script lists all database/table/column where the column collation doesn't match the database collation. I just wrote it for a migration project and thought I'd share it. I'm sure lots of tings can be improved, but below worked just fine for me for a one-time execution on a number of servers. IF OBJECT_ID ( 'tempdb..#res' ) IS NOT NULL DROP TABLE #res GO DECLARE @db sysname , @sql nvarchar ( 2000 ) CREATE TABLE #res ( server_name sysname , db_name sysname , db_collation sysname , table_name...(&lt;a href="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2012/05/23/list-columns-where-collation-doesn-t-match-database-collation.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=43522" width="1" height="1"&gt;</content><author><name>TiborKaraszi</name><uri>http://www2.sqlblog.com/members/TiborKaraszi.aspx</uri></author></entry><entry><title>Send email after Agent job execution</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2011/12/28/send-email-after-agent-job-execution.aspx" /><id>http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2011/12/28/send-email-after-agent-job-execution.aspx</id><published>2011-12-28T11:15:00Z</published><updated>2011-12-28T11:15:00Z</updated><content type="html">After executing a job, I want to have an email with the following information: Success or failure in the mail subject (not just in the body) Success or failure and execution time for each job step in mail body Have output file(s) for the job steps attached to email Agent has none of above built-in so I created my own procedure for this. This is meant to be added as a final job step for your jobs. You find all details and the procedure here: http://www.karaszi.com/SQLServer/util_MailAfterJob.asp ....(&lt;a href="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2011/12/28/send-email-after-agent-job-execution.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=40667" width="1" height="1"&gt;</content><author><name>TiborKaraszi</name><uri>http://www2.sqlblog.com/members/TiborKaraszi.aspx</uri></author><category term="SQL Server Agent" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/SQL+Server+Agent/default.aspx" /></entry><entry><title>SQL Live Monitor</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2011/11/19/sql-live-monitor.aspx" /><id>http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2011/11/19/sql-live-monitor.aspx</id><published>2011-11-19T08:46:00Z</published><updated>2011-11-19T08:46:00Z</updated><content type="html">I just found this one out there and wanted to share it. It connects to an instance and show you a bunch of figures. Nothing you can't extract yourself with SQL queries, but sometimes it is just nice to have one tool which is very easy to use. Here's what it looks like when connecting to an instance with no load on it: As you can see, there are some hyperlinked pages as well, and there are also some interesting options (like logging to CSV or for PAL analysis) under the "Option" button. One more thing...(&lt;a href="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2011/11/19/sql-live-monitor.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=39884" width="1" height="1"&gt;</content><author><name>TiborKaraszi</name><uri>http://www2.sqlblog.com/members/TiborKaraszi.aspx</uri></author><category term="Performance" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/Performance/default.aspx" /><category term="Tools" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/Tools/default.aspx" /></entry><entry><title>Who owns your jobs?</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2011/10/06/who-owns-your-jobs.aspx" /><id>http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2011/10/06/who-owns-your-jobs.aspx</id><published>2011-10-06T16:13:00Z</published><updated>2011-10-06T16:13:00Z</updated><content type="html">Yep, another Agent blog. The topic of job owner has been discussed here before, but this is a specific situation, which potentially is a ticking bomb. First a quick recap of how agent does things: When a job is owned by somebody who is sysadmin, then no impersonation is performed. T-SQL jobsteps will be executed as Agent's own Windows authenticated login. Other jobsteps (which operates as the OS level) is done in Agent's service account's context. Above is, assuming you didn't ask for impersonation...(&lt;a href="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2011/10/06/who-owns-your-jobs.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=38900" width="1" height="1"&gt;</content><author><name>TiborKaraszi</name><uri>http://www2.sqlblog.com/members/TiborKaraszi.aspx</uri></author><category term="SQL Server Agent" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/SQL+Server+Agent/default.aspx" /><category term="Troubleshooting" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/Troubleshooting/default.aspx" /></entry><entry><title>Agent Alerts Management Pack updated</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2011/09/15/agent-alerts-management-pack-updated.aspx" /><id>http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2011/09/15/agent-alerts-management-pack-updated.aspx</id><published>2011-09-15T19:13:00Z</published><updated>2011-09-15T19:13:00Z</updated><content type="html">I have updated the Agent Alerts Management Pack, cleaned up the T-SQL code which creates the alerts. You can now just copy, paste and execute that code. Earlier, for some of the some of the alert definitions it just generated the calls to the query result window, and you had to copy this to a query window and execute it. Now you just copy the code and execute it. You find it here: http://www.karaszi.com/SQLServer/util_agent_alerts.asp ....(&lt;a href="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2011/09/15/agent-alerts-management-pack-updated.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=38484" width="1" height="1"&gt;</content><author><name>TiborKaraszi</name><uri>http://www2.sqlblog.com/members/TiborKaraszi.aspx</uri></author><category term="SQL Server Agent" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/SQL+Server+Agent/default.aspx" /></entry><entry><title>Ola Hallengren's maint procedures now supports logging to table</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2011/07/16/ola-hallengren-s-maint-procedures-now-supports-logging-to-table.aspx" /><id>http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2011/07/16/ola-hallengren-s-maint-procedures-now-supports-logging-to-table.aspx</id><published>2011-07-16T01:19:00Z</published><updated>2011-07-16T01:19:00Z</updated><content type="html">This can for instance be very useful if you want to keep track how long time things take, over time. Check them out here .Version history here ....(&lt;a href="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2011/07/16/ola-hallengren-s-maint-procedures-now-supports-logging-to-table.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=36985" width="1" height="1"&gt;</content><author><name>TiborKaraszi</name><uri>http://www2.sqlblog.com/members/TiborKaraszi.aspx</uri></author><category term="Maintenance" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/Maintenance/default.aspx" /><category term="SQL Server Agent" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/SQL+Server+Agent/default.aspx" /><category term="Tools" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/Tools/default.aspx" /></entry><entry><title>Article released about moving databases</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2011/07/10/article-released-about-moving-databases.aspx" /><id>http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2011/07/10/article-released-about-moving-databases.aspx</id><published>2011-07-10T13:26:00Z</published><updated>2011-07-10T13:26:00Z</updated><content type="html">Just a short notice that I've released an article about moving databases between SQL Server instances: You find it at http://www.karaszi.com/SQLServer/info_moving_database.asp ....(&lt;a href="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2011/07/10/article-released-about-moving-databases.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=36757" width="1" height="1"&gt;</content><author><name>TiborKaraszi</name><uri>http://www2.sqlblog.com/members/TiborKaraszi.aspx</uri></author><category term="Maintenance" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/Maintenance/default.aspx" /><category term="SQL Server Agent" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/SQL+Server+Agent/default.aspx" /><category term="Troubleshooting" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/Troubleshooting/default.aspx" /></entry><entry><title>Restricting memory using Resource Governor</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2011/04/19/restricting-memory-using-resource-governor.aspx" /><id>http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2011/04/19/restricting-memory-using-resource-governor.aspx</id><published>2011-04-19T11:13:00Z</published><updated>2011-04-19T11:13:00Z</updated><content type="html">You might know that Resource Governor (RG) can be used to allow you to affect resource allocation inside SQL Server. RG was introduced with SQL Server 2008 and requires Enterprise Edition or similar/higher. There are two things you can govern using RG: cpu and memory. For introductory information on RG, see for instance these BOL topics . A misconception I see from time to time is that the memory setting is to restrict the Buffer Pool, BP, (mainly used for caching pages from disk). This seems difficult...(&lt;a href="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2011/04/19/restricting-memory-using-resource-governor.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=35008" width="1" height="1"&gt;</content><author><name>TiborKaraszi</name><uri>http://www2.sqlblog.com/members/TiborKaraszi.aspx</uri></author><category term="Performance" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/Performance/default.aspx" /></entry><entry><title>What does this Express Edition look like, anyhow?</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2011/02/10/what-does-this-express-edition-look-like-anyhow.aspx" /><id>http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2011/02/10/what-does-this-express-edition-look-like-anyhow.aspx</id><published>2011-02-10T17:40:00Z</published><updated>2011-02-10T17:40:00Z</updated><content type="html">Chances are that you rarely get to see the Express Edition of SQL Server if you mainly work with servers. This blog post is inspired from a forum discussion where some functionality is missing in SQL Server Management Studio (SSMS) and I suspected that the tools were installed as a Basic installation instead of Complete installation. So how do I check that? Difficult if I don’t have such an install to look at. I’m training this week and have a few spare machines to play with so I went ahead and installed...(&lt;a href="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2011/02/10/what-does-this-express-edition-look-like-anyhow.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=33378" width="1" height="1"&gt;</content><author><name>TiborKaraszi</name><uri>http://www2.sqlblog.com/members/TiborKaraszi.aspx</uri></author><category term="Express Edition" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/Express+Edition/default.aspx" /><category term="Installation" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/Installation/default.aspx" /></entry><entry><title>Are we Borg?</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2011/02/09/are-we-borg.aspx" /><id>http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2011/02/09/are-we-borg.aspx</id><published>2011-02-09T20:47:00Z</published><updated>2011-02-09T20:47:00Z</updated><content type="html">Is it time to stop remeber things? For real, this time? Today I needed to find two pieces of SQL Server related information. One was straight foward, I posted it on #sqlhelp on twitter and a minute or so later I had the answer. The other was a bit more involved and I asked around in our MVP mail list - a couple of hours later I had bunch of suggestions and tips. These are only examples, it could just as well have been some web-forum, newsgroup, or some other forum. We've all had cases like this,...(&lt;a href="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2011/02/09/are-we-borg.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=33353" width="1" height="1"&gt;</content><author><name>TiborKaraszi</name><uri>http://www2.sqlblog.com/members/TiborKaraszi.aspx</uri></author></entry><entry><title>Upgrading from Express Edition to Standard Edition</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2011/01/27/upgrading-from-express-edition-to-standard-edition.aspx" /><id>http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2011/01/27/upgrading-from-express-edition-to-standard-edition.aspx</id><published>2011-01-27T12:14:00Z</published><updated>2011-01-27T12:14:00Z</updated><content type="html">Say you encounter an SQL Server which is Express Edition, and it really should have been some higher edition. Sounds familiar? It is common for me as a consultant to find plenty of SQL Servers at a customer's site. Many of the databases in these will be moved (typically using backup and restore) to a "real" SQL Server. But in some cases, this might not be desirable. You want to convert the whole instance, from Express to a "real" SQL Server edition. I'm attending a great SharePoint course for Daniel...(&lt;a href="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2011/01/27/upgrading-from-express-edition-to-standard-edition.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=32952" width="1" height="1"&gt;</content><author><name>TiborKaraszi</name><uri>http://www2.sqlblog.com/members/TiborKaraszi.aspx</uri></author><category term="Installation" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/Installation/default.aspx" /><category term="SQL Server Agent" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/SQL+Server+Agent/default.aspx" /></entry><entry><title>Point-in-time restore of database backup?</title><link rel="alternate" type="text/html" href="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2010/12/28/point-in-time-restore-of-database-backup.aspx" /><id>http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2010/12/28/point-in-time-restore-of-database-backup.aspx</id><published>2010-12-28T16:42:00Z</published><updated>2010-12-28T16:42:00Z</updated><content type="html">SQL Server 2005 added the STOPAT option for the RESTORE DATABASE command. This sounds great - we can stop at some point in time during the database backup process was running! Or? No, we can't. Here follows some tech stuff why not, and then what the option is really meant for: A database backup includes all used extents and also all log records that were produced while the backup process was running (possibly older as well, to handle open transactions). When you restore such a backup, SQL Server...(&lt;a href="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/2010/12/28/point-in-time-restore-of-database-backup.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=32051" width="1" height="1"&gt;</content><author><name>TiborKaraszi</name><uri>http://www2.sqlblog.com/members/TiborKaraszi.aspx</uri></author><category term="Backup" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/Backup/default.aspx" /><category term="Transaction log" scheme="http://www2.sqlblog.com/blogs/tibor_karaszi/archive/tags/Transaction+log/default.aspx" /></entry></feed>