Larry Brouwer

…just my technology sandbox …for my personal amusement only!

Browsing Posts published in May, 2010

Today, I discovered that SmarterMail isn’t receiving emails from other hosts outside my local network. I first logged on to SmarterMail as admin. Nothing apparently wrong with the mail system. I next opened up a Command Prompt and tried to telnet to mail.larrybrouwer.com 25 and it worked fine. Next, I logged on to a remote server and again attempted to telnet to the smtp service. This time, nothing happened.

My thoughts then turned to firewall issues. So I checked to make sure that the firewall wasn’t blocking port 25. It isn’t, but just to make sure, I disabled the firewall and again tried to telnet into the email server on port 25. I’m still not able to log in.

I next suspected my D-Link DIR-655 router as the problem. I logged into the router and checked the Virtual Server settings. The the router settings look fine. I then remapped port 25 to port 80 just to see if I can get through to the web server. Re-mapping didn’t work. Now I’m really puzzled.

Still thinking that it’s a router issue (since remapping ports didn’t work), I looked at the Firewall Settings. The TCP Endpoint Filtering is set to ‘Port And Address Restricted’. I changed it to ‘Endpoint Independent’. I also enabled anti-spoof checking. I then rebooted the router. After re-logging back into the router, all of my Virtual Servers have disappeared. I re-entered them. I then attempted the telnet test to port 25 again. This still did not help the problem.

I next attempted to set up the DMZ on the DIR-655 for my web server. This should allow all traffic to flow to the web server. After re-booting, I again tried to telnet to port 25 with no success. But I am now able to telnet to port 110 (pop3).

So, by now I’m beginning to pull my hair out. What’s going on here? Well, I finally figured it out when I changed the default port for SMTP from 25 to 587. Once I did that, I was able to telnet to that port fine. So, my conclusion is that my ISP is blocking port 25 traffic. I verified this by Googling on ‘Comcast Blocked Ports’, and I got several links describing numerous ports that Comcast is blocking. The blocked ports include: 25, 68, 135-139, 445, 520, 1080, but may vary by location.

I verified this by attempting to telnet to an outside email server at port 25, and indeed it did not respond, but port 587 did respond fine.

I then went into my Comcast email account to check my messages (something I rarely do), and sure enough, there is a message “Customer Security Assurance Notice” which tells me that they’ve block port 25. I know why they did this! see my prior post here. This is a major bummer, and I read many posts left by upset Comcast customers.

I found one post that says the way to get this quickly resolved is to contact the Comcast Customer Security Assurance Center directly at (856) 317-7272 and avoid contacting the normal Comcast Internet Support channels. So I did this, and spoke to a very nice technician, and he said he would unblock the port within 15 minutes. Great news! It was actually completed within a minute of hanging up the phone with Comcast.

I then proceeded to turn on my Server’s firewall, and to configure SmarterMail back the way it was prior to all of this happening!

My next problem occurred when I attempted to send a test email from my web server to my Yahoo account, and it bounces back saying that Yahoo is not accepting messages from IP addresses on Spamhaus PBL. I did a Google search and found this article, How can I remove my IP address from the Spamhaus Database? So I went to Spamhaus and entered my IP address, and it came back with a hit on Spamhaus. I then clicked on the link to resolve the issue, and it came back stating that since I’m a Comcast residential customer, it can’t be removed from the list. Bummer!

So this means, I can receive emails, but I cannot send them. I will continue this tomorrow.

This afternoon, I’m working on moving the development instance for a client from my test server to his host provider, cBeyond. The first thing I did was to back up his existing site with FileZilla to my local hard drive. I then went into phpMyAdmin on his host site and backed up his existing WordPress database instance.

I then went into MySQL Workbench on my development server and exported the WordPress Schema. I then imported the database Schema into the host provider using phpMyAdmin. Next, I used FileZilla to upload all the WordPress site files from my development server to the cBeyond host server. This took about 15 minutes to complete.

I then logged back into phpMyAdmin, and ran the following sql query:

select * from wp_options

I then edited the results for option_name = ‘home’ to ‘http://www.clearlakeautoservice.com’. I also edited the results for option_name = ‘siteurl’ to same.

Continued on 5/12/2010…

Next, I copied the wp-config.php from the original WordPress site on the host provider to my local hard drive. I updated the new wp-config.php file and changed the following entries:

// ** MySQL settings – You can get this info from your web host ** //
/** The name of the database for WordPress */

define(‘DB_NAME’, ‘********’);

/** MySQL database username */
define(‘DB_USER’, ‘********’);

/** MySQL database password */
define(‘DB_PASSWORD’, ‘********’);

/** MySQL hostname */
define(‘DB_HOST’, ‘localhost’);

I next went into phpMyAdmin and granted all privileges the new WordPress database to the existing DB_USER used above.

I am now able to pull up the new site Clearlake Auto Service. I’m not done yet. Now, I need to update the perma-links. I logged into the WordPress site and navigated to Settings | Permalinks. I then toggled from Day and name to Default and clicked Save Changes. I then put it back to Day and name and clicked Save Changes.

This morning, I’m continuing to work with the HCMGA database. I need to get a maintenance plan implemented to keep the database tuned up. The Performance purge job ran well into the night, and when I logged in to the server this morning, the memory was maxed out, and performance in the application was very sluggish. So I rebooted the box and it’s working better now.

Next, I wanted to see if I could shrink down the 50GB Performance.mdf file. I opened SSMS and executed the following query:

USE [Performance]
GO
DBCC SHRINKDATABASE(N’Performance’, 10, TRUNCATEONLY)

It took several minutes to run, but it did not release any space back to the OS. I then configured Database Mail for Alerts in prod as per my prior post. I set up a new Operator and a test alert to verify messages are being sent out.

I found a good post on MS SQL 2008 maintenance plans best practices. I also ran across free redgate eBooks on Sql Server.

What I ended up doing for now is to open SSMS and log into prod. I then Opened the Management tab and right clicked on Data Collection and chose Disable Data Collection. I then closed out of SSMS and opened the Sql Server Configuration Manager and shut down the prod database and restarted just the SQL Server process. I then logged back into SSMS as prod and dropped the Performance database. I then went back into Sql Server Configuration Manager and started the remaining services: Sql Server Analysis Services, Sql Server Reporting Services, Sql Server Agent. This freed up about 40GB of disk space. There is now 77GB of free disk space on the C: drive.

One of the eBooks from redgate, author Brad McGehee, entitled Brad’s Sure Guide to SQL Server Maintenance Plans, ISBN: 978-1-906434-33-5, references several online sites where DBA’s have published their own maintenance plans. I chose to install Ola Hallengren’s THREE-IN-ONE Database Maintenance SOLUTION. It’s pretty simple to install. Just follow the “Getting Started Guide”. I downloaded the scripts and logged into SSMS dev database. I ran the MaintenanceSolution.sql script (after changing the backup directory). After it executes, new Jobs are installed in the SQL Server Agent | Jobs. I changed the login to “sa” on all the jobs and ran them independently to verify that they are indeed working. I then set up a test schedule of the System_Databases_full script.

I’ll set up these jobs in dev for a few days, then complete the tasks in the production database.

Ok, so, I have two (2) blogs going right now. My first one is a BlogEngine.Net site which I called my TechNotes. It is located at http://www.larrybrouwer.com:81. My current blog is a WordPress site located at http://www.larrybrouwer.com. This is a problem because the search engines are spidering both, and there are now duplicate entries. Worse yet, the old site is getting priority, so visitors are being directed to my old TechNotes blog instead of my most current one.

What I need to do, is to implement a re-direct solution to retire the old blog gracefully and allow the search engines to be aware of the change.

After some Googling on “301 Redirects IIS7”, and reading a few articles on the subject, I decided to give it a try. I logged into my web server and opened up the IIS Manager Console. I then opened up my web site and first went into HTTP Redirect. This has some promise, but it only allows for wholesale redirects of the entire website to another location. What I need, at least initially, is the ability to redirect individual posts (or pages) of my old blog to my new one.

I next went into the URL Rewrite module of my website. This seems to have the ability to map individual pages. I then entered a test rewrite mapping rule. I selected “Matches the Patter” in the Requested URL field, and “Exact Match” in the Using field. I then entered the Entire URL into the Pattern field and selected Ignore case. In the Action section, I chose “Redirect” for the Action Type and entered the entire new URL location for the Redirect URL, and selected “Permanent (301)” for the Redirect type.

I then restarted the web site, and browsed to the old location. Nothing happened. Not knowing why it didn’t work, I repeated the process several times and finally came to a pattern that works. The pattern that works does not have the “http://www.domainname.com:81/technotes/”.

Once I got this working, I then began mapping all of my old blog entries (there aren’t very many) to my new ones. I want to keep the TechNotes site alive for a while until the search engines can update the links to my individual posts. Once they have been updated, I’ll take down that site permanently.

Here is what the “rewrite” section of my web.config looks like:

        <rewrite>
           
<rules>
               
<remove name="test" />
                <
rule name="Installing BlogEngine.Net" patternSyntax="ExactMatch" stopProcessing="true">
                   
<match url="post/2010/03/29/Installed-BlogEngineNet.aspx" />
                    <
action type="Redirect" url="http://www.larrybrouwer.com/2010/03/29/installing-blogenginenet/" />
                </
rule>
               
<rule name="Microsoft Visual Studio Tips Part 1 – Basic Editing and Navigation" patternSyntax="ExactMatch" stopProcessing="true">
                   
<match url="post/2010/03/31/Microsoft-Visual-Studio-Tips.aspx" />
                    <
action type="Redirect" url="http://www.larrybrouwer.com/2010/03/31/microsoft-visual-studio-tips-part-1-basic-editing-and-navigation/" />
                </
rule>
               
<rule name="IIS7 Statistics Reporting with Log Parser and AWStats" patternSyntax="ExactMatch" stopProcessing="true">
                   
<match url="post/2010/04/26/IIS7-Statistics-Reporting-with-Log-Parser-and-AWStats.aspx" />
                    <
action type="Redirect" url="http://www.larrybrouwer.com/2010/04/26/iis7-statistics-reporting-with-log-parser-and-awstats/" />
                </
rule>
               
<rule name="Adding AWStats to DotNetNuke (DNN)" patternSyntax="ExactMatch" stopProcessing="true">
                   
<match url="post/2010/04/26/Adding-AWStats-to-DotNetNuke-(DNN).aspx" />
                    <
action type="Redirect" url="http://www.larrybrouwer.com/2010/04/26/adding-awstats-to-dotnetnuke-dnn/" />
                </
rule>
               
<rule name="IIS7 Extensions Loaded on development web server" patternSyntax="ExactMatch" stopProcessing="true">
                   
<match url="post/2010/04/29/IIS7-Extensions-Loaded-on-development-web-server.aspx" />
                    <
action type="Redirect" url="http://www.larrybrouwer.com/2010/04/29/iis7-extensions-loaded-on-development-web-server/" />
                </
rule>
               
<rule name="Blank emails with OfficeLive Outlook Connector and repairing Outlook 2007 .PST files" patternSyntax="ExactMatch" stopProcessing="true">
                   
<match url="post/2010/04/30/Blank-emails-with-OfficeLive-Outlook-Connector-and-repairing-Outlook-2007-PST-files.aspx" />
                    <
action type="Redirect" url="http://www.larrybrouwer.com/2010/04/30/blank-emails-with-officelive-outlook-connector-and-repairing-outlook-2007-pst-files/" />
                </
rule>
               
<rule name="2010-03-30 Notes for the day" patternSyntax="ExactMatch" stopProcessing="true">
                   
<match url="post/2010/03/30/2010-03-29-Notes-for-the-day.aspx" />
                    <
action type="Redirect" url="http://www.larrybrouwer.com/2010/03/30/implementing-blogengine-net-for-hcmga/" />
                </
rule>
               
<rule name="2010-03-31 Notes for the day" patternSyntax="ExactMatch" stopProcessing="true">
                   
<match url="post/2010/03/31/2010-03-31-Notes-for-the-day.aspx" />
                    <
action type="Redirect" url="http://www.larrybrouwer.com/2010/03/31/visual-studio-training-materials/" />
                </
rule>
               
<rule name="2010-04-01 Notes for the day" patternSyntax="ExactMatch" stopProcessing="true">
                   
<match url="post/2010/04/01/2010-04-01-Notes-for-the-day.aspx" />
                    <
action type="Redirect" url="http://www.larrybrouwer.com/2010/04/01/dotnetnuke-installation-steps-on-my-web-server/" />
                </
rule>
               
<rule name="2010-04-05 Notes for the day" stopProcessing="true">
                   
<match url="post/2010/04/05/2010-04-05-Notes-for-the-day.aspx" />
                    <
action type="Redirect" url="http://www.larrybrouwer.com/2010/04/05/how-i-fixed-my-maytag-neptune-washing-machine/" />
                </
rule>
               
<rule name="2010-04-06 Notes for the day" patternSyntax="ExactMatch" stopProcessing="true">
                   
<match url="post/2010/04/06/2010-04-06-e28093-Notes-for-the-day.aspx" />
                    <
action type="Redirect" url="http://www.larrybrouwer.com/2010/04/06/learning-dotnetnuke/" />
                </
rule>
               
<rule name="2010-04-07 Notes for the day" patternSyntax="ExactMatch" stopProcessing="true">
                   
<match url="post/2010/04/07/2010-04-07-Notes-for-the-day.aspx" />
                    <
action type="Redirect" url="http://www.larrybrouwer.com/2010/04/07/installing-blogengine-net-for-hcmga/" />
                </
rule>
               
<rule name="2010-04-19 Notes for the day" patternSyntax="ExactMatch" stopProcessing="true">
                   
<match url="post/2010/04/19/2010-04-19-Notes-for-the-day.aspx" />
                    <
action type="Redirect" url="http://www.larrybrouwer.com/2010/04/19/learning-visual-studio-2010-silverlight-4-net-framework-4/" />
                </
rule>
               
<rule name="2010-04-20 Notes for the day" patternSyntax="ExactMatch" stopProcessing="true">
                   
<match url="post/2010/04/20/2010-04-20-Notes-for-the-day.aspx" />
                    <
action type="Redirect" url="http://www.larrybrouwer.com/2010/04/20/continued-blogengine-net-installation-for-hcmga/" />
                </
rule>
               
<rule name="2010-04-23 Notes for the day" patternSyntax="ExactMatch" stopProcessing="true">
                   
<match url="post/2010/04/23/2010-04-23-Notes-for-the-day.aspx" />
                    <
action type="Redirect" url="http://www.larrybrouwer.com/2010/04/23/fixed-yahoo-mail-pop3-integration-with-outlook-2007/" />
                </
rule>
               
<rule name="2010-04-24 Notes for the day" patternSyntax="ExactMatch" stopProcessing="true">
                   
<match url="post/2010/04/24/2010-04-24-Notes-for-the-day.aspx" />
                    <
action type="Redirect" url="http://www.larrybrouwer.com/2010/04/24/debugging-d-link-dir-655-router-issues/" />
                </
rule>
               
<rule name="2010-04-28 Notes for the day" patternSyntax="ExactMatch" stopProcessing="true">
                   
<match url="post/2010/04/28/2010-04-28-Notes-for-the-day.aspx" />
                    <
action type="Redirect" url="http://www.larrybrouwer.com/2010/04/28/fixing-sqlserver-database-mail-for-hcmga/" />
                </
rule>
               
<rule name="2010-04-29 Notes for the day" patternSyntax="ExactMatch" stopProcessing="true">
                   
<match url="post/2010/04/29/2010-04-29-Notes-for-the-day.aspx" />
                    <
action type="Redirect" url="http://www.larrybrouwer.com/2010/04/29/researching-wordpress-for-clear-lake-auto-service/" />
                </
rule>
               
<rule name="2010-04-30 Notes for the day" patternSyntax="ExactMatch" stopProcessing="true">
                   
<match url="post/2010/04/30/2010-04-30-Notes-for-the-day.aspx" />
                    <
action type="Redirect" url="http://www.larrybrouwer.com/2010/04/30/blank-emails-with-officelive-outlook-connector-and-repairing-outlook-2007-pst-files/" />
                </
rule>
           
</rules>
       
</rewrite>

 

My last task was to do a Google search on my website and to add all the redirects into IIS7 from missing pages to remap them to the current ones. This will take some time. Hopefully it will be worth the effort!

I then went into IIS7 Manager Console and opened my old blog site. I have the SEO (Search Engine Optimization) Toolkit installed, so I opened the toolkit and clicked Add a new disallow rule and Disallowed all searches past my blog. This should prevent any further spiders from coming in.

This morning started out with not being able to check my emails on my local web server. I also wasn’t able to browse to my web site either. I quickly determined that my D-Link DIR-655 (hardware version: A3) router was at fault. After logging into the router, and opening the Advanced menu, I discovered that none of my Virtual Servers were configured. They had all somehow vanished!

I’ve been having troubles with this router for some time now, and it appears to only be getting worse (I’ve posted on this before here). I’ve recently upgraded the firmware as well to version 1.33NA. I went out to the D-Link support forums and found DIR-655 Virtual Server/Port Forwarding Config doesn’t stay. This post says that you have to enable SecureSpot, reboot, change the virtual servers, reboot, disable SecureSpot, reboot in order to keep the virtual settings.

Another post from the D-Link forums Virtual Servers Settings not persisting comments that the next firmware version 1.34 beta may solve the problems. I’ve been reluctant to install a beta version of the firmware, but I’m now frustrated enough to try it. So here goes…

First, I went to the D-Link ftp firmware download site to download the latest beta firmware. Click on Beta, then Click on Firmware, click on dir655_fw_134b03NA_beta.zip and save it to the desktop. Right click on zip file and extract it here.

Next, log into the DIR-655 and Click Tools | System and Save to Local Hard Drive to save the current settings.  Next, Click Tools | Firmware | Browse and find the firmware C:\dir655_fw_134b03NA_beta\DIRA4_FW134b03NAbeta.bin. Then Click Upload.

This process will disconnect you from the Internet. Be sure to close any open connections you may have open. The process will take a couple minutes to complete. The router will automatically reboot and bring you back to the Login screen.

Next, I logged back into the router and checked the configuration settings. At first, it appeared that my Virtual Servers were still configured, but when I attempted to browse my web site, it wouldn’t pull up. So I went back into the router, and after navigating around a bit, I then went back into the Virtual Server page, and no servers were listed.

So I then navigated to Tools | System and reloaded the firmware settings from my hard drive. All settings appear to be fine (for now). I’ll update this post if anything new develops.

I spent most of the afternoon tracking down a problem with my web server. Performance came to a standstill. So I went into Task manager and found the MailService.exe process was maxing out resources. I rebooted, and found that it would gradually start taking more and more resources until the system became virtually unusable. Within 20 minutes after a reboot of the system, it would be hogging most of the memory, and max out the CPU to 100%. I also looked through the event Application logs. Searched for ‘mail’. Found errors “System.OutOfMemoryException: Exception of type ‘System.OutOfMemoryException’ was thrown.”.

I then Googled on ‘mailservice.exe memory System.OutOfMemoryException’ and found this post on SmarterTools Forums – MailService.exe memory reporting issue in 6.5. Many users seem to be experiencing this problem. A second post from the SmarterTools Forums – HELP! SmarterMail.exe keeps failing every few hours also indicates that this is a Microsoft .Net issue. They refer to the prior post stating the fix is to re-install Microsoft .Net. I’ve already attempted this procedure before. See my prior post 2010-04-23 Notes for the day.

The posts above refer to using the ASP.NET IIS Registration Tool (aspnet_regiis.exe) to fix the memory issue. Another article from SmarterTools – Troubleshooting – ASP.NET and IIS Issues FAQ also discusses using this tool.

So it all seemed logical to me that SmarterMail had developed a bug of some sort that needed fixing. At the bottom of this post, I’ve included all the steps I undertook in an attempt to cure the servers ills. Feel free to read it if you’re in need of some serious sleep! The bottom line was that I had never properly configured my SmarterMail to prevent spammers from moving in. By the time I figured this out, I had well over 48,000 messages in the outgoing spool! I feel like a chump indeed. How long has this been going on I wonder? No wonder the sever was crawling on its knees! Poor thing. Anyway, with the help of the SmarterMail Help online web site (look under Additional Topics | Locking Down Your Server), here are the steps I undertook to lock down the server:

Steps to immediately stop sending and receiving spam

If you’re in my situation, you’ll want to stop the spamming as soon as possible. Here’s the quick step to get rid of them:

  1. Log in to SmarterMail as admin
  2. Navigate to Manage | Services and shut down the SMTP and Spool services.
  3. Navigate to Settings | General Settings | Spool (remember the spool path)
  4. Open Control Panel | Administrative Tools | Services
  5. Find the SmarterMail Service and Stop the Service
  6. Open Windows Explorer and navigate to spool path
  7. Rename Spool to Spool.Old and create a new folder Spool
  8. Restart the SmarterMail Service
  9. Log in to SmarterMail as admin
  10. Navigate to Manage | Spool | All Messages (none should be present)
  11. Navigate to Manage | Services and start the SMTP and Spool services.

Steps taken to lock down the SmarterMail server

  1. Log in to SmarterMail as admin
  2. Navigate to Settings | Protocol Settings | SMTP In and change Allow Relay to Nobody.
  3. Navigate to Manage | All Domains | Select larrybrouwer.com | Edit | Features and de-select ‘Enable Catch-Alls’.
  4. Navigate to Manage | All Domains | Select larrybrouwer.com | Edit | Technical and choose ‘Do not auto-respond to Spam Level Low and above’ for Auto-Responder Exclusions, choose ‘Do not forward Spam Level Low and above’, check Require SMTP Authentication, check Enable once per day per sender autoresponder restriction, click Save.
  5. Navigate to Manage | All Domains | Select larrybrouwer.com | Edit | Limits and set Disk Space to 10, Users 5, User Aliases 10, Mailing Lists 10, Pop Retrieval Accounts 5, Max Message Size 1000, Recipients per Message 10, click Save.
  6. Navigate to Manage | All Domains | Select larrybrouwer.com | Edit | Throttling and set Outgoing Messages per Hour 5 and click Enabled, Outgoing Bandwidth per Hour 1 and click Enabled, Bounced Recieved per Hour 1 and click Enabled, click Save.

Some of the throttling settings may be ridiculously low for you. But for me, they are perfectly fine since I’m the only one using this email, and I’m rarely sending or receiving from this account. Adjust them accordingly. That’s it!

Now as promised, here’s the tedious notes of my afternoon wrestling with this problem running down the wrong trails!

So, I’ve decided to follow the SmarterTools Troubleshooting article (see top of post).

Open a command prompt as Administrator (right click on cmd and choose run as Administrator).

From command prompt, run: echo %SYSTEMROOT% and open Windows Explorer and navigate to %SYSTEMROOT%\Microsoft.NET\Framework.

This Microsoft Article – How to determine .NET Framework versions installed goes into great detail about what to look for and how to check whether your .NET Frameworks are up to date or not.

Following this article, navigate to %SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\ right click on Mscorlib.dll and select properties. Then open the Details tab. The product version shows what Service Pack if any has been applied. In my case, it’s version 2.0.50727.4200, and SP2 would be 2.0.50727.3053. So, it would appear that I need up apply .NET 2.0 SP2. I ran Windows Update, and it is up to date. So I manually downloaded Microsoft .NET Framework 2.0 Service Pack 2 and attempted to install it. It popped up a message box stating “This product is not supported on Vista Operating System.”. I spent considerable amount of time Googling in an attempt to find out if there is a version for Server 2008. I finally read the Overview section in SP2 download page, and it states that the updates for Vista and Windows 2008 are deployed via the full .NET Framework 3.5 SP1.

I then proceeded to re-apply the .NET Framework 3.5 SP1, which I had previously downloaded on 4/23/2010. Upon running dotnetfx35.exe, I chose the repair option. I then continued with the installation instructions by applying Microsoft Update KB959209 – An update for the .NET Framework 3.5 SP1. The Microsoft .NET Framework 3.5 Family Update for Server 2008 x86 was then installed. There are 3 updates to install, they must be installed in the proper sequence as described (Be sure to read the instructions carefully, the list below is not in the correct installation order). I did not run this update the last time. The first two (2) updates did not apply to this server. The third update installed successfully. I then rebooted the server.

After the server rebooted, I looked at the MailService.exe in the Task Manager, and it is still taking +50% CPU and memory usage is expanding rapidly. I then opened up Windows Update and looked for new updates. It found nothing. I then went back to the SmarterTools – Troubleshooting – ASP.NET and IIS Issues FAQ and continued. I opened a cmd window with Administrator privileges. I then executed:

%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis –i

I then rebooted the server. The same thing is still happening.

Back to Googling and found SmarterTools Forums – mailservice.exe 100% cpu usage. Looks like the problems are rampant with this product. I decided to upgrade to the latest version. Downloaded and installed SmarterMail v6.8.3750. I then rebooted the server. Again the same thing is still happening.

I then followed Configure IIS7 with Windows 2008. First, click on Start | Program Files | Smarter Tools | SmarterMail | Configure SmarterMail Web Server. Click Stop. Change Startup Mode to Disabled and Apply then click Close. Next open IIS7 Console Manager. Right click on Application Pools and choose “Add Application Pool”. Name the pool SmarterMail. Set Managed Pipeline Mode to Classic and click Ok. Next Right click on Sites and choose Add Web Site … Name it SmarterMail. Application Pool is same name. Set the Physical path to: C:\Program Files\SmarterTools\SmarterMail\MRS. Set the Port to 9998. Host name: www.larrybrouwer.com. This was successful, however, it does not fix my problem with the MailService.exe.

This morning, I decided to have a look at the Harris County Master Gardeners web server to see if everything is ok. I noticed that the hard disk space is dwindling down. So did a search for large files to see what I could find. To perform a search, I Clicked Start | Search | For Files or Folders… . I then clicked advanced search and put *.* in the Name, selected Include non-indexed, hidden, and system files (might be slow), selected Size (KB) is greater than 10000. I also added Size, Path, Attributes, Date accessed, Date created, Date modified to the results window.

So the biggest file by far is performance.mdf (45GB)! Yikes! It’s now on to finally setting up a maintenance plan for the SqlServer database.

First step is to set up an Operator in SqlServer. How to setup SQL Server alerts and email operator notifications article shows how to do this.

Configured new account in Database Mail for HcmgaSupport.

Configured new profile in Database Mail for SqlAlerts.

Defined new Operator by double click on SQL Server Agent

Right Click on Operators and select New Operator

Right Click on SQL Server Agent select Properties and choose Alert System. Click Enable mail profile and choose SqlAlerts.

Restart the SQL Server Agent

Set up test alert Right click Alerts and choose New Alert… Name it TEMPDB Growing, SQL Server performance condition alert, MSSQL$MSSQLDEV:Databases, Data File(s) Size (KB), tempdb, rises above, 0. Click on Response and check Notify operators and select DBA. Then click on Options check Include alert error text in: Email and set Delay between responses to 5 minutes. Click Ok.

At this point, I’m unable to get test emails sent to me for the above alert. After much trial and error, I came across SQL Agent Job Notification – Database Mail problem which looked promising to solve my problem. I applied the changes. To fix, open Database Mail, check Manage profile security, click Next, check Public Profiles check Public next to SqlAgents choose Default Yes then click Next.

At this point, emails are being sent out, but not consistently. They are being queued and then sent out all at once. When I restart the Sql Server Agent.

After looking at the Error Logs, I am seeing errors: ‘SQLServer Error: 15404, Could not obtain information about Windows NT group/user ‘Domain\User’. I’m also now getting pop up messages stating ‘ControlService Could not locate the service.’

Also, in the SQL Server Agent Properties | Alert System | Mail session, I’m still unable to save the SQLAlerts Mail profile and click the Test button. I can select SQLAlerts, but when I save it, restart the SQL Server Agent and go back to look at it, it has changed back to the first profile on the list.

So the ControlService pop up coincides with the 15404 error. A clue is the domain name. It is referencing the original domain name, and not the current one. So somewhere I need to alter the configuration to refer to the current domain name.

Read this Microsoft article How to: Rename a Computer that Hosts a Stand-Alone Instance of SQL Server. The server is already renamed in SqlServer.

I browsed the server properties by right clicking on the SqlServer Instance and selected properties. I then went to Permissions and I see the old domain Logins and not the new ones. This is also viewable under Security | Logins.

So I next went into Security | Logins and scripted all the users that were attached to the old domain login and dropped and recreated them to the new one. I then right clicked each updated user and selected properties to manually update the Server Roles and User Mapping. I’m sure their are scripts to automate this process, but there are only six (6) logins to change. After verifying that I could log into the database as the updated users, I then rebooted the server.

Upon rebooting, I’m still not able to complete the Alert System Mail session | Mail system profile. It just won’t save my changes, and the Test… button is still grayed out. I’m also still getting the ControlService Could not locate the service. pop ups.

May 10, 2010 1:15pm. Continuing to work on this problem now.

Ever since the last reboot of the system (May 5th), I am now receiving my test Alert email every five (5) minutes. I’ve also checked the SQL Server Agent logs, and there are no more 15404 errors. So it would seem that I’m making progress. But I am still not able to set the Mail Session | Mail Profile to SqlAlerts and send a Test… message. I did some more Googling and found references that SQL Server 2005 64bit hadn’t been enabled for Database Mail Database Mail not working with SQL Server Agent. At this point, I disabled the SQL Server Agent | Alert System | Mail Session | Enable mail profile and moved on.

Back to my original issue. That being to set up a maintenance plan to keep the database under control. I had set up a couple test plans, but when I attempted to execute them, I get the following error “The job failed. The owner … of the job MaintenancePlan1.Subplan_1 does not have server access.”. So I double-clicked on the job and changed the owner of the job to the SQLServer owner account and reran the job. This time it worked fine.

I found out that when I’m logged into SSMS as Administrator, I can’t restart the SQL Server Agent from within SSMS. I have to open the Sql Server Configuration Manager and restart the service there. If I try to restart the SQL Server Agent service within SSMS, I get a pop up message box stating “ControlService could not locate the service”.

I also found out that when I changed the email profile within the SQL Server Agent | Alert System | Mail session | Mail profile to a profile that isn’t the public/default messages aren’t being sent out. When I change the profile back to the public/default one it works fine.

Lastly, when you go into the dialog screen for the Mail profile, it doesn’t show the currently active profile. It only shows the first alphabetical one listed in the Database Mail. This is a bug in my opinion, and I’m not sure why this would be the case. So you have to set it, and then trust later that it’s set to the correct mail profile.

Now, I’m on to fixing the production database space issues. The production database has performance statistics turned on, and it’s now taking up about 50GB worth of disk space. The first thing I had to correct is the server name change security login issues. I dropped and recreated all the Sql Server logins to correct and get the current server name. I then rebooted the machine.

I next logged into SSMS prod database and opened up the System Data Collection Sets | Disk Usage | Properties and reduced the Retain data for down to 90 days. I checked the other retention periods for Query Statistics and Server Activity. I then went into SQL Server Agent | Jobs | mdw_purge_data_[Performance] | Properties and changed the Owner to SA. Clicked Ok and executed the job. This job took well over two (2) hours to complete.

I was able to spend some time continuing to add plugins and expand my personal web site this evening. I first installed the All in One SEO Pack plugin, and configured the basic fields necessary to boost my site’s presence on the web.

Also added WP Mail SMTP plugin. This is necessary for me to send out emails from the feedback form.

Also installed Simple Tags plugin. This plugin should assist me with adding tags.

Other plugins installed: Akismet, Fast and Secure Contact Form, Hello Dolly, SI CAPTCHA Anti-Spam

Also worked on the Clear Lake Auto Service web site. Getting it ready to move in tomorrow.

This morning, I got a call from a friend of mine who was having some terrible performance issues with her new Dell Latitude E6500 laptop running Windows 7 Professional. I had some extra time, so I offered to drop by and have a look.

I did the usual things like run msconfig.exe, and disabled as many startup programs and services as I could without interfering with anything. This may have helped some, but not much. The machine would boot up fine, but then hang out for a considerable amount of time after logging in but before it would be fully loaded.

I went into Norton Security Suite, and found that she had configured her machine to run backups to a non-existent USB drive. I disabled the backup feature of the software since she really didn’t understand how it could have been activated in the first place. I also went into the Task Scheduling and disabled all of the PC Tune-up settings. I rebooted, and this time the machine completed the startup process much faster. But I wasn’t finished just yet!

The last thing I wanted to do was to check to see if the Indexing Service and the Windows Search features were installed. Based upon my personal experience, I’ve solved a lot of performance issues just by turning these features off. I can’t remember the last time I actually searched my hard drive for a file, and should I ever need to in the future, I’ll suffer the slow search results quite happily if this makes my machine run faster the remainder of the time.

So I asked my friend how often she actually searched her hard drive for a file, and she really didn’t even know how to do that. I considered the operation to disable fast searching safe in this case. I Opened the Control Panel and clicked Programs and Features. I then selected Turn Windows features on or off. I then de-selected Indexing Service and Windows Search. Clicked Ok and waited for the operation to complete. I then restarted the machine to complete the operation and rebooted.

This made a huge difference in performance! My friend was totally amazed!

Later in the day, I decided to see if I could get my OfficeLive web site redirecting to my personal web server. Since Microsoft OfficeLive doesn’t allow for any kind of server-side technologies, it’s pretty hard to develop anything decent. So my idea is to use an iframe tag and have that point to my personal web server. I found a great article on using iframes in this manner on the shouldersofgiants web site. But another site stackoverflow iframe 100% height inside body with padding gave me the best solution for my needs right now. Here’s the code I developed. This is a copy of my default.aspx file:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title>Tempora Resources Ltd.</title>
   
<style type="text/css"> 
        html
, body { margin: 0; padding: 0; height: 100%; } 
       
#bar { height: 32px; background: red; } 
        iframe
{ 
            position
: absolute; 
            top
: 0; left: 0; width: 100%; height: 100%; 
            border
: none; padding-top: 0; margin-top:auto; 
            box-sizing
: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; 
       

    </
style> 
</head>
<body>
<iframe name="childframe" id="childframe" src="http://www.larrybrouwer.com/" frameborder="0" marginwidth="0px" marginheight="0px" scrolling="yes"></iframe>
</body>
</html>

I spent most of the day installing and configuring WordPress for my personal web site. The site that I’m currently posting this blog entry. I’ve decided that BlogEngine.Net, while a nice blog server, it isn’t best suited for my needs. I need something really lightweight as my web server is not exactly a speedy machine.

This will be a brief summary of my steps from my feeble memory! What I’ve done so far…

Logged into IIS7 Manager Console and used the Web Platform Installer to install WordPress. I installed it several times to different locations before I got it just the way I wanted it. I also installed the latest MySQL Workbench 5.2 beta. This will come in most handy.

I also installed a WordPress instance to begin developing a new web site for Clear Lake Auto Service, a client of mine who really wants to get a new design.

I installed the Arjuna Theme, and began some minor customizations. I read through some of the WordPress online documentation as well to start getting an understanding of the design as I’m sure I’ll want to customize it.

I installed several Plugins. First, the Fast and Secure Contact Form, and second was the SI CAPTCHA Anti-Spam.

I added several pages and customized how the home page works (as a static page). I added several users, my page categories, and began moving the posts over from my Technotes Blog.

One key point I wanted to make note of is that upon first installing WordPress, delete the original page that is listed. Then re-create a new page to show your blogs. This will prevent a problem with duplicate ‘Home’ pages showing if you wish to implement a static home page some time later. I learned this the hard way!

That’s all I can remember for now…