Category Archives: SQL

Active Directory Migration Tool (ADMT) 3.2 Commandline and SID Migration Caveats

When you want to do a scripted migration of Active Directory Objects between different forests keeping the object’s SID history, a commandline tool is available from within the Active Directory Migration Tool (ADMT). This article describes the caveats that exist when you want to install ADMT and the required SQL Server 2008 SP1 on your domain controller.

First off, When you want to do scripted migrations using the ADMT commandline and you need to do SID migrations, ADMT needs to be installed on an domain controller in the target domain. ADMT can be installed on a member server in the target domain, but you won’t be able to use the commandline tool in combination with a SID History migration when you don’t install it on a domain controller. You will receive the following error when you try to do this:

ERR:7615 SID History cannot be updated for username. You must be an administrator in the source domain.
ERR:7392 SIDHistory could not be updated due to a configuration or permissions problem. The Active Directory Migration Tool will not attempt to migrate the remaining objects.

Continue reading

Large Pages, theory and usage with SQL Server 2008

This article focuses on “Large Pages” on Windows Server systems, how they work and how they can be used to enhance the performance of SQL Server on 64-bit systems. It is part of a two-piece article on large pages. The second part is written by Gabrie van Zanten from GabesVirtualWorld and explains impact when large pages are used on VMWare ESX / vSphere.

Windows Memory Management Features

Before diving into the definition of large pages, let me introduce you to a small subset of memory management features of the Windows operating system. As you might know, a system can have both physical and virtual memory addresses. For starters, the physical memory addresses obviously refers to the address on the physical memory, as present in your system.

Virtual addresses are another story. By default, each process within Windows gets 2GB of virtual address space to use. While most of the time there will be more virtual address space inside a system then there is physical address space, there has to be some kind of process that takes control of this situation and controls which parts of the virtual addresses get mapped to the physical memory and which parts do not. This process is called the Memory Manager. The Memory Manager has –in short- a few tasks:

  • Translating the virtual address space of a process into the physical address space.
  • Moving content from memory to the page file when there’s no more free space available in memory.
  • Various other functions, from which one is Large Page Support.

Large Page Definition

What exactly are large pages and what are their advantages? MSDN defines large pages as follows:

Continue reading