Photo by HikingKid
I was working on a problem last week that caused me to, more than once, blaspheme various deities known to humankind. I had 10 servers each running SQL 2008 Express. An application that was supposed to process data in these databases had unexpectedly quit and, thus, I had 4 tables in each DB that had more than 60,000 rows of data to process and more data coming in. The application which had to process the data was using 2 GB of memory and quickly rising. 2 GB may not seem like a lot but we are talking an x86 server with 4 GB of RAM.
The thing about all this data, however, is that it is largely time specific. Online status, computer logons (not user logons) etc. After 30 minutes or so, the data was not important any longer (as it had been replaced by other logon events and online status updates.)
The amount of data that had to be processed at each of the servers was so immense that the servers were not responding the way I needed them to. Since I didn’t need the data, I simply decided to purge the outdated data from certain tables.
I opened up Admin Arsenal and selected and ran a Remote Command against a collection which held all my servers on which Microsoft SQL Express was installed.
Since Admin Arsenal’s Remote Command feature will actually run the command on each selected system there was no need for me to provide a server name.
Within 2 minutes all of my databases were processing current data and all was well.
I needed a quick solution and I got one. I couldn’t log on to each system from the SQL Database Manager application provided by Microsoft. The overhead of each connection was so great that even increasing the timeout to 300 seconds was not enough. Plus, even if I COULD have attached to each DB via the Manager I would have been working against myself. I needed all the unneccesary data gone from all the systems fast. Individual attention to each would take too long.
Remember, sometimes your solution is just one command away…
Follow me on Twitter @ShaneCorellian