El TecnoBaúl de Kiquenet

Kiquenet boring stories

Archive for 31 enero 2011

Xcopy: Insufficient Memory

Posted by kiquenet en 31 enero 2011

El comando xcopy de Windows tiene ciertas limitaciones.

Al copiar una enorme cantidad de ficheros pueden aparecer errores del tipo “Insufficient Memory”.

rmdir /S /Q "%HOMEPATH%\My Documents\Important"

xcopy /E /R /Y /I G:\Important "%HOMEPATH%\My Documents\Important"

 

Insufficient Memory

Básicamente, hay 3 workarounds para solucionarlo:

  1. Fix paths – Se puede intentar usar unidades virtuales para acortar los paths.
  2. Usar xxcopy – Comando de terceros, clon de xcopy. It was sugerido por David at blogdom.org. Para propósitos comerciales es de pago.
  3. Usar robocopy – Robocopy es parte del Windows Server 2003 Resource Kit. Sólo se instala para Windows XP y 2003, pero funcionará en máquinas compatibles NT (copiando robocopy.exe en las máquinas que lo necesiten).
  4. Otras herramientas (gráficas): Teracopy (comentada por el compañero P.Hevia) , o RichCopy (que apareció en Technet Magazine)

 

Ejemplos:

robocopy \\server\share\Important "%HOMEPATH%\My Documents\Important"

"%ProgramFiles%\Windows Resource Kits\Tools\robocopy" C:\Temp\TeamProject\Main C:\Tmp\TeamProject\MainBuild\Sources\Main /S /E

http://www.terminally-incoherent.com/blog/2007/02/05/xcopy-insufficient-memory/

http://www.blogdom.org/archives/000792.php

http://forums.wincustomize.com/314765

http://technet.microsoft.com/en-us/magazine/2009.04.utilityspotlight.aspx

Anuncios

Posted in Scripts, Trucos | Etiquetado: | Leave a Comment »

El maravilloso mundo de las transacciones III: DTC

Posted by kiquenet en 5 enero 2011

La relación entre DTC (MSDTC service. Coordinador de Transacciones Distribuidas) y las transacciones (TransactionScope en C#).

Existen los comandos: sc y netsvc.

Ruta de registro: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC

Comandos para iniciar:

sc config msdtc start= auto
sc start msdtc

Jesús López posted on Foros MSDN

Cuando dentro de un TransactionScope se abre más de una conexión, aunque
sean a la misma base de datos, la transacción se promociona a transacción
distribuida. Las transacciones distribuidas son maneejadas por el MSDTC
(Microsoft Distributed Transaction Coordinator). De forma predeterminada el
acceso de red de MSDTC está deshabilidado.  Si el cliente que ejecuta la
transacción distribuida no está en la misma máquina que SQL Server, entonces
es necesario acceso de red de MSDTC.

Vamos que el mensaje de error te está diciendo exactamente qué es lo que
está pasando y además te está diciendo como arreglarlo. En el servidor SQL,
ejecutas la herramienta administrativa de Servicios de Componentes, todos
los programas -> herramientas administrativas -> servicios de componentes, o
panel de control->herramientas administrativas->servicios de componentes o
C:\WINDOWS\system32\Com\comexp.msc. Expandes Raíz de la Consola->Servicios
de Componentes->Equipos. Haces click con el botón derecho en Mi PC, eliges
propiedades, te vas a la ficha MSDTC, pulsas el botón "Configuración de
Seguridad" y allí habilitas:

1) Acceso a DTC desde la red
a) permitir clientes remotos
b) permitir entrantes
c) permitir salientes

http://support.microsoft.com/kb/166819/en-us?fr=1

C:\>sc \\REMOTE1 config Schedule start= disabled
[SC] ChangeServiceConfig SUCCESS

C:\>netsvc /start \\REMOTE1 "Schedule"
Error code 1058

C:\net helpmsg 1058

The specified service is disabled and cannot be started.
C:\>sc \\REMOTE1 config Schedule start= demand [SC] ChangeServiceConfig SUCCESS

C:\>netsvc /start \\REMOTE1 "Schedule" Service is pending start on \\REMOTE1

C:\>sc \\REMOTE1 qc Schedule [SC] GetServiceConfig SUCCESS

Referencias útiles sobre el tema: DTC y distintos problemas.

http://www.thereforesystems.com/turn-on-msdtc-windows-7/

http://stackoverflow.com/questions/1764165/understanding-msdtc-in-windows

Troubleshooting Problems with MSDTC
http://msdn.microsoft.com/en-us/library/aa561924.aspx

http://stackoverflow.com/questions/1690892/transactionscope-automatically-escalating-to-msdtc-on-some-machines

How to prevent automatic MSDTC promotion
http://softwaredevelopmentsolutions.blogspot.com/2010/08/how-to-prevent-automatic-msdtc.html

Posted in .NET, DataAccess | Etiquetado: , | Leave a Comment »