无法使用PowerShell连接到数据库

时间:2018-06-26 08:44:01

标签: powershell sqlps

我的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

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

1 个答案:

答案 0 :(得分:1)

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

如果有人像我一样遇到这个初学者问题,我就在这里留下这个答案。感谢社区的帮助,让我们尽快进行整理