Well yesterday I said I was going to solve the problem of freeing up space on your system disk by moving the temp windows uninstall files.
I have managed to write a VB script that will move most of them, namely all those that are in a folder starting $NtUninstall.... anything it cant find in the registry it wont touch.
The script does the following for each input argument:
1. Extracts the update name from the folder path
2. Finds this update in the registry
3. Copies the update folder to the the destination path (set in the script)
4. Modifies the registry entry to reflect the new file path.
5. removes the old update folder.
6. pops up "completed operations" when its finished
7. Saves a log file in the destPath
What is doesnt do is handle errors, if you run out of space on your destination path whilst copying an update you will be left with half a folder on your update drive. Dont worry though, it wont then edit the registry, or remove the old folder.
If you use this script it is entirely at your own risk, i.e. test it first, then really test it, then assume it wont work and check your DR plan
Find the source code after the break
Monday, 19 November 2007
Sunday, 18 November 2007
4GB System partition! HELP!
If you have inherited a Windows server with a 4GB system partition then like me you are probably screaming "Help!" as the never ending list of windows updates eats what little spare space you have.
Why 4GB? Well back in the day FAT only supported 4GB drives, and may systems had there system partitions set at 4GB. When the newer FAT32 or even NTFS came out and admins upgraded from NT to Server 2000 they simply installed over this 4Gb partition. There was also a fashion to keep your system and user areas apart as pre NTFS there was no easy way to control how many files users places on your servers.
So you have the problem, whats the solution?
Right now Im not sure, and this has now become critical as I need to upgrade to ASP 2.0 .NET but there isnt enough space left on the system disk and ASP doesnt give you and option to put it anywhere else.
My plan? Im going to try writing a VB Script to move the hidden update files from C:\ to a disk with more space and modify the registry so furture updates can find them. This script will also need to check the dates of the installs and allow me to filter them, as I only really want to risk moving those over X days old. I will need to write another script to put inidividual updates back as they are required.
This should see me clear the best part of 600MB of C: which is quite a whack when its only 4000MB to start with, hell I might even manage to get a whole spare GB, crazy.
Why 4GB? Well back in the day FAT only supported 4GB drives, and may systems had there system partitions set at 4GB. When the newer FAT32 or even NTFS came out and admins upgraded from NT to Server 2000 they simply installed over this 4Gb partition. There was also a fashion to keep your system and user areas apart as pre NTFS there was no easy way to control how many files users places on your servers.
So you have the problem, whats the solution?
Right now Im not sure, and this has now become critical as I need to upgrade to ASP 2.0 .NET but there isnt enough space left on the system disk and ASP doesnt give you and option to put it anywhere else.
My plan? Im going to try writing a VB Script to move the hidden update files from C:\ to a disk with more space and modify the registry so furture updates can find them. This script will also need to check the dates of the installs and allow me to filter them, as I only really want to risk moving those over X days old. I will need to write another script to put inidividual updates back as they are required.
This should see me clear the best part of 600MB of C: which is quite a whack when its only 4000MB to start with, hell I might even manage to get a whole spare GB, crazy.
Recent developments
SQL Server / Reporting Services 2005
We have recently been going through a little restructure at work. This has seen us install a new 2005 SQL Server. I must say the newer version of reporting services is much better. It has a much better feature set including the ability to build data models to build your reports from.
Data models ensure that all your reports use the same SQL, and if you should find a bug you only have one place to fix it in. Another nice touch is that you can expose the data models to the users and let them write their own reports, yay!
The new Visual Studio 2005 enhancements to make writing DTs packages a wiz are great. We now dump all our live data bases (900MB) across to our 2005 server, drop the 2005 databases, "restore" them from the live system, pre calculate some data, all in under 30 minutes. Thank you DTS :)
Im having to install a version of ISA though to sort out the routing of traffic to the right reports server based on URL. This will lift some of the load off our tired IIS server. This is proving quite a challenge and the wizards wont get you there, so read up on this one first.
We have recently been going through a little restructure at work. This has seen us install a new 2005 SQL Server. I must say the newer version of reporting services is much better. It has a much better feature set including the ability to build data models to build your reports from.
Data models ensure that all your reports use the same SQL, and if you should find a bug you only have one place to fix it in. Another nice touch is that you can expose the data models to the users and let them write their own reports, yay!
The new Visual Studio 2005 enhancements to make writing DTs packages a wiz are great. We now dump all our live data bases (900MB) across to our 2005 server, drop the 2005 databases, "restore" them from the live system, pre calculate some data, all in under 30 minutes. Thank you DTS :)
Im having to install a version of ISA though to sort out the routing of traffic to the right reports server based on URL. This will lift some of the load off our tired IIS server. This is proving quite a challenge and the wizards wont get you there, so read up on this one first.
Tuesday, 31 July 2007
Reporting services General network error has occured (Helpful) rsInternalError
Problem
If you run MS Reporting Services 2000 you may find that when running large reports you get one of the following messages:
"A general error occurred"
"An internal error occurred" - rsInternalError
When you check the SQL Server logs you'll see that an out of memory execption was thrown. normally with a "Error: 17803, Severity: 20, State: 12"
Now on our server we still had plenty of physical memory left, especially after applying the exchange fix below. But this error still happens, so why? or rather "how the heck do I fix this so users can access that report again?"
Continue after the break for the solution
If you run MS Reporting Services 2000 you may find that when running large reports you get one of the following messages:
"A general error occurred"
"An internal error occurred" - rsInternalError
When you check the SQL Server logs you'll see that an out of memory execption was thrown. normally with a "Error: 17803, Severity: 20, State: 12"
Now on our server we still had plenty of physical memory left, especially after applying the exchange fix below. But this error still happens, so why? or rather "how the heck do I fix this so users can access that report again?"
Continue after the break for the solution
Wednesday, 25 July 2007
MS Exchange uses all my memory up!
MS Exchange is designed by default o use as much memory as it can, and then free it up if other processes need it. This is fine in principle, but if your exchange server happens to be a Small Business Server (SBS) then it is far from perfect. This is because freeing up that memory takes CPU time.
Problem- We run Windows SBS 2000 for our main server it performs the following roles:
This simple script does the job just fine on SBS 2000 and leaves exchange using less than 100mb
net stop MSExchangeMTA
net stop MSExchangeIS
net stop MSExchangeSA
net start MSExchangeSA
net start MSExchangeIS
net start MSExchangeMTA
Problem- We run Windows SBS 2000 for our main server it performs the following roles:
- File server
- Web server
- Exhange server
- SQL server
- Active directory
- Shared fax service
- etc
- It causes exchange to rob over 1Gb of RAM that it is reluctant to give up
- The cache it holds is rubbish as the most recently accessed data is the last mail box or two to be backed up, not the most current items in each users inbox.
This simple script does the job just fine on SBS 2000 and leaves exchange using less than 100mb
net stop MSExchangeMTA
net stop MSExchangeIS
net stop MSExchangeSA
net start MSExchangeSA
net start MSExchangeIS
net start MSExchangeMTA
First post - why?
Why run a blog?
Well being an IT manager who spends a great deal of time searching Google for solutions to various IT based problems I thought it was time I fed back some of my random solutions to the problems that occur everyday in my IT work. Simple.
These maybe software, hardware, coding, scripting. And could either be fixes or shortcuts and useful tricks I have found.
I dont expect anyone to follow this blog, more stumble across it via Google and other web searches. I hope they find the answers they seek here, sometimes just knowing someone else has the problem is helpful.
Well being an IT manager who spends a great deal of time searching Google for solutions to various IT based problems I thought it was time I fed back some of my random solutions to the problems that occur everyday in my IT work. Simple.
These maybe software, hardware, coding, scripting. And could either be fixes or shortcuts and useful tricks I have found.
I dont expect anyone to follow this blog, more stumble across it via Google and other web searches. I hope they find the answers they seek here, sometimes just knowing someone else has the problem is helpful.
Subscribe to:
Comments (Atom)