I've had success with Sysinternals Process Explorer. With this, you can search to find what process(es) have a file open, and you can use it to close the handle(s) if you want. Of course, it is safer to close the whole process. Exercise caution and judgement.
To find a specific file, use the menu option Find->Find Handle or DLL...
Type in part of the path to the file. The list of processes will appear below.
If you prefer command line, Sysinternals suite includes command line tool Handle, that lists open handles.
Examples
c:\Program Files\SysinternalsSuite>handle.exe |findstr /i "e:\"
(finds all files opened from drive e:\
"
c:\Program Files\SysinternalsSuite>handle.exe |findstr /i "file-or-path-in-question"
To keep things simple and do one thing at a time, you should not change your domain's NS records during this migration. If you want to migrate the web site and also migrate the authoritative DNS server, do it in 2 separate steps. To migrate the web site, change only the A and AAAA records.
A conventional "low value" TTL to set on the A and AAAA records is 300 (5 minutes).
If you can operate both servers at the same time for a short period, then you can do even better than a DNS-based migration. You can set the old server to proxy requests to the new server, so that clients which still contact the old server get their requests forwarded to the new server. This is easy to achieve with Apache with ProxyPass
.
Later, if you want to move the DNS hosting, change the NS records and change the delegation in the parent zone (i.e. make the change at your domain's registrar). It is ideal if you can deploy the zone in the new servers ahead of time and leave both sets of nameservers serving the domain for a period of time.
EDIT: Details about ProxyPass
This Apache config snippet, placed in the <VirtualHost>
section for your server, or directly in server config if there is no <VirtualHost>
, will allow the old server to forward all requests to the new server:
<Location />
ProxyPass http://www.example.org/
</Location>
You normally should have ProxyPassReverse
with ProxyPass
but in this case it can be omitted since it would have no effect because the old site and new site have identical ServerName
.
You probably want to remove any other <Location>
, Alias
, RewriteRule
, or other URL-mapping directives from the old server config at the same time to be certain that the proxy rule and only the proxy rule gets processed. (Keep a backup around, of course, in case you need to back out of your migration!)
Make sure the old server knows the correct new IP address for the web site's domain, otherwise it will proxy the request back to itself!
Best Answer
It seems like you're handicapping yourself by not just using DFS or Clustered File Sharing.
http://support.microsoft.com/kb/284838