วิธีแมปเซิร์ฟเวอร์อื่นผ่าน SQL Server Management Studio


10

ฉันพยายามแมปเซิร์ฟเวอร์อื่นโดยให้คำสั่ง

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

ฉันพบข้อผิดพลาดกับสิ่งนี้:

ไม่พบเส้นทางเครือข่าย

แต่ฉันสามารถแมปเซิร์ฟเวอร์อื่นด้วยตนเองได้ โปรดช่วยฉันในการเรียงลำดับ


สวัสดีเพื่อหลีกเลี่ยงการติดธงทำเครื่องหมายหรือมีการลบคำถามของคุณโดย mods โปรดให้ข้อมูลเพิ่มเติม คุณพยายามเชื่อมต่อกับเซิร์ฟเวอร์อื่นโดยใช้ SQL Server Management Studio ได้อย่างไร คุณใช้ PowerShell หรือไม่ xp_cmdshell? คำสั่ง NET USE ของคุณนั้นผิดด้วยเช่นกัน ฉันไม่เห็นวิธีที่จะทำงานได้ทุกที่ทั้งภายในและภายนอกของ SQL Server คุณต้องมีแบ็กสแลช 2 อัน (\) และโฟลเดอร์เพื่อให้มันใช้งานได้
Ali Razeghi

มีคำผิดใน net use หรือไม่? ฉันคาดหวังบางอย่างเช่น:NET USE H:\ \\server\share 1234abc /USER:cranew /PERSISTENT:yes
สจวร์ตมัวร์

การทำแผนที่ไดรฟ์เครือข่ายแบบนี้ไม่ใช่ความคิดที่ดีจริงๆด้วยเหตุผลที่กล่าวไว้ในคำตอบด้านล่าง ทำไมคุณไม่ใช้เส้นทาง UNC แทน?
Daniel Hutmacher

@DanielHutmacher และนั่นจะมีลักษณะอย่างไรโปรด!
พอล - เซบาสเตียน Manole

@ Paul-SebastianManole แทนที่จะใช้H:\ คุณสามารถเขียนเส้นทางแบบเต็ม\\server\share\folder\filename.bakได้ วิธีนี้ใช้ได้ผลดีกับการสำรองข้อมูล, OPENROWSET และอื่น ๆ โดยที่คุณได้ตั้งค่าการอนุญาตบัญชีบริการอย่างถูกต้อง
Daniel Hutmacher

คำตอบ:


6

นี่เป็นNET USEคำถามมากกว่าคำถาม SSMS / SQL Server

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'

2

อย่าแมปไดรฟ์เครือข่ายและคาดว่าจะอยู่ที่นั่น เพียงสำรองข้อมูลไปยังเส้นทางเครือข่ายโดยตรง

การใช้ไดรฟ์ที่แมปจะทำให้ใช้งานได้รวดเร็วในขณะที่คุณเริ่มทำการสันนิษฐานว่าจะมีตัวอักษรของไดรฟ์ในครั้งต่อไป จะเกิดอะไรขึ้นเมื่อคุณเพิ่มฮาร์ดไดรฟ์อื่นลงในเซิร์ฟเวอร์ในภายหลังและต้องการใช้อักษรระบุไดรฟ์นั้น เกิดอะไรขึ้นเมื่อ Windows ยกเลิกการเชื่อมต่อไดรฟ์เพื่อเรียกคืนซ็อกเก็ตเครือข่าย


2

หลังจากรีสตาร์ทเซิร์ฟเวอร์จะต้องดำเนินการคำสั่ง plase โซลูชั่นคำสั่งบันทึก ...

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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.