无法使用 PowerShell 连接到数据库



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

谁能帮忙?

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

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

最新更新