| PARTE I: El problema y su Diagnóstico | |
| PARTE II: El Disaster Recovery | |
| LINKS: |
El presente Documento muestra cómo se realizó el Proceso de Disaster Recovery de un Servidor Controlador de Dominio (Domain Controller, DC) que además era el único servidor Exchange Backend de la Organización. El Escenario es el Siguiente : En el Servidor DC01 se encontraban los servicios de Directorio (AD), DNS y el único Servidor Exchange BE de la organización. En el Servidor DC02 se encuentra una réplica del Active Directory y DNS
Sábado: El Servidor Controlador de Dominio (Domain Controller o DC) y único Exchange de la organización dejó de responder las peticiones de los usuarios. Aunque respondía a los pings realizados no era posible establecer conexión vía RDP (Terminal Services). Al concurrir físicamente a ver el servidor se observó que el servicio LSASS.exe estaba utilizando el 99% de la CPU. Pero como no se pudo hacer nada al respecto se reinició el servidor y apareció una ventana con el mensaje descrito en el Error 1,
ERROR 1
Event Type: Information
Event Source: Application Popup
Event Category: None
Event ID: 26
Description:
Application popup: lsass.exe - System Error :
Directory Services could not start because of the following error:
There is not enough space on the disk.
Error Status: 0xc000007f.
Please click OK to shutdown this system and reboot into Directory Services Restore Mode,
check the event log for more detailed information.
En condiciones que el Disco Duro si tenía espacio, y de sobra. Al reiniciar se pudo acceder al sistema y luego de descartar que fuese un virus se encontró el Error 2 en los logs de Sistema:
ERROR 2 Event Type: Error Event Source: NTDS Database Event Category: (9) Event ID: 1168 Description: The description for Event ID ( 1168 ) in Source ( NTDS Database ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. The following information is part of the event: -1605, fffff9bb, 2080400.
Toda las versiones de Windows y Exchange son “2000” , aunque el procedimiento se aplica 100% a las versiones “2003”:
Se buscó en Internet y se encontraron los siguientes artículos de la KB que dieron más luz sobre el problema:
265089 Event 1168: Windows 2000 DCs Unable to Boot into Active Directory.
http://support.microsoft.com/default.aspx?scid=kb;en-us;265089
258062 Directory Services cannot start" error message when you start your Windows-based or
SBS-based domain controller.
http://support.microsoft.com/default.aspx?scid=kb;en-us;258062Pero al tratar de realizar las operaciones con ntdsutil.exe que sugerían los artículos se encontraban errores de acceso a la base de datos del AD. (NTDS.DIT)…
ntdsutil: files
file maintenance: info
Drive Information:
C:\ NTFS (Fixed Drive ) free(350.5 Mb) total(3.9 Gb)
D:\ NTFS (Fixed Drive ) free(2.5 Gb) total(8.4 Gb)
E:\ NTFS (Fixed Drive ) free(1.5 Gb) total(7.8 Gb)
DS Path Information:
Database : C:\WINNT\NTDS\ntds.dit - 56.1 Mb
Backup dir : C:\WINNT\NTDS\dsadata.bak
Working dir: C:\WINNT\NTDS
Log dir : C:\WINNT\NTDS - 40.0 Mb total
res2.log - 10.0 Mb
res1.log - 10.0 Mb
edb00075.log - 10.0 Mb
edb.log - 10.0 Mb
file maintenance: integrity
Opening database [Current].*** Error: DBInitializeJetDatabase failed with [ Jet Error -255].
Error While Doing Soft Recovery
-----------------------
semantic checker: go
Fixup mode is turned off
Opening database [Current].*** Error: DBInitializeJetDatabase failed with [ Jet
Error -255].
semantic checker: go fix
Fixup mode is turned on
Opening DIT database... Could not initialize the Jet engine: Jet Error -255.
Failed.
Opening database [Current].*** Error: DBInitializeJetDatabase failed with [ Jet Error -255].
Luego se revisó el Log de sistema en busca de más información sobre la falla de los procedimientos y se encontraron errores en disco: (Error 3 y 4)
ERROR 3 Event Type: Error Event Source: Disk Event Category: None Event ID: 11 Description: The driver detected a controller error on \Device\Harddisk1\DR1. ERROR 4 Event Type: Error Event Source: Disk Event Category: None Event ID: 7 Description: The device, \Device\Harddisk1\DR1, has a bad block.
Como ya estábamos en AD Restore Mode y se realizó un CheckDisk, el cual arrojó el siguiente resultado:
Luego se revisó el Log de sistema en busca de más información sobre la falla de los procedimientos y se encontraron errores en disco: (Error 3 y 4)
C:\Documents and Settings\Administrator>chkdsk c:
The type of the file system is NTFS.
Volume label is Local Disk.
WARNING! F parameter not specified.
Running CHKDSK in read-only mode.
CHKDSK is verifying files (stage 1 of 3)...
File verification completed.
CHKDSK is verifying indexes (stage 2 of 3)...
Index verification completed.
CHKDSK is verifying security descriptors (stage 3 of 3)...
Security descriptor verification completed.
CHKDSK is verifying Usn Journal...
Usn Journal verification completed.
Correcting errors in the master file table's (MFT) BITMAP attribute.
Correcting errors in the Volume Bitmap.
Windows found problems with the file system.
Run CHKDSK with the /F (fix) option to correct these.
4184900 KB total disk space.
3221756 KB in 28102 files.
8728 KB in 905 indexes.
36 KB in bad sectors.
595128 KB in use by the system.
22976 KB occupied by the log file.
359252 KB available on disk.
4096 bytes in each allocation unit.
1046225 total allocation units on disk.
89813 allocation units available on disk.
Luego se ejecuto el chkdsk con la opción de reparar el disco C: chkdsk c: /x /v pero al finalizar seguían los mismos 36 KB en sectores defectuosos.. Domingo: ¿Será tanta la mala suerte como para que los sectores defectuosos estén "justo" en el archivo NTDS.dit (el archivo donde se almacena la Base de Datos del AD)? Se probó simplemente moviendo el archivo ntds.dit en a otro Disco Duro usando ntdsutil.ese, pero también fue infructuoso:
file maintenance: move db to d:\NTDS\ Opening database [Current].*** Error: DBInitializeJetDatabase failed with [ Jet Error -255]. Error While Doing Soft Recovery file maintenance: move logs to d:\NTDS\ Opening database [Current].*** Error: DBInitializeJetDatabase failed with [ Jet Error -1022]. Error While Doing Soft Recovery
Efectivamente, Murphy es implacable: El disco Duro tenía sectores dañados “justo” en la Base de Datos del Active Directory. Sólo restaba tratar de respaldar las Bases de Datos de Exchange, pero como el AD no subía, el Servidor Exchange, y en particular el Information Store (IS) no subían, así que no se podía hacer respaldos con ntbackup.exe. Se utilizó entonces un programa gratuito para replicar archivos con el fin de guardar los archivos .edb y .stm del servidor fallecido a otro equipo de la red local. Lo cual tardaría el resto de la tarde y la noche. Paralelamente a todo lo anterior, se trabajó en preparar un nuevo servidor “DC-NUEVO” para reemplazar al “DC01”.
Lunes: Se establece el contacto con la Gente de ITPro Chile, Jorge Díaz, quien amablemente accede a prestar su asesoría en el Disaster Recovery. El plan era el Siguiente:
| • | 1. Transferir los roles FSMO que tenía el Servidor Fallecido, DC01, a el DC que estaba activo, DC02. |
| • | 2. Quitar del Active Directory toda la información referente al DC01. |
| • | 3. Una vez eliminada la información del DC01 del Active Directory había que ingresar al dominio el nuevo servidor (DC-NUEVO), con el mismo nombre y número IP que DC01. |
| • | 4. Emular las particiones y Unidades de Disco que existían en DC01 en DC-Nuevo. |
| • | 5. Con el nuevo DC01 en la red, promoverlo a Domain Controller (DC) y aplicar Service Pack 4 |
| • | 6. Instalar Exchange con setup /disasterrecovery. |
| • | 7. Copiar los archivos .edb y .stm en las mismas ubicaciones en donde se encontraban originalmente. |
| • | 8. Con eseutil.exe “reparar” las Bases de Datos de Exchange (.edb y .stm) para que el servidor Exchange las reconozca como propias.. |
| • | 9. Montar las Bases de Datos. |
Primero, para determinar cuales eran los roles FSMO que poseía el servidor DC01 conozco 3 alternativas: utilizar las consolas de administración del AD (ver links) o usando programas de línea de comandos:
a. dcdiag.exe /s:[servidor] /v Entrega información sobre el status del domain controller contra el cual se ejecuta, el flag /v es para obtener un resultado verboso . La parte que nos interesa es: Starting test: KnowsOfRoleHolders Role Schema Owner = CN=NTDS Settings,CN=DC01,CN=Servers,CN=misite, CN=Sites,CN=Configuration, DC=midominio,DC=local Role Domain Owner = CN=NTDS Settings,CN=DC01,CN=Servers,CN=misite, CN=Sites,CN=Configuration,DC=midominio,DC=local Role PDC Owner = CN=NTDS Settings,CN=DC02,CN=Servers,CN=misite,CN=Sites, CN=Configuration,DC=midominio,DC=local Role Rid Owner = CN=NTDS Settings,CN=DC02,CN=Servers,CN=misite,CN=Sites, CN=Configuration,DC=midominio,DC=local Role Infrastructure Update Owner = CN=NTDS Settings,CN=DC02,CN=Servers, CN=misite,CN=Sites,CN=Configuration,DC=midominio,DC=local ......................... DC01 passed test KnowsOfRoleHolders b. netdom.exe query fsmo Entrega la información de los roles FSMO: Schema owner DC01.midominio.local Domain role owner DC01.midominio.local PDC role DC02.midominio.local RID pool manager DC02.midominio.local Infrastructure owner DC02.midominio.local
Una vez identificados los roles FSMO, hay que transferirlos a un servidor activo. Aquí es interesante mencionar que los roles se pueden “transferir” (transfer) o “embargar” (seize). El primer método se usa cuando el servidor que posee los roles está activo y es el método recomendado, en cambio el embargo de los roles se realiza cuando el servidor que posee los roles no está activo y nunca más será utilizado en la red. La transferencia se puede realizar mediante las consolas de administración de los distintos roles (mmc.msc), en cambio el embargo sólo puede realizarse mediante la aplicación de línea de comando ntdsutil.exe. El procedimiento para realizar la transferencia y el embargo usando ntdsutil.exe se describen en el KB:
255504 Using Ntdsutil.exe to transfer or seize FSMO roles to a domain controller
http://support.microsoft.com/default.aspx?scid=kb;en-us;255504
En mi experiencia, el proceso de embargo es bastante simple y exento de complicaciones. Sólo hay que leer y aceptar las advertencias que aparecen. Insisto además en que una vez embargados los roles al Domain Controller, éste nunca se debe volver a conectar a la red. Lo mejor es hacerle un “fsdisk”, para asegurarnos que todo andará bien.
Una vez transferidos todos los roles al servidor activo y realizar un backup del System State de éste, se procede a quitar del Active Directory toda la información que hace referencia al Domain Controller muerto. Importante: sólo se debe quitar del AD la información del servidor en lo referente a su existencia y función como Domain Controller, no hay que borrarlo de la organización Exchange!!! El procedimiento aparece descrito en el siguiente KB:
216498 How to remove data in Active Directory after an unsuccessful domain controller demotion http://support.microsoft.com/kb/216498/
Se renombra el Servidor desde DC-Nuevo a DC01 y se pone la configuración IP de antiguo DC01. (En mi red la configuración IP de los servidores la entrega el servidor DHCP en base a reservas hechas previamente por número de MAC, o MAC Address.) Desde Ahora DC-Nuevo pasa a ser DC01
Súper importante. Puesto que la idea es que el servidor DC-Nuevo “suplante” al Servidor DC01 en todas sus configuraciones, en especial en lo referente a Exchange la ubicación de los Logs y Bases de Datos (.edb y .stm). Esto se realizó con el administrador de Discos de Windows.
Una vez que dejamos el servidor DC-Nuevo “igualito” al Servidor DC01 sólo nos faltaba hacerlo Domain Controller. Para lo cual se usa simplemente dcpromo.exe. Una vez instalados todos los servicios que se van a prestar en el DC-Nuevo y promovido a Domain Controller se aplica Service Pack 4 para Windows 2000. Se verifica el correcto funcionamiento de Active Directory usando: netdiag.exe, dcdiag.exe, Event Viewer y Replication Monitor. Todo funciona OK. Este es el último paso del Disaster Recovery del Domain Controller.
II. Disaster Recovery del Exchange Server
Ya tenemos el servidor DC01 “nuevamente” en la red, y AD funcionando. Comenzamos con el Disaster Recovery del Servidor Exchange
Se realiza la instalación de Exchange 2000. Es importante que la versión que se usa sea la misma versión de la instalación original, en nuestro caso no teníamos a disposición la misma versión, por lo que hubo que utilizar una versión “Enterprise” en vez de “Standard”. Para efectuar la Instalación se usa el setup.exe de Exchange 2000, pero con la opción de Disaster Recovery:
Setup.exe /disasterrecovery
Con esta opción lo que hace la instalación de Exchange es instalar una copia de Exchange en el servidor, pero obtiene la información de configuración desde el Active Directory: Organización, Storage Groups, Information Stores, etc. Tampoco monta los Information Stores que tiene configurado el servidor, para permitir la reparación de las bases de datos.
285169 XADM: Information Stores Do Not Mount After You Use the "/disasterrecovery" Switch http://support.microsoft.com/default.aspx?scid=kb;en-us;285169
Una vez finalizada la instalación se verificó que todo hubiese quedado bien, pero se encontró que el servicio System Attendant no subía y en el Event Logs aparecía el siguiente error:
ERROR 6 Event Type: Error Event Source: MSExchangeSA Event Category: (1) Event ID: 9149 Description: The description for Event ID ( 9149 ) in Source ( MSExchangeSA ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. The following information is part of the event: DC01, 0x80070005.
Comportamiento que aparece descrito, y su solución, en el siguiente artículo KB:
325674 System Attendant does not start after disaster recovery installation
and event ID 9022, 9149, 1005 messages occur
http://support.microsoft.com/kb/325674/en-us
Para que los cambios tuviesen efecto fue necesario reiniciar el servidor, luego de lo cual el servicio subió sin problemas.
Eso, Sólo copiar en las ubicaciones que preparamos previamente (paso 4).
Ahora viene el paso crucial, devolver las bases de datos respaldadas manualmente a una versión y estado que el nuevo servidor reconozca y utilice. Para esto vamos a utilizar la herramienta eseutil.exe, que viene con Exchange.
317014 XADM: Exchange 2000 Server Eseutil Command Line Switches http://support.microsoft.com/default.aspx?scid=kb;en-us;317014
No se puede simplemente subir el Information Store del Servidor con la Base de datos copiada manualmente. Es necesario repararla usando eseutil:
328968 XADM: Error 0x451 When You Try to Mount Information Store After a Restore Operation http://support.microsoft.com/default.aspx?scid=kb;en-us;328968
Importante: La versión de eseutil a utilizar debe ser la misma que había en el servidor Exchange Original, en nuestro caso, hubo que aplicar Service Pack 3 para Exchange antes de poder realizar exitosamente la operación:
244976 XADM: Event ID 1197 and 1005 After You Attempt to Start the Information Store http://support.microsoft.com/default.aspx?scid=kb;en-us;244976
a. eseutil /mh
Muestra el header de las Bases de datos:
"D:\Program Files\Exchsrvr\BIN\eseutil.exe" /mh
“D:\Program Files\Exchsrvr\mdbdata\priv1.edb” /s
”D:\Program Files\Exchsrvr\mdbdata\priv1.stm”
Microsoft(R) Exchange Server(TM) Database Utilities Version 6.0
Copyright (C) Microsoft Corporation 1991-2000. All Rights Reserved.
Initiating FILE DUMP mode...
Database: D:\Program Files\Exchsrvr\mdbdata\priv1.edb
Streaming File: D:\Program Files\Exchsrvr\mdbdata\priv1.stm
File Type: Database
Format ulMagic: 0x89abcdef
Engine ulMagic: 0x89abcdef
Format ulVersion: 0x620,9
Engine ulVersion: 0x620,9
Created ulVersion: 0x620,9
DB Signature: Create time:07/21/2004 22:07:50 Rand:92195965 Computer:
cbDbPage: 4096
dbtime: 1286601514 (0-1286601514)
State: Dirty Shutdown
Log Required: 78898-78898
Streaming File: Yes
Shadowed: Yes
Last Objid: 1198
Scrub Dbtime: 0 (0-0)
Scrub Date: 00/00/1900 00:00:00
Repair Count: 0
Repair Date: 00/00/1900 00:00:00
Last Consistent: (0x13431,9B2,11D) 08/25/2005 22:13:28
Last Attach: (0x13431,9B3,18E) 08/25/2005 22:13:29
Last Detach: (0x0,0,0) 00/00/1900 00:00:00
Dbid: 1
Log Signature: Create time:12/20/2001 21:10:42 Rand:860962523 Computer:
OS Version: (5.0.2195 SP 4)
[borrado]
Operation completed successfully in 1.390 seconds.
Lo importante es notar que el “Estado” de la base de datos aparece “Dirty Shutdown”, y no como “Consistent”
b. eseutil /p
Repara las Bases de Datos y las vuelve a un estado Consistente.
"D:\Program Files\Exchsrvr\BIN\eseutil.exe" /p
“D:\Program Files\Exchsrvr\mdbdata\priv1.edb” /s
”D:\Program Files\Exchsrvr\mdbdata\priv1.stm”
Microsoft(R) Exchange Server(TM) Database Utilities Version 6.0
Copyright (C) Microsoft Corporation 1991-2000. All Rights Reserved.
Initiating REPAIR mode...
Database: D:\Program Files\Exchsrvr\mdbdata\priv1.edb
Streaming File: D:\Program Files\Exchsrvr\mdbdata\priv1.stm
Temp. Database: TEMPREPAIR3192.EDB
Checking database integrity.
The database is not up-to-date. This operation may find that
this database is corrupt because data from the log files has
yet to be placed in the database.
To ensure the database is up-to-date please use the 'Recovery' operation.
Scanning Status (% complete)
0 10 20 30 40 50 60 70 80 90 100
|----|----|----|----|----|----|----|----|----|----|
...................................................
Scanning the database.
Scanning Status (% complete)
0 10 20 30 40 50 60 70 80 90 100
|----|----|----|----|----|----|----|----|----|----|
...................................................
Repairing damaged tables.
Scanning Status (% complete)
0 10 20 30 40 50 60 70 80 90 100
|----|----|----|----|----|----|----|----|----|----|
...................................................
Repair completed. Database corruption has been repaired!
Note:
It is recommended that you immediately perform a full backup
of this database. If you restore a backup made before the
repair, the database will be rolled back to the state
it was in at the time of that backup.
Operation completed successfully with 595 (JET_wrnDatabaseRepaired,
Database corruption has been repaired) after 37.0 seconds.
Ahora ya está reparada la Base de Datos y puede ser montada (subiendo el IS), como se indica en el paso 9.
c. eseutil /d
Realiza una desfragmentación off-line de la Base de Datos.
Puesto que el servidor ya estaba “abajo”, aprovechamos de hacer esta operación de mantención ;)
"D:\Program Files\Exchsrvr\BIN\eseutil.exe" /d
“D:\Program Files\Exchsrvr\mdbdata\priv1.edb” /s
”D:\Program Files\Exchsrvr\mdbdata\priv1.stm”
Microsoft(R) Exchange Server(TM) Database UtilitiesVersion 6.0 Copyright (C)
Microsoft Corporation 1991-2000. All Rights Reserved.
Initiating DEFRAGMENTATION mode...
Database: D:\Program Files\Exchsrvr\mdbdata\priv1.edb
Streaming File: D:\Program Files\Exchsrvr\mdbdata\priv1.stm
Temp. Database: TEMPDFRG3136.EDB
Temp. Streaming File: TEMPDFRG3136.STM
Defragmentation Status (% complete)
0 10 20 30 40 50 60 70 80 90 100
|----|----|----|----|----|----|----|----|----|----|
...................................................
Moving 'TEMPDFRG3136.EDB' to 'D:\Program Files\Exchsrvr\mdbdata\priv1.edb'...
File Copy Status (% complete)
0 10 20 30 40 50 60 70 80 90 100
|----|----|----|----|----|----|----|----|----|----|
...................................................
Moving 'TEMPDFRG3136.STM' to 'D:\Program Files\Exchsrvr\mdbdata\priv1.stm'...
File Copy Status (% complete)
0 10 20 30 40 50 60 70 80 90 100
|----|----|----|----|----|----|----|----|----|----|
...................................................
Note:
It is recommended that you immediately perform a full backup
of this database. If you restore a backup made before the
defragmentation, the database will be rolled back to the state
it was in at the time of that backup.
Operation completed successfully in 394.984 seconds.
Notas: - Para poder realizar las operaciones con eseutil es necesario contar con espacio en disco suficiente para la base de datos y la base de datos temporal. - como pueden ver, las 3 operaciones realizadas con eseutil tienen la misma lista de argumentos, salvo por el modificador que indica la operación a realizar (/mh, /p, /d), por lo que personalmente preferí la utilización de un archivo .bat al cual le modificaba los parámetros y así evitaba tener que re-escribir todas esas rutas de nuevo. Además, como priv1 no era la única Base de Datos a restaurar resultó muy cómodo este método. Finalmente, también se indica la salida a un archivo .txt en vez de a la pantalla. Adjunto la línea a utilizar en el .bat (modificar donde dice “mh” por “p” o “d”, según corresponda):
"D:\Program Files\Exchsrvr\BIN\eseutil.exe" /mh “D:\Program Files\Exchsrvr\mdbdata\priv1.edb” /s ”D:\Program Files\Exchsrvr\mdbdata\priv1.stm” > c:\logs\eseutil_mh_priv1.tx
Una vez reparadas y desfragmentadas las bases de datos hay que montarlas una a una subiendo los Information Stores que las manejan. Es importante subirlas una a una y borrando los archivos .log y .chk del Storage Group al que pertenece el Information Store. El procedimiento entonces es: i. Desmontar todos los Information Stores del Storage Group. ii. Borrar todos los archivos .log y .chk del Storage Group. iii. Montar un Information Store. Realizar Pruebas. iv. Realizar todo el proceso desde el punto i. para cada Information Store del Storage Group. Con esta última tarea se concluyó el Disaster Recovery del Servidor Exchange. Notas Finales: - Quedaron deliberadamente fuera de este artículo las consideraciones referentes a seguridad (hardening) del servidor nuevo. - Se han cambiado algunos nombres y lugares para proteger la identidad de los verdaderos protagonistas ;)
| • | Agradecimientos a: IT Pro Chile www.itpro.cl Jorge Díaz jorge@jpdg.cl |
| • | Microsoft KB: 265089 Event 1168: Windows 2000 DCs Unable to Boot into Active Directory http://support.microsoft.com/default.aspx?scid=kb;en-us;265089 258062 "Directory Services cannot start" error message when you start your Windows-based or SBS-based domain controller http://support.microsoft.com/default.aspx?scid=kb;en-us;258062 258007 Err Msg: Security Accounts Manager Initialization Failed Because of the Following Error: Directory Service Cannot ... http://support.microsoft.com/default.aspx?scid=kb;en-us;240655 240362 Directory Services Does Not Start If Ntds.dit File Is Missing http://support.microsoft.com/default.aspx?scid=kb;en-us;240362 255504 Using Ntdsutil.exe to transfer or seize FSMO roles to a domain controller http://support.microsoft.com/default.aspx?scid=kb;en-us;255504 216498 How to remove data in Active Directory after an unsuccessful domain controller demotion http://support.microsoft.com/kb/216498/ 285169 XADM: Information Stores Do Not Mount After You Use the "/disasterrecovery" Switch http://support.microsoft.com/default.aspx?scid=kb;en-us;285169 325674 System Attendant does not start after disaster recovery installation and event ID 9022, 9149, 1005 messages occur http://support.microsoft.com/kb/325674/en-us 317014 XADM: Exchange 2000 Server Eseutil Command Line Switches http://support.microsoft.com/default.aspx?scid=kb;en-us;317014 328968 XADM: Error 0x451 When You Try to Mount Information Store After a Restore Operation http://support.microsoft.com/default.aspx?scid=kb;en-us;328968 244976 XADM: Event ID 1197 and 1005 After You Attempt to Start the Information Store http://support.microsoft.com/default.aspx?scid=kb;en-us;244976 |
| • | Otros: Google http://www.google.com EventID.Net http://www.eventid.net Karen’s Replicator http://www.karenware.com/powertools/ptreplicator.asp |
| • | Más información: Microsoft Exchange Server TechCenter http://www.microsoft.com/latam/technet/prodtechnol/exchange 326052 XADM: White Paper - Disaster Recovery for Microsoft Exchange 2000 Server http://support.microsoft.com/default.aspx?scid=kb;en-us;326052 297289 How to move Exchange 2000 to new hardware and keep the same server name http://support.microsoft.com/default.aspx?scid=kb;en-us;297289 |