如何在MS SQL SERVER中访问远程计算机文件夹:\>

时间:2013-02-21 13:45:21

标签: sql-server powershell remote-access

最近我开始知道如何使用Powersehll命令执行SQL查询,如下所述:

Import-Module “sqlps” -DisableNameChecking   

$ds=Invoke-Sqlcmd -Query $Query -Database $Database -ServerInstance $server -ConnectionTimeout $ConnectionTimeout -QueryTimeout $QueryTimeout 

此时Powershell ISE输出控制台将在

PS SQLSERVER:\>

我能够执行选择和更新查询而不会出现任何错误。当我想访问远程计算机中的一个文件时,问题就出现了。我试图访问该文件如下:

PS SQLSERVER:\> Get-Content -Path \\Server\D$\Log\App.log

即使尝试过,只需将文件/文件夹列为

即可
PS SQLSERVER:\> ls \\Server\D$\Log\

我得到以下错误:

获取内容:无法找到路径' \ Server \ D $ \ Log \ App.log'因为它不存在    ls:找不到路径' \ Server \ D $ \ Log \'因为它不存在。

不必说 - 该服务器上存在文件夹和文件,因为当Powershell在没有SQL模块的情况下运行时我能够访问该文件夹和文件。我的意思是控制台正在展示      PS C:\ User \ abc \

对不起这个长篇故事 - 现在,简单的问题! Shell在SQLSERVER控制台中时如何访问远程文件/文件夹?

提前致谢!

-Raj

3 个答案:

答案 0 :(得分:0)

只需更改您的目录:

cd c:\

然后:

ls \\server\d$\log

然后你可以通过这样做改回sql server:

cd sqlserver:\

powershell提供程序可以像普通驱动器一样使用,非常酷。

答案 1 :(得分:0)

我相信它在SQL服务器上远程运行命令,这使得从那里访问另一台服务器上的数据是一个“双跳”场景,你需要使用CredSSP auth才能工作......

答案 2 :(得分:0)

您应该能够像这样明确地使用文件系统提供程序:

ls filesystem::\\server\d$\log