0

我的 PowerShell 脚本有问题sqlps。我正在尝试从表中选择行并将它们保存到.csv文件中。

查询是

$TABLE="events"

Import-Module sqlps
$SQLquery='SELECT * FROM dbo.$TABLE'
$result=invoke-sqlcmd -query $SQLquery -HostName LOCALHOST -Password test -Username test
$result |export-csv c:\TEST.csv -notypeinformation

我收到此错误:

invoke-sqlcmd : Login failed for user 'test'.
At line:6 char:9
+ $result=invoke-sqlcmd -query $SQLquery -HostName LOCALHOST -Password  ...
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Invoke-Sqlcmd], SqlException
    + FullyQualifiedErrorId : SqlExectionError,Microsoft.SqlServer.Management. 
   PowerShell.GetScriptCommand

invoke-sqlcmd : 
At line:6 char:9
+ $result=invoke-sqlcmd -query $SQLquery -HostName LOCALHOST -Password  ...
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ParserError: (:) [Invoke-Sqlcmd], ParserException
    + FullyQualifiedErrorId : ExecutionFailureException,Microsoft.SqlServer.Management.PowerShell.GetScriptCommand

任何人都可以提供帮助吗?

4

1 回答 1

1

所以主要问题是查询需要在 "" 引号而不是 '' 引号中,并且需要告知服务器明确允许 Microsoft 帐户登录和 SQL 登录。即使您有用于 sql 登录的用户设置。该选项位于属性/安全/服务器身份验证下。

我把这个答案留在这里,如果有人像我一样遇到这个初学者问题。感谢社区的帮助,如此迅速地解决了这个问题

于 2018-06-26T09:15:59.387 回答