A Blog by Scott Isaacs

Tag: Technology Page 5 of 11

Database Publishing Wizard

I don’t think I’ve written about this tool yet, but it’s one of my favorites.

Microsoft has release (on Codeplex) a SQL Server Hosting Toolkit (it’s free).  The entire toolkit is, I’m sure, full of goodness, but there is one part in particular that I really get a lot of use out of it.  I just shared it with Gerry to help him get his blog back up and running (finally), so I thought I’d post about it here.

The part that I’m in love with is the Database Publishing Wizard (download).  As the name implies, it’s a wizard and it will script out all or part of a database to a SQL file.  If your SQL Server host has installed the corresponding server-side bits, you can publish the database right to your remote DB instead of to file, but I personally like exporting to file.

Anyway, on the first screen you specify a connection to a SQL Server database server (2000 or 2005).  Then you step through a few screens and specify other options, such as which catalog to connect to, which tables to script, the target database version (2000 or 2008), and decide if you want to script the schema, data or both.  Then you “Hit Go” and a moment later you have a single .SQL file, suitable for executing in Query Analyzer, or whatever it is that they call the 2005 version of that.

I’ve used it for backing up a database at a particular point in time, so that, for example, I can revert to a version of the database that matches a particular version of my source (from VSS).  It’s also very handy for moving a database from one server to another, such as what Gerry needed to do.

I can think of a number of things that could be neat features to add, but it could easily get bloated unnecessarily.  So, with that in mind, there are only a couple things that I would like to see changed/added in this app:

  1. Ability to save my settings to a “project file” of sorts.  Perhaps, .DBPPROJ?  I’d rather not have to type in my server name, connection info, and script preferences each time.
  2. I’d prefer the default name for the generated script to be something along the lines of SERVERNAME_CATALOG_yyyymmdd.sql

Those aren’t that big of a deal, really, but I think it would be a relatively small investment on the part of the team that made this thing, and those features could save me minutes of time over the course of a week.  🙂

So if you’re a developer working with SQL Server databases, I’d definitely recommend checking out this piece of free software.

Remember When 56K Was Fast?

Back in the old days (12-13 years ago) my first modem clocked in at a whopping 14.4K.  Soon after I upgraded to a 56K modem and thought I was in heaven.  That’s four times as fast!

Flash forward to today at work when out DSL line was down for a couple hours, thanks to some mistake at CenturyTel.  Normally I would just work offline, but I had a few things I had to do online, so I plugged a long phone cord into the fax machine and used the modem built-in to my computer.

So.  Painful.

I had to send a couple e-mails, which wasn’t so bad, but I also had to download a 5MB file.  It took about 20 minutes.  After the line came back up I downloaded a 50MB file in only a couple minutes.

It just goes to show how spoiled we’ve (I’ve) become.  I’ve heard rumors that some people still use dialup.  Those must be the same people that whip themselves with ropes laced with shards of glass and stuff.

Facebook, MySpace, LinkedIn, Twitter …

So I have accounts on a million different social networking sites, such as Facebook, LinkedIn, TwitterMySpace, Orkut, Spoke (are they still around?), Ryze, and the list goes on and on and on and on.  You name it, and if it was ever even slightly popular, I’ve probably been a member.

Do I use them?  Almost never.  Sure I create accounts, maybe add a couple friends, a bookmark or two, etc.  But I don’t use them because I don’t get any value out of them.  All of the “friends” I add are friends I already have (NOTE: when I say friends here, I mean business contacts, family and friends — basically any relationship).  Why do I need 10 copies of my friends?  With 10 copies of their contact info?  And 10 copies of their picture?  And 10 places for me to “find out what’s going on in their lives”?  And 10 places to get spammed?

Recently I’ve signed up for Facebook and added a couple friends just to see what all the hype is.  I found the answer — it’s hype.  Plain and simple.  Sure, it can be entertaining, and there is definitely value in that, but that’s all the real value I’ve seen from these sites.  I have used LinkedIn once or twice for something productive, but I could have just as easily accomplished the same task from a different angle.

So anyway, if you’re on these sites, feel free to add me.  If I know you at all, I’ll definitely “accept” the connection.  Prove me wrong.  Make me appreciate them.

That’s just me.  Does anyone agree or disagree?

On the flip side, there is really only one website that I can think of that is indispensable to me: iGoogle.  99% of my iGoogle usage is search, but I like having my bookmarks and search history readily available.

My MSDN Subscription

My MSDN subscription is expiring soon — October I think.  (Does any know where can I verify this short of digging through e-mails?)  What’s a poor developer to do?

So, who wants to give me a subscription so I can stay current?  Anyone?

Seeking .NET Developer

I don’t often specifically mention my company when I blog, but we’re looking for a developer.  Short description: “VB 2005, SQL 2005, RFID”.  Slightly longer description here.  For even more info, please contact me directly — I get copied on messages sent to the e-mail alias on the job posting.  If you or someone you know is interested, please let me know.

I Really Like Windows Live Writer

I downloaded the latest beta of Windows Live Writer* a couple days ago and have finally gotten around to making a post with it.  I didn’t have any real issues with the previous version, although there were a couple things I would have liked changed.  Applying tags (categories) to a post is not any easier now than it was with the previous version, but it is harder to forget now.  There is a setting that causes WLW to remind me to add categories before posting.  A nice friendly dialog pops up and says something along the lines of, “You haven’t categorized this post yet.  Do you want to post it anyway?”

All in all, WLW makes it much more enjoyable to post.  Since I started using it I’ve posted more.  I still may go a while between posts, but when I post one, it is so easy that I usually end up posting a couple more within a short amount of time.  For example, this is my third post in about 20 minutes.

Anyway, I recommend you download and try it.  It works with lots of popular blogging engines.

* = When I first type “Windows Live Writer”, I misspelled it and typed “Windows Lice Writer”  For some reason I thought that was funny enough to mention here.  Maybe it’s my level of sleepiness?

How I Got VS 2005 To Leak Up To 1GB+ Of My RAM

I’ve been working on this same project at work for several months now, and today I started having some issues.  I went to “save all” and got a message that there was insufficient storage.  Since I have nearly 20GB free on my disk I knew that wasn’t exactly right.  I looked in Task Manager and, lo and behold, devenv.exe was using over 1GB or my RAM.  I have 2GB RAM on this machine so I didn’t notice any issues with other programs while this was happening.  It was just VS.

I’m hoping someone will have some thoughts on what I might try to fix this problem.  It’s very frustrating because I have to close VS regularly and re-launch it to release this memory.

So anyway, first, a little background. 

My System Setup

I have a Dell XPS laptop, 2.?? GHz Intel, 2GB RAM, 100GB HDD.  I have Windows XP Pro, SP2.  I am running VS 2005 with SP1 that came out a few months ago.  I recently (within the last week or so), removed all of the .NET 3.0 stuff I had (framework, VS extensions, etc.), as well as ASP.NET AJAX, and reinstalled them to make sure I had the latest bits of everything.

My System Snapshot

After starting the morning with a fresh semi-weekly reboot, I started working as normal.  Currently running on my system, besides VS 2005:

  • Outlook 2003
  • SQL Server 2000, 2005 Express, and SQL Server Mgmt Studio
  • iTunes
  • Windows Live Messenger
  • Cropper
  • My RSS reader
  • Various other tiny apps and things that just run with Windows XP

The Solution

The entire solution takes roughly 150MB on disk, including resources such as images and documents, and has 9 projects (all VB.NET):

  • A client EXE
  • A Windows service
  • Two other EXEs
  • Five shared libraries (DLLs)

I have a custom build configuration that is exactly the same as the standard “Debug” build configuration, except that it does not build the service (since it is usually running).  When I want to build the service, I stop the service, switch to Debug, build, switch back to custom build configuration.

This project is not under source control through VS, so I am doing manual backups on a regular basis.  I know this is wrong on so many levels, but when I started, there was no source control server.  I have since set one up, but haven’t added the project yet.  In the meantime, I am backing up to a time-stamped folder on the network.

The Problem

So far, except for the .NET 3.0 and AJAX un/re-install, this is no different than my environment has been for the last several months.  Yet today, I was having troubles.  After I noticed the trouble for a while, I decided to close down VS and start it up again, this time keeping track of what I did and the effects on memory usage.  I did some simple documenting of my step, and took some screenshots of Task Manager.  I recorded memory usage after each step, although I failed to take screen shots at each step, so I’ve just included a few of those for kicks.  So, here goes:

 

Step Taken Memory Usage of devenv.exe

VS loaded, no open solutions or files

44MB
Solution loaded, no open files
208MB
Solution open and 3 source files open 212MB
Build solution 231MB
Make a small change, build again
270MB
Change build configuration to debug (so I can build my service so that it refers to the correct version of my shared libraries) 299MB
Build solution 326MB
Change back to custom build configuration
356MB
Make another small change and build again 396MB
Do something that causes several errors.  I commented out a base class, causing all inherited classes to have errors.  This ended up with ~150 various errors.  This was just so I could see what would happen if there were errors.  I didn’t really perform this step in “real life”. 420MB
Try building again with these errors present
519MB
Immediately try building again, with no changes of any kind
590MB
Fix one error.  I uncommented the Class / End Class lines that I had commented a moment before, but left the class members commented. 647MB
Try building again 672MB
Fix half the remaining errors, by uncommenting half the commented members 702MB
Try building again 723MB
Fix remaining errors 756MB
Build again
757MB
Change build configuration back to Debug so I could build my service 786MB
Build again 826MB
Change back to custom build coninguration 850MB
Build again 891MB
Add “Dim a As String” to a class file and save
924MB
Build again 939MB
Remove “Dim a As String” from the previously mentioned class file 968MB
Build again
976MB
Close open files and solution, leaving VS still open
895MB

So, what’s the deal?  Is it related to the .NET 3.0 / AJAX stuff I mentioned above?  I know some of the steps I’ve mentioned are contrived, but they’re not at all unrealistic.  The process of adding a variable declaration, building, removing it, building again shouldn’t really take up 85MB of RAM that never gets released, right?

I did a quick Google search for Visual Studio 2005 memory leaks, but didn’t find anything helpful in the first page or so, so I stopped looking hoping that someone might have a suggestion.  If anyone has any ideas, please comment on this post or e-mail me directly.  If you don’t have my e-mail address, you can use the contact form on this site.  This isn’t stopping me from working, but it’s stopping me from working effectively.

New Google Logo

So it looks like Google is now using a new logo on their “ig” start page, rebranding it as “iGoogle”.  I saw the logo when I got online tonight, and then a quick search led me to this (more).

Personally, I think this is a pretty lame name.  I thought Apple was the only one still prepending words with the letter “i” to create a brand.  That’s so 1999.  [;)]

Regardless of the name, it’s still my home page.

CodePlex TFS Down?

I went to CodePlex to see what’s been going on with a couple projects since the last time I was there, and it seems that the Team Foundation Server is down.  I noticed it last night and it still seems to be down now.  I got a couple different error screens, depending on what I was trying to do.  This one when trying to view issues:

 And this one when going to the Source Code screen:

Anyway, there’s no real reason for posting this other than to post something.  So there.  I posted again.  Twice in one day.

Telerik — The Quest?

So, what is it?

I added my piece, but it’s in a lousy location.  You can’t even really tell it’s there.  Five points* to the first person to find it!

* Points have no cash value and cannot be redeemed for anything with any cash value.  Basically, I might as well have offered five billion points — you’re not really going to get anything for it.  However, you do have the privilege of saying that you got the points, and that’s worth something in and of itself.

(via Sahil Malik)

Page 5 of 11

Powered by WordPress & Theme by Anders Norén