Category: Sharepoint


Running the SBS 2008 BPA, you receive a warning item that states:

The log file for the Windows SharePoint Services configuration database is larger than 1 GB in size. For information about how to reduce the size of the log file, see the Knowledge Base at http://go.microsoft.com/fwlink/?LinkId=159745.

SQL Config Log Warning in BPA

SQL Config Log Warning in BPA

If you follow the link, Microsoft explains how to make a SQL script that will trim your database. My problem was that even after trimming the database, it was still over 1Gb in size- 1.4Gb actually. Let’s solve this.

This is not a permanent solution, but rather a solution to temporarily shrink the log files. They will eventually build back up- I plan to execute this plan when ever I get the warning.

Also note that doing this process will make the database temporarily “Full Recovery” only. which means that if you use differential backup and recovery, after this process takes place you can only do a full recovery untill the log files build back up over transactions.

Perform a full server backup.

Now check the size of the database.

Log into your Microsoft##SSEE Database (Windows Internal Database).

By entering \\.\pipe\MSSQL$MICROSOFT##SSEE\sql\query as your server name. Select Windows Authentication. Click Connect.

Connect to Microsoft##SSEE

Connect to Microsoft##SSEE

You will see several databases- we will be working with the one titled Sharepoint_Config_#########.

Databases

Databases

Right click on that database and select Properties. You will see two numbers for Size and Space Available. Look at the size. Mine was 1449 Mb. I ran the Microsoft suggested SQL script, and it was still the same size. So here is what to do.

Under the options tab of the database properties, change the Recovery Model dropdown from Full to Simple. This tells SQL to truncate the log files, meaning only a full recovery is available.

Recovery Model: Simple

Recovery Model: Simple

Click Ok.

Now Run the logshrink.sql to trim the database. You can do this through a command prompt by running command:

sqlcmd -S \\.\pipe\mssql$microsoft##ssee\sql\query -E -i
 
-or-
 
You can double-click logshrink.sql. It will ask you to log in, use the same information as above. Above the window that opens, click Execute.
Execute Script

Execute Script

 

Now go back into the Properties of the config database, click Options, and change Recovery Model back to Full.

Trimmed Database

Trimmed Database

You should see your file size WAY smaller now, happy shrinking.

Advertisements

So the search service that comes with SBS 2008 is not installed by default. Desktop Search is, but not Server Search, which lets you index shared files and the like. Out of the box, WSS Search SHOULD work. In all three of my SBS set-ups, it has not worked, and this has plagued me for ages, so I finally set about fixing it today. I can’t tell you the exact reason that it is broken for me, but it is most likely caused by an update, service pack, hardware change, or just plain old incorrect permissions or WSS set-up.

First thing I did was install Windows Search Service.
Open up Server Manager, and select File System. Click Add Services on the right.
Click to check Windows Search Service.

Windows Search Service

Windows Search Service

This took about 15 minutes, and at the end an error was displayed. Closing the windows, I noticed that Windows Search Service was installed and running, and the service was also running under the Services Console.

Hrmmph. At this point I go into Sharepoint Central Administration, and Search still will not work. So now I set about making two new accounts to run the search.

I created WSS_Search, set a password, and added it to the group Administrators.

I then created WSS_Content, and added it to two groups:

SQL Accounts

SQL Accounts

These two accounts might differ from what you have. What we need is an account that has READ access to the Sharepoint Content Database. It can not be an administrator account, or a system account, though I believe it can be Local Service.

Now I tried my search and it still would not work. As a matter of fact, I could not start the search service at all now. So I go to Services Console, scrolls down to Windows Search Service. Right click it and select Properties. Make sure Local System is selected under the Log On tab. Exit out, and go to Windows Sharepoint Services Search. For this Log On, select This Account: and enter the information you used for the WSS_Search account. Change type to automatic, and click apply and start.

Log On Properties

Log On Properties

You will receive a message about the account being granted run as a service privileges.

So far all is well, though Sharepoint still wont Search. Open up Sharepoint Central Administration 3.0 under Administrative Tools.

Click Operations Tab, and then Services on Server.

Services on Server

Services on Server

Click on Windows Sharepoint Services Search.

Now fill in the fields.

  • Service account is WSS_Search, and password.
  • Content Access Account is WSS_Content and password.
  • Database server is grayed out, but should me by default np:\\.\pipe\MSSQL$Microsoft##SSEE\sql\query
  • Database name is grayed out, but it will be your Search database, such as WSS_Search_WIN-EUGSO7LO7PY
  • Authentication is whatever method you use. Default, it is Windows Authentication. This must be left alone for Microsoft##SSEE. If your database is different, configure the login that would be used to access the database.
  • You can change the time if you wish, I set mine to default every 5 minutes, as we do not have a ton of content on the server.
Search

Search

Click ok. Close all browsers.

Open a command prompt and type iisreset.

Restart both Windows Search and Sharepoint Search Services. Good to go- your site should now be searchable.

Logging in today, I noticed something in the Application Log of my SBS 2008. There were three event id’s of 2803 and one of 17137 listed every 5 minutes or so. The viewer could not give me details… figures. There are the three:

Application Log Errors

Application Log Errors

The description for Event ID 17137 from source MSSQL$MICROSOFT##SSEE cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.

If the event originated on another computer, the display information had to be saved with the event.

The following information was included with the event:

Then the same message with this attached:

1

Bound Trees

So after some digging I found information stating that this is caused by SQL closing the database connection when it is not in use, and then reopening it when it is being used. This is not good, if it is happening every 5 minutes.

So, let’s resolve this error.

First, connect to SQL using Management Studio Express. Connect to the MSSQL instance using the name \\.\pipe\MSSQL$MICROSOFT##SSEE\sql\query and Windows Authentication.

Expand Databases.

Right click the database in question, in this case Sharepoint_Admin_Content####, and select properties.

Database Properties

Database Properties

Click on the Options menu on the left. You will see a value displayed in the right windows named AUTO_CLOSE with a value of true. Change this value to false, and save and close SQL Management Studio.

AUTO_CLOSE

AUTO_CLOSE

You should see two more events appear in the event log, focusing on changing AUTO_CLOSE to FALSE. They should be event id 5084.

Event Log 5084

Event Log 5084

Thats it! You have fixed the error. Monitor both the database and the event logs for a few days to see how your system reacts. If you notice side effects, then you can always change the value back yto TRUE using a reverse of the same method.

The process cannot access the file because it is being used by another process (HRESULT: 0x80070020).

CentralAdmin Error

CentralAdmin Error

This is a simple file in use, except with ports- Windows cannot start centraladmin on port 4721 because it is already using that port. Your options include binding centraladmin to a different port, and restarting IIS, or finding out what is on that port, and fixing it.

Without doing anything, open a command prompt by clicking Start>Run> and typing cmd.

In the black box, type netstat -ano > C:\netstat.txt

Hit Enter.

Navigate to your C:\ drive. Double click the text file named netstat.

Scroll down the list untill you see the port 4721 on the end of an IP address in the second column. It will look something like this:

  TCP    0.0.0.0:4721           0.0.0.0:0              LISTENING       4612

The last number is the Process ID.

Now pres Crtl-Shift-Esc.

Click on the Services tab.

Scroll down until you find the PID that matches the one from our Netstat.

Task Manager

Task Manager

As you can see from my example,. it is Microsoft Exchange Mailbox Assistant. This “Performs background processing of mailboxes in the Exchange store”. I know from past experience that this is not a super critical process, like the Transport Service, though it will supply errors if turned off.

So we won’t turn it off, but lets pause it. This is in hopes that CentralAdmin will take the port back, and then MS Exchange will assign a new dynamic port to the mailbox assistant.

Open Services MMC under Administrative Tools. Find the Mailbox Assistant. Right click it and select Stop.

Go back to your command prompt window and type iisreset.

Now check on CentralAdmin, either by trying to navigate to it or opening IIS Manager. It is started. Now go back to Services, and restart the Mailbox Assistant. It started without trouble.

Let’s double check that the mailbox assistant is assigned a new port.

I check the PID, and cross reference it against a new netstat output and see:

  TCP    0.0.0.0:44824          0.0.0.0:0              LISTENING       5424

Exchange dynamically assigned the port of 44824- much better.

This process can be done with nearly anything. Often times you will install new software and it will take the port of some existing site- this is the process to correct it. Skype is a known culprit. Just make sure you research the  service you are stopping before cutting it off. Stopping SQL (SBSMONITORING) would probably be a bad thing, as would stopping some of the more important Exchange services or any system processes. In those cases, it might be better to change the site binding port.

Sharepoint default can be boring- even with all of the color options they offer you. You can brand it yourself and create a custom theme if you know what your doing with CSS and HTML, or you can download and apply a pre made theme. A pack of 10 were released, and can be found here.

Install them into a folder you can remember- desktop even.

File Location for TopThemeForSharepoint

File Location for TopThemeForSharepoint

Navigate to this folder. TenThemesForSharepoint and you will be looking at all of the theme folders.

We will do the process with one, repeate with the one you wish. Open folder ConstructionSiteTheme. Enter subfolder ConstructionSiteTheme.. Enter Templates.

Your now looking at two folders, Layouts and Themes. Enter the THEMES folder and copy the folder CONSTRUC. Paste it here: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\THEMES

Now go back and enter the LAYOUTS folder. Enter folders 1033 and IMAGES. Copy the folder named CONSTRUC.

Now navigate to C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\LAYOUTS\1033\IMAGES and paste the folder.

Almost done.

Go to C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\LAYOUTS\1033 and open SPTHEMES.XML by right clicking it and selecting edit.

You will see a list of templates like this:


 	<Templates>
		<TemplateID>classic</TemplateID>
		<DisplayName>Classic</DisplayName>
		<Description>Classic has a white background with blue control areas and orange highlights.</Description>
		<Thumbnail>images/thclassic.gif</Thumbnail>
		<Preview>images/thclassic.gif</Preview>
	</Templates>
	<Templates>
		<TemplateID>simple</TemplateID>
		<DisplayName>Simple</DisplayName>
		<Description>Simple has a white background with minimal blue highlights.</Description>
		<Thumbnail>images/thsimple.gif</Thumbnail>
		<Preview>images/thsimple.gif</Preview>
	</Templates>

What you are going to do is copy one, starting with the opening <Templates> and ending with the </Templates>

Change the TemplateID to CONSTRUC.

Change the Display name to Construc.

Change the description if you wish.

I generally do not change the preview and thumbnail photos, but that can be done by copying the jpg file out of the TenThemesForSharepoint folder named Construction_Prieview.jpg and putting it into the folder C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\IMAGES

Rename the file thconstruc.jpg, and then change the <Thumbnail> and <Preview> tags to thconstruc.jpg.

Now enter Sharepoint, Edit Site Settings. Themes, and you will see your new theme construc listed in the list. Click it and the preview might be off, since it is huge, and click apply. Now your site is themed, takes about 5 minutes.

Construction Theme Preview

Construction Theme Preview

%d bloggers like this: