Cómo asignar otro servidor a través de SQL Server Management Studio


10

Estoy tratando de asignar otro servidor dando el comando

EXEC xp_cmdshell 
    'NET USE H:\\568.256.8.358\backup_147 1234abc /USER:cranew /PERSISTENT:yes'

Tengo un error con esto:

ruta de red no encontrada

Pero puedo asignar otro servidor manualmente. Por favor, ayúdame a resolver esto.


Hola, para evitar ser marcado o que los mods eliminen tu pregunta, proporciona más información. ¿Cómo intenta conectarse a otro servidor utilizando SQL Server Management Studio exactamente? ¿Estás usando PowerShell? XP_CMDSHELL? Su comando NET USE también está totalmente equivocado. No veo cómo funcionaría eso en ningún lugar, dentro o fuera de SQL Server. Necesita 2 barras invertidas (\) y una carpeta para que funcione.
— Ali Razeghi

¿Hay un error tipográfico en la declaración de uso neto? Esperaría algo como:NET USE H:\ \\server\share 1234abc /USER:cranew /PERSISTENT:yes
— Stuart Moore

Mapear una unidad de red como esta realmente no es una buena idea, por las razones mencionadas en las respuestas a continuación. ¿Por qué no usarías una ruta UNC en su lugar?
— Daniel Hutmacher

@DanielHutmacher, y ¿cómo sería eso, por favor?
— Paul-Sebastian Manole

@ Pablo-SebastianManole en lugar de utilizar H:\ , sólo podría escribir la ruta completa, \\server\share\folder\filename.bak. Esto funciona perfectamente bien para copias de seguridad, OPENROWSET, etc., siempre que haya configurado los permisos de la cuenta de servicio correctamente.
— Daniel Hutmacher

Respuestas:


6

Esto es más una NET USEpregunta que una pregunta de SSMS / SQL Server.

NET USE tiene la sintaxis:

net use [{DeviceName | *}] 
   [\\\\ComputerName\ShareName[\volume]] [{Password | *}]] 
   [/user:[DomainName\]UserName] [/user:[DottedDomainName\]UserName] 
   [/user: [UserName@DottedDomainName] [/savecred] [/smartcard] 
   [{/delete | /persistent:{yes | no}}]

Entonces, esperaría que su comando se vea así:

EXEC xp_cmdshell 
    'NET USE H: \\568.256.8.358\backup_147 1234abc /USER:cranew /PERSISTENT:yes'

2

No asigne unidades de red y espere que estén allí. Simplemente haga una copia de seguridad en la ruta de red directamente.

El uso de unidades mapeadas se vuelve complicado rápidamente cuando comienza a suponer que la letra de la unidad estará disponible la próxima vez. ¿Qué sucede cuando agrega otro disco duro al servidor más tarde y desea usar esa letra de unidad? ¿Qué sucede cuando Windows desconecta la unidad para recuperar el zócalo de la red?


2

después de reiniciar el servidor debe ejecutar el comando plase solution save command ...

Use Master
GO

EXEC master.dbo.sp_configure 'show advanced options', 1
RECONFIGURE WITH OVERRIDE
GO

EXEC master.dbo.sp_configure 'xp_cmdshell', 1
RECONFIGURE WITH OVERRIDE
GO

exec xp_cmdshell 'net use  \\ip\xxx pass /user:xxx /persistent:no'

Use Master
GO

EXEC master.dbo.sp_configure 'show advanced options', 1
RECONFIGURE WITH OVERRIDE
GO

EXEC master.dbo.sp_configure 'xp_cmdshell', 0
RECONFIGURE WITH OVERRIDE
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.