0

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

Import-Module “sqlps” -DisableNameChecking   

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

这时候Powershell ISE输出控制台会在

PS SQLSERVER:\>

我能够执行 Select 和 Update 查询而没有任何错误。当我想访问远程计算机中的一个文件时,就会遇到这个问题。我试图访问该文件,如下所示:

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 控制台中时,如何访问远程文件/文件夹?

提前致谢!

-拉吉

4

3 回答 3

0

只需像这样更改您的目录:

cd c:\

然后:

ls \\server\d$\log

然后,您可以通过执行相同的操作更改回 sql server:

cd sqlserver:\

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

于 2013-02-21T13:57:55.070 回答
0

您应该能够像这样显式使用文件系统提供程序:

ls filesystem::\\server\d$\log
于 2013-02-21T16:37:10.140 回答
0

我相信它在 SQL 服务器上远程运行命令,这使得从那里访问另一台服务器上的数据成为“双跳”场景,并且您需要 CredSSP 身份验证才能工作......

于 2013-02-21T14:10:08.560 回答