如何在不使用 XP_CMDSHELL 的情况下在 SQL 查询中映射网络驱动器
How to map network drive in SQL query without using XP_CMDSHELL
希望在 SQL 查询中映射具有不同 AD 帐户的网络驱动器。
XP_CMDSHELL 在我们的环境中被禁用。从技术上讲,我可以打开它,然后 "net use" 驱动器,然后在查询中再次将其关闭,但我一直在寻找更清洁的解决方案??
您可以创建两个作业,每个作业只需一步(类型:Operating system (CmdExec)
它将在 cmd
中启动命令)。
- 第一份工作
net use
创建驱动器
- 秒-
delete
它
然后 运行 他们。
但请注意,在这种情况下,作业将开始,您需要等待几秒钟才能在 wait delay
的帮助下进行驱动创建。
示例:
创建工作NetUse
。
在步骤中创建 1 个步骤,类型为:Operating system (CmdExec)
在命令部分写 net use
如:
net use z: \HOST\FOLDER pa$$word /user:DOMAIN\USER /savecred /p:yes
I want to map my z: drive to the FOLDER shared folder on HOST. I want to connect as another user account I have [/user] by the name of USER that's stored on the DOMAIN domain with a password of pa$$word.
I don't want to map this drive manually every time I start my computer [/p:yes] and I don't want to enter my username and password each time [/savecred].
第一份工作完成。
第二份工作相同,但使用另一个命令:
net use z: /delete
然后你可以这样启动它:
EXEC dbo.sp_start_job N'Job Name Here'
它会延迟一些锻炼,因此您需要使用:
WAITFOR DELAY '00:10'; --10 seconds delay before next statement
希望在 SQL 查询中映射具有不同 AD 帐户的网络驱动器。
XP_CMDSHELL 在我们的环境中被禁用。从技术上讲,我可以打开它,然后 "net use" 驱动器,然后在查询中再次将其关闭,但我一直在寻找更清洁的解决方案??
您可以创建两个作业,每个作业只需一步(类型:Operating system (CmdExec)
它将在 cmd
中启动命令)。
- 第一份工作
net use
创建驱动器 - 秒-
delete
它
然后 运行 他们。
但请注意,在这种情况下,作业将开始,您需要等待几秒钟才能在 wait delay
的帮助下进行驱动创建。
示例:
创建工作NetUse
。
在步骤中创建 1 个步骤,类型为:Operating system (CmdExec)
在命令部分写 net use
如:
net use z: \HOST\FOLDER pa$$word /user:DOMAIN\USER /savecred /p:yes
I want to map my z: drive to the FOLDER shared folder on HOST. I want to connect as another user account I have [/user] by the name of USER that's stored on the DOMAIN domain with a password of pa$$word.
I don't want to map this drive manually every time I start my computer [/p:yes] and I don't want to enter my username and password each time [/savecred].
第一份工作完成。
第二份工作相同,但使用另一个命令:
net use z: /delete
然后你可以这样启动它:
EXEC dbo.sp_start_job N'Job Name Here'
它会延迟一些锻炼,因此您需要使用:
WAITFOR DELAY '00:10'; --10 seconds delay before next statement