• Main
  • Blog
  • Who We Are
    • Jeremy Anderson
    • Amy Babinchak
    • Steve Banks
    • Cliff Galiher
    • Brian Higgins
    • Eriq Neale
    • Edwin Sarmiento
    • David Shackelford
  • Store
    • Webinar Archives
  • Support
  • Forum
  • FAQ
  • My Third Tier
  • Datto

Archive for Tips

Sep
6

Replication Failed due to Schema Mismatch

by amy

Post to Twitter Post to Facebook Post to StumbleUpon

This post was written by Third Tier consultant Jeremy Anderson. Jeremy will also be presenting at the Third Tier Brain Explosion

In the process of two recent migrations, an issue has snuck up on me. The initial symptoms have all been different, but the end result has been the same. Replication errors. For one client it first appeared even when the Migration Wizard was not able to disable the DHCP service on the source servers, for another it did not appear until the mail box move was attempted.

If you are suffering from these issues you will see replication errors in your NTFRS event logs. “having Trouble enabling Replication from…”

clip_image001

When you run a dcdiag, you will get an error similar to the following:

Microsoft Windows [Version 5.2.3790]

(C) Copyright 1985-2003 Microsoft Corp.

C:\Documents and Settings\Contoso>dcdiag /s:ContosoSBS

Domain Controller Diagnosis

Performing initial setup:

Done gathering initial info.

Doing initial required tests

Testing server: Default-First-Site-Name\ContosoSBS

Starting test: Connectivity

……………………. ContosoSBS passed test Connectivity

Doing primary tests

Testing server: Default-First-Site-Name\ContosoSBS

Starting test: Replications

REPLICATION LATENCY WARNING

ContosoSBS: This replication path was preempted by higher priority work.

from Old-Server to ContosoSBS

Reason: The replication operation failed because of a schema mismatch between the servers involved.

The last success occurred at 2011-07-09 12:29:54.

Replication of new changes along this path will be delayed.

REPLICATION LATENCY WARNING

ContosoSBS: This replication path was preempted by higher priority work.

from Old-Server to ContosoSBS

Reason: The replication operation failed because of a schema mismatch between the servers involved.

The last success occurred at 2011-07-09 12:29:51.

Replication of new changes along this path will be delayed.

REPLICATION LATENCY WARNING

ContosoSBS: This replication path was preempted by higher priority work.

from Old-Server to ContosoSBS

Reason: The replication operation failed because of a schema mismatch between the servers involved.

The last success occurred at 2011-07-09 12:24:50.

Replication of new changes along this path will be delayed.

REPLICATION LATENCY WARNING

ContosoSBS: This replication path was preempted by higher priority work.

from Old-Server to ContosoSBS

Reason: The replication operation failed because of a schema mismatch between the servers involved.

The last success occurred at 2011-07-09 12:24:39.

Replication of new changes along this path will be delayed.

If you open a command prompt, and on the new SBS 2011 Server and you do a repadmin /showrepl you will get a reply that also indicates DNS and Replica Link Errors.

C:\Documents and Settings\ContosoSupport>repadmin /showrepl

repadmin running command /showrepl against server localhost

Default-First-Site-Name\Old-Server

DC Options: IS_GC

Site Options: (none)

DC object GUID: 899d2bae-5a7b-44fe-bb2e-1a3f65221d34

DC invocationID: 276bef04-f1fd-4cd3-93e0-75b686c542f4

Source: Default-First-Site-Name\ContosoSBS

******* 9 CONSECUTIVE FAILURES since 2011-07-09 12:16:16

Last error: 8524 (0x214c):

The DSA operation is unable to proceed because of a DNS lookup failure.

Naming Context: CN=Schema,CN=Configuration,ContosoSBS,DC=lan

Source: Default-First-Site-Name\ContosoSBS

******* WARNING: KCC could not add this REPLICA LINK due to error.

Naming Context: ContosoSBS,DC=lan

Source: Default-First-Site-Name\ContosoSBS

******* WARNING: KCC could not add this REPLICA LINK due to error.

Naming Context: CN=Configuration,ContosoSBS,DC=lan

Source: Default-First-Site-Name\ContosoSBS

******* WARNING: KCC could not add this REPLICA LINK due to error.

All This sounds pretty nasty, and things are “just not right”. Never Fear. The fix is simple. Update your NIC drivers on your source server. Turn off RSS (Recive Side Scaling) and TOE (TCP Offload Engine)

   
 

Receive-Side Scaling (RSS) resolves the single-processor bottleneck by allowing the receive side network load from a network adapter to be shared across multiple processors. RSS enables packet receive-processing to scale with the number of available processors. This allows the Windows Networking subsystem to take advantage of multi-core and many core processor architectures.
http://technet.microsoft.com/en-us/network/dd277646

 
 

TCP Offload Engine or TOE is a technology used in network interface cards (NIC) to offload processing of the entire TCP/IP stack to the network controller. It is primarily used with high-speed network interfaces, such as gigabit Ethernet and 10 Gigabit Ethernet, where processing overhead of the network stack becomes significant.

http://en.wikipedia.org/wiki/TCP_Offload_Engine

clip_image003This has happened with on Broadcom and Intel Network card drivers. Once RSS and TOE are disabled, reboot the source server. Replication begins instantly, and you can carry on with your migration. Here is an Intel NIC with these options disabled:

—
So who wrote this blog and what do they do for a living anyway?
We’re Third Tier. We provide advanced Third Tier support for IT Professionals.
Third Tier Get SupportBlogFeed BlogTwitter TwitterFacebook FacebookLinkedIn LinkedIN

0 Categories : Jeremy, Migration, SBS 2011, Tips
Feb
15

Updating your Exchange migration strategies

by dave

Post to Twitter Post to Facebook Post to StumbleUpon

A couple of years ago, most SMB Exchange email migrations involved .pst files, or they were swing migrations that involved moving mailbox databases and remounting them, or moving mailboxes between one server and another. All that is changed now. Why? More and more, your clients will be moving back and forth between cloud and local storage, between hosted mail (whether that be Google Apps or Intermedia Hosted Exchange) and on-premises mail. Sometime you might have a multi-site corporation that wants to relocate. A growing percentage of the migrations being conducted now involve having to move data over WAN links, and that’s a game-changer.

So you have a migration planned, and you want to change MX records and cut over, but it looks like it’s going to take 5 days to migrate those 59gb of email down from the hosted provider! What do you do?

First, you think differently. No, I’m not talking about provisioning mac.com accounts, I’m asking us to stop thinking about the mail as a big chunk of data to be moved in one unit. Don’t even think of a single mailbox in that way. Start thinking about what part of the user’s mailbox they couldn’t live without for a day or two. The last two weeks of mail? The last two months? Once you’ve identified that interval that we’ll call “staple data”, make your plan: first cut over the MX record and immediately migrate that staple data. The reduced footprint of that data will turn your multi-day mailbox move effort into a several-hour effort. As soon as the staple data is in place on the new server, then begin the import of the rest of the data. I usually call that data the “historical backfill.”

Now how do you accomplish this date-delimited dissection of the mailbox? Pretty easily. All the basic tools we use or have used have all had date-specific parameters we can use during exports and imports. Exmerge had them, the PowerShell Export\Import-Mailbox commandlets have them. What are the other tools we can use? There’s one main other one that people aren’t usually familiar with. It’s called the Exchange Transporter Suite. It was built primarily to assist people in migrating from non-Microsoft mail platforms. In addition to tools to assist with Lotus migrations, it also has a very nice IMAP and POP migration tool. The IMAP tool is especially helpful for bringing client mail off of Google Apps and onto an Exchange server without having to do it from the Outlook client. Wouldn’t it be nice to do it in one place, all the mailboxes at once? Yep. It is. I’ll introduce you more formally to that tool in a future post.

How Come ExMerge Won’t Run?

One thing I’ve realized is that many SMB consultants aren’t sure how to move mail around in a world in which ExMerge isn’t easily accessible. That’s right, you can’t run ExMerge on an SBS 2008 or Exchange 2007 server to export\import mail. Ah, you might say, I’ve heard that you have to use PowerShell instead. Partly true, but you still can’t run the PowerShell import\export scripts on the server. You have to set up a separate management workstation to run them from. In fact, you can actually run ExMerge from a separate management workstation. The same change in functionality that will not let you run the PowerShell cmdlets on the server also “broke” ExMerge on the server.

The need for a separate management workstation to handle mail import\export procedures gets complicated for those who are trying to host their SBS 2008 box at a colo. In those situations, we’ve temporarily installed VMWare on the server and installed an XP Pro VM to use as a management workstation. Trying to handle the migration via a workstation connected to the colo via VPN is NOT a good idea.

So what’s involved in setting up a management workstation to run ExMerge or use the Import\Export scripts? I would suggest that you focus on running the PowerShell scripts rather than using ExMerge, but I’ll give you the details for both:

Installing ExMerge on a 32-bit Management Workstation

For ExMerge, you are going to follow the normal rules for running Exmerge on a workstation.

1. If on XP, install the IIS Snap-In component from the Add Components Add/Remove applet.
2. If on XP, install the Windows Server AdminPack tools.
3. Install the Exchange 2003 (yes, 2003) management tools on the workstation from the Exchange 2003 media. Ignore the schema error.
4. Download and install ExMerge on the workstation.
5. Pick or create a user who is not a member of the Domain Admins group to use for the import process.
6. Create an “ExMerge” group to assign Exchange permissions to and add the target user to the group.
7. Use the Exchange Management Console to delegate “Exchange View Only Administrator” control to the ExMerge group.

8. Give the ExMerge group Send-As and Receive-As rights. The easiest way to do this is in Exchange Powershell, like this:

Get-MailboxDatabase -identity “SERVER\First Storage Group\Mailbox Database” | Add-ADPermission         -user “DOMAIN\ExMergeGroup” -ExtendedRights Receive-As, Send-As

(You’d swap SERVER and DOMAIN\ExMergeGroup with the appropriate server name and domain and group names in your environment.)

You should now be able to log on to that workstation as a member of the ExMerge group and run ExMerge to pull data out of Exchange 2007 or migrate data into Exchange 2007. I will show you how to do date-delimited extraction later in this article.

If you are interested in knowing whether ExMerge will work in the same way with Exchange 2010, the answer is no, but you can read more about that in this helpful article by Alexander Zammit.

Getting Ready to use Import-Mailbox on a 32-bit Management Workstation

If you are going to use PowerShell to pull the mail into the new Exchange 2007 server (which I recommend), then you are going to need to get a workstation ready to run the import process on. This is mainly written with an XP system in mind.

1. Install these prerequisites: .Net Framework 2.0 and its update, MMC 3.0 (if on XP), and Powershell 1.0. Ah yes, and Outlook 2007 or 2010.
2. Download, extract and install the Exchange 2007 32-bit Management Tools. Make sure you download the version that matches the service pack level of your Exchange 2007 installation, otherwise you will have problems.
3. Pick or create an account that is NOT a member of the Domain Admins or any other privileged group in the domain. Add that user to the local Administrators group on the Exchange 2007 server.
4. In the Exchange 2007 Management Console on the server (click on Organization), use the Add Exchange Administrator action to grant that user account the Exchange Server Administrator role.
5. To import and export mail, you need to grant import user account Receive-As and Send-As permission on any mailbox databases on the Exchange 2007 server. To do that, run this command at an “escalated” Exchange PowerShell prompt:

Get-MailboxDatabase | Add-ADPermission –User Importer –ExtendedRights Receive-As,Send-As
(replace Importer with the name of the user that you created\picked.)

6. Give the server some time to refresh its credential cache. If you don’t have up to a couple of hours to wait, you can restart the Information Store service on the Exchange 2007 server, and after the service restarts, the permissions will be in effect.
7. Now log on to the workstation using the account you chose/created, and open the Exchange Management Shell.
8.  To use the import-mailbox cmdlet, adapt these examples for your use or look at the official docs:

To import all the .pst files in a specific directory into appropriate mailboxes, just make sure that each .pst file is named to match the user’s mailbox alias (jsmith’s .pst would be called jsmith.pst), and then execute something like this:

Dir D:\PSTDump\*.pst | Import-Mailbox

This will look at each .pst, match it to it’s mailbox on the server and import the contents of the .pst.

To import a single .pst file that doesn’t match the mailbox name, you can do this:

import-mailbox jsmith@domain.com -pstfolderpath d:\PSTDump\johnnyboy.pst

You can also do date-delimited imports, but that’s primarily something you’d want to do as an export process in ExMerge. I’ll go over that now.

Date-Delimited Mail Exports using ExMerge

Using date-delimited exports is commonly used when mailboxes are very large and need to be exported in chunks in order to avoid the 2gb limit on ANSI .pst files. It is also useful when there are many mailboxes to be moved in a short time and it is not practical to move all the data at once.

Let’s create a scenario: It’s March 13th, 2010 and tonight we need to migrate 115 users from an Exchange 2003 server in one domain to an Exchange 2007 server in another domain. We’ve already migrated the user accounts to the new domain using LDIFDE, but now it’s time to migrate the mail. We changed the firewall’s configuration an hour ago so that new email is being delivered to the mailboxes on the new server. We’ve set up our export\import account and are ready to use ExMerge.

Because the total amount of mail on the server is equal to 79gb (yes, this is an urgent project!) and a dozen of the mailboxes are larger than 3gb, it would take quite a bit of time to export all the mail out this evening. What we will do is export the “staple data” first: all the mail from January 1st 2010 up till today. Because that is only 73 days of mail, the .pst file for each mailbox will will be relatively small, and the entire export process will probably take 35 minutes or so. Since ExMerge will automatically name the .pst file after the user alias, the exported files are ready to be imported into Exchange 2007 immediately.

We've set the range for 73 days

Once the initial run of .pst files has been exported and then imported successfully, it’s time to start working on historical backfill. We will go back to ExMerge and begin running another date-delimited export covering all of 2009, choosing a separate directory as the destination. When that export finishes, we will use import-mailbox again (pointing it at the new directory) to bring that mail into the mailboxes on the new server. We can go backwards, year by year, until all the mail has been brought in. Since the most critical data has already been imported, the migration should seem smooth to the users even if data is continuing to be imported over the next 24 hours. It is the rare user that refers to 36-month old emails on a daily basis.

What if you have just set up Exchange 2010? Can the management workstation you set up for importing into Exchange 2007 still be used? Nope, while the strategies I’ve outlined here are still valid, you can only use a system set up with Exchange 2007 management tools to import data into an Exchange 2007 mailbox server. If you have SP1 loaded on Exchange 2010, you can run the new-mailboximportrequest and new-mailboxexportrequest commands to export or import to\from .pst files. See this article for more details: http://msexchangeteam.com/archive/2010/04/26/454733.aspx

Using strategies like these can reduce the stress of having to migrate a lot of mailbox data in a short time-frame, and make large-mailboxes less formidable seeming. I hope you find this helpful. Of course, if you’re in the middle of it and short on patience, go ahead and open a ticket, and I’ll help you out!

—–

So who wrote this blog and what do they do for a living anyway?
We’re Third Tier. We provide advanced Third Tier support for IT Professionals.
Third Tier Get Support BlogFeed Blog Twitter Twitter Facebook Facebook LinkedIn LinkedIN
0 Categories : Dave Shackelford, Exchange, Migration, SBS 2008, Tips
Jun
22

Giving one user access to another's mailbox via PowerShell

by dave

Post to Twitter Post to Facebook Post to StumbleUpon

There are plenty of reasons why you might want to give one user access to another user’s mailbox. The first user may be in the hospital, or under HR review, or maybe they’ve been dropping the ball lately and management need to make sure that certain projects have been followed up on. It’s not really our job to care. The fact is, Bill in management has requested that you give Paul Stanley access to Gene Simmon’s mailbox, and for various reasons, logging on to Gene’s mailbox to set these permissions up is not a good option. For one, you’d only be able to delegate access to certain primary folders, not to the whole mailbox, and second, you’d have to know Gene’s password to do that. Because you are a smart admin, you tell Bill you can take care of it easily from the server. And here’s how you do it with Exchange 2007 or Exchange 2010:

Using this powershell command, you can give one user the permission to open and view another user’s entire mailbox. They won’t be able to send mail from that mailbox though, unless you add the SendAs permission:

Add-MailboxPermission user1 -User user2 -AccessRights fullaccess

So if you wanted to give Paul Stanley access to Gene Simmons’ mailbox, you would do this:

Add-MailboxPermission gsimmons -user pstanley -AccessRights fullaccess

To add sending functionality, you would do this:

Add-MailboxPermission gsimmons -User pstanley -AccessRights sendas

Make sure you run the Exchange Management Shell as Admin (escalated) or you may not get the results you were expecting.

If you want to verify the permissions you’ve given Paul, you can run this command:

Get-MailboxPermission gsimmons -User pstanley | fl

After you tell Bill that you’ve taken care of it, he asks you what Paul is supposed to do to view the mailbox. You send him the following instructions:

In Outlook, go into Tools -> Account Settingss and open up the properties on your Exchange email account. Choose More Settings, and when you get to the tabbed window, choose the Advanced tab.

On the Advanced tab, you will see the option to open additional mailboxes. Click Add and type the name of the user whose mailbox you want to open. In this case, Paul could type “Gene Simmons” or “gsimmons”. OK all the way out, and you should see another root mailbox for Gene Simmons added to Paul’s Outlook.

And yes, this can be done in the Exchange Management Console, but PowerShell is quicker!

0 Categories : Dave Shackelford, Exchange, SBS 2008, Tips
Aug
27

Setting the Maximum Memory Usage on the Sharepoint Database

by Eriq

Post to Twitter Post to Facebook Post to StumbleUpon

Our earlier post referred to setting the maximum memory usage for the SBSMonitoring database, but it is not the only default database that can use a large amount of RAM. The Sharepoint database for the companyweb interface can also get a bit out of control at times. Here are the steps to limit the maximum amount of RAM used:

  1. On the SBS 2008 server, open the Start menu and select All Programs.
  2. Select Microsoft SQL Server 2005.
  3. Right-Click on SQL Server Management Studio Express and select Run As Administrator. If you don’t run the tool as Administrator, the remaining steps will not work.
  4. Enter the following for the datbase name:
    \\.\pipe\mssql$microsoft##ssee\sql\query
  5. Click Connect.
  6. When the Object Explorer window opens, right-click on the top item (\\.\pipe\mssql$microsoft##ssee\sql\query) and select Properties.
  7. Click on the Memory page in the left-hand column.
  8. Change the Maximum Server Memory value to something a little more reasonable. The minimum RAM is set to 128, so the maximum cannot be set lower than that. You may need to tweak this value to ensure proper performance out of the Sharepoint database.
  9. Click OK and the database memory usage will be adjusted.
  10. Close SQL Server Management Studio Express when finished.

Want to see this in action? Check out our screencast of the process!

—–

So who wrote this blog and what do they do for a living anyway?
We’re Third Tier. We provide advanced Third Tier support for IT Professionals.
Third Tier Get Support BlogFeed Blog Twitter Twitter Facebook Facebook LinkedIn LinkedIN
1 Categories : Eriq Neale, SBS 2008, Screencast, Tips
Aug
27

Setting the Maximum Memory Usage on SBSMonitoring

by Eriq

Post to Twitter Post to Facebook Post to StumbleUpon

Susan Bradley had an often-referenced post on how to adjust the maximum memory usage of the SBSMonitoring MSDE instance in SBS 2003. Surprise, the SBSMonitoring database in SBS 2008 can also grow exceedingly large if not kept in check. The memory limits for the SBSMonitoring database can be adjusted in the SQL 2005 Management Studio Express on an SBS 2008 server. Here are the steps to do that:

  1. On the SBS 2008 server, open the Start menu and select All Programs.
  2. Select Microsoft SQL Server 2005.
  3. Right-Click on SQL Server Management Studio Express and select Run As Administrator. If you don’t run the tool as Administrator, the remaining steps will not work.
  4. Select the database from the drop-down list, or enter it as servername\SBSMONITORING, then click Connect.
  5. When the Object Explorer window opens, right-click on the top item (servername\SBSMONITORING) and select Properties.
  6. Click on the Memory page in the left-hand column.
  7. Change the Maximum Server Memory value to something a little more reasonable (100 has been bantered around as a reasonable value, but you may need to adjust depending on the server performance).
  8. Click OK and the database memory usage will be adjusted.
  9. Close SQL Server Management Studio Express when finished.

Want to see this in action? Check out our screencast of the process!

—–

So who wrote this blog and what do they do for a living anyway?
We’re Third Tier. We provide advanced Third Tier support for IT Professionals.
Third Tier Get Support BlogFeed Blog Twitter Twitter Facebook Facebook LinkedIn LinkedIN
6 Categories : Eriq Neale, SBS 2008, Screencast, Tips
Aug
17

Adding IPv6 to DNS

by amy

Post to Twitter Post to Facebook Post to StumbleUpon

This weekend I noticed that NSLOOKUP on my SBS 2008 server is no longer able to return the local DNS server name. Maybe it’s just semantics because otherwise NSLOOKUP seems to work fine, just was bothering me. Having noticed that it is using the IPv6 address for NSLOOKUP resolution I knew right away what the problem was – there’s no IPv6 information in my DNS. Specifically NSLOOKUP uses the PTR record.

Here’s how to resolve that problem:

At this point we’re just using a LinkLocal IP address. All LinkLocal addresses start with the prefix fe80:: Which in ipv4 speak is like the 169.254…addressing. It doesn’t go anywhere, it is just for internal use.

 

  1. Create an IPv.6 AAAA host record in the .local zone

clip_image002

2.   Create an IPv.6 reverse lookup zone for fe80::/64

clip_image004

3.   Create a ptr record for the IPv6 address of the server. To do this use the browse option in the new PTR record window

clip_image005

 

Now NSLookup will know the name of the local DNS server.

clip_image007

—
So who wrote this blog and what do they do for a living anyway?

We’re Third Tier. We provide advanced Third Tier support for IT Professionals.
Third Tier Get Support BlogFeed Blog Twitter Twitter Facebook Facebook LinkedIn LinkedIN

2 Categories : Amy Babinchak, SBS 2008, Tips
Aug
7

Avoiding Trouble with Windows Updates

by dave

Post to Twitter Post to Facebook Post to StumbleUpon

Do you ever wonder why there are so many sporadic one-off problems with Windows Update? Someone runs a .Net update and it breaks a lot of things, even though thousands of other admins have run that same patch without problems?

I think I might have an inkling why.

How many times have you been checking on a server right before lunch and saw an optimization you could easily make, made the change and then saw that the server wanted a reboot? It wasn’t that critical a change, and you can’t restart the system during business hours, so you add a task to your list to restart the server that evening. Or do you? Did you ever actually get around to it?

Maybe you download a patch for a known issue and then it calls for a reboot, and you decide that you might as well run some other updates before the reboot to get your downtime’s worth.

Both of these situations are much more likely to result in failed Windows Updates, since there are unresolved .dll, file and registry changes underway.

The best practice is to restart a server BEFORE you run Windows Update or any significant patches. You would do this in order to ensure that there are no subsystems that can’t be patched properly due to their already holding their breath for a reboot. So a good Windows Update procedure would involve at least two server restarts: one before the updates are run, and another after.

The truth is, if your servers run for 30+ days between reboots, it’s fairly common for them to begin to accumulate some of these “pending reboot” situations, and if you don’t resolve those before doing any serious patching, you may end up with unpredictable results.

—
So who wrote this blog and what do they do for a living anyway?

We’re Third Tier. We provide advanced Third Tier support for IT Professionals.
Third Tier Get Support BlogFeed Blog Twitter Twitter Facebook Facebook LinkedIn LinkedIN

0 Categories : Dave Shackelford, Tips

Search

Support

Third Tier provides advanced support services to IT Professionals. Learn about what we do at http://www.thirdtier.net or click on the support icon below to chat with one of our support representatives.

Third Tier
Copyright © 2012 All Rights Reserved
iThemes Builder by iThemes
Powered by WordPress