Come mappare un altro server tramite SQL Server Management Studio


10

Sto cercando di mappare un altro server dando il comando

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

Ho ricevuto un errore con questo:

percorso di rete non trovato

Ma sono in grado di mappare manualmente un altro server. Per favore, aiutatemi a risolvere questo problema.


Ciao, per evitare di essere contrassegnato dal down o di aver eliminato la tua domanda dalle mod, ti preghiamo di fornire maggiori informazioni. Come stai provando a connetterti a un altro server usando esattamente SQL Server Management Studio? Stai usando PowerShell? XP_CMDSHELL? Anche il tuo comando NET USE è totalmente sbagliato. Non vedo come funzionerebbe ovunque, all'interno o all'esterno di SQL Server. Sono necessarie 2 barre rovesciate (\) e una cartella per funzionare.
Ali Razeghi,

C'è un refuso nell'istruzione net use? Mi aspetterei qualcosa del tipo:NET USE H:\ \\server\share 1234abc /USER:cranew /PERSISTENT:yes
Stuart Moore,

Mappare un'unità di rete come questa non è davvero una buona idea, per i motivi menzionati nelle risposte di seguito. Perché non dovresti semplicemente utilizzare un percorso UNC?
Daniel Hutmacher,

@DanielHutmacher, e come sarebbe, per favore !?
Paul-Sebastian Manole,

@ Paul-SebastianManole invece di usare H:\ , si può solo scrivere il percorso completo, \\server\share\folder\filename.bak. Funziona perfettamente per backup, OPENROWSET, ecc., A condizione che tu abbia impostato correttamente le autorizzazioni dell'account di servizio.
Daniel Hutmacher,

Risposte:


6

Questa è più una NET USEdomanda che una domanda SSMS / SQL Server.

NET USE ha la sintassi:

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

Quindi, mi aspetto che il tuo comando assomigli a questo:

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

2

Non mappare le unità di rete e aspettarti che siano lì. Basta eseguire il backup direttamente sul percorso di rete.

L'utilizzo di unità mappate diventa complicato quando inizi a fare ipotesi che la lettera di unità sarà disponibile la prossima volta. Cosa succede quando si aggiunge un altro disco rigido al server in un secondo momento e si desidera utilizzare quella lettera di unità? Cosa succede quando Windows disconnette l'unità per recuperare il socket di rete?


2

dopo il riavvio il server deve eseguire il 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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.