コマンドを入力して別のサーバーをマップしようとしています
EXEC xp_cmdshell
'Net Use H:\\568.256.8.358\backup_147 1234abc /USER:cranew /PERSISTENT:yes'
これでエラーが発生しました:
ネットワークパスが見つかりません
しかし、別のサーバーを手動でマップすることができます。これを整理するのを手伝ってください。
これはNet Use
質問はSSMS/SQLサーバーの質問よりもです。
Net Use の構文は次のとおりです。
Net Use [{DeviceName | *}]
[\\\\ComputerName\ShareName[\volume]] [{Password | *}]]
[/user:[DomainName\]UserName] [/user:[DottedDomainName\]UserName]
[/user: [UserName@DottedDomainName] [/savecred] [/smartcard]
[{/delete | /persistent:{yes | no}}]
だから、私はあなたのコマンドが次のようになると期待します:
EXEC xp_cmdshell
'Net Use H: \\568.256.8.358\backup_147 1234abc /USER:cranew /PERSISTENT:yes'
ネットワークドライブを割り当てないでください。ネットワークパスに直接バックアップするだけです。
マップされたドライブを使用すると、ドライブ文字が次回利用可能になると想定し始めると、トリッキーになります。後でサーバーに別のハードドライブを追加し、そのドライブ文字を使用したい場合はどうなりますか? Windowsがドライブを切断してネットワークソケットを再利用するとどうなりますか?
再起動後、サーバーはコマンドプラスソリューションの保存コマンドを実行する必要があります...
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