最近我开始知道如何使用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
答案 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