【问题标题】:Cannot connect to dockerized SQL Server using invoke-sqlcmd无法使用 invoke-sqlcmd 连接到 dockerized SQL Server
【发布时间】:2021-09-25 04:51:23
【问题描述】:

由于某种奇怪的原因,我没有 sqlcmd.exesqlps,尽管我从 PSGallery 安装了 sqlserver 模块,所以我不确定这是否让我感到困惑。

我遇到的主要问题是我似乎无法使用invoke-sqlcmd 连接 SQL Server,即使我能够使用 SSMS 连接到它。

这是 SQL Server 容器:

e1cfd6032947   mcr.microsoft.com/mssql/server:2019-latest   "/opt/mssql/bin/perm…"   21 hours ago   Up 21 hours   0.0.0.0:1433->1433/tcp, :::1433->1433/tcp                        mystifying_keller

我通过 SSMS 连接到它,但由于某种原因,它无法通过带有 invoke-sqlcmd 小程序的 powershell 5 工作,令人讨厌的是它甚至没有给我一个错误:

PS C:\> Invoke-Sqlcmd -ServerInstance 127.0.0.1:1433 -Database db1
PS C:\> Invoke-Sqlcmd -ServerInstance '127.0.0.1:1433' -Database db1
PS C:\> Invoke-Sqlcmd -ServerInstance '127.0.0.1,1433' -Database db1
PS C:\> Invoke-Sqlcmd -ServerInstance '127.0.0.1,1433' -Database db1 -Username 'SA' -Password 'yourStrong(!)Password'
PS C:\> Invoke-Sqlcmd -ServerInstance '127.0.0.1,1433' -Database db1 -Username 'SA' -Password 'yourStrong(!)Password' -Query "PRINT 'This is output'"
PS C:\> Invoke-Sqlcmd -ServerInstance '127.0.0.1,1433' -Database db1 -Username 'SA' -Password 'yourStrong(!)Password' -Query "SELECT * FROM Users;"
PS C:\> 

(是的,db1 是我在 SSMS 中创建的测试数据库,以防万一数据库确实需要)。

我真的不知道我做错了什么,或者为什么它不起作用:/

【问题讨论】:

  • 您忘记包含要运行的查询:Invoke-Sqlcmd -ServerInstance '127.0.0.1:1433' -Database db1 -Query "SELECT @@SERVERNAME;"
  • 我确实使用了查询,但它没有返回任何内容,我认为有问题,而不是表是空的......我是个白痴
  • 避免这种情况的一个好方法是使用使用系统数据库的查询,例如SELECT @@SERVERNAMESELECT @@VERSION 等。

标签: sql-server powershell


【解决方案1】:

我尝试这样做的表是空的,因此没有返回结果:

PS C:\> Invoke-Sqlcmd -ServerInstance '127.0.0.1,1433' -Database db1 -Username 'SA' -Password 'yourStrong(!)Password' -Query "SELECT * FROM Users;"

After adding data in it, I get this, which is all good:
PS C:\> Invoke-Sqlcmd -ServerInstance '127.0.0.1, 1433' -Database db1 -Username 'SA' -Password 'yourStrong(!)Password' -Query "SELECT * FROM Users;"

id name
-- ----
 1 Me
 2 You
 3 They

【讨论】:

    猜你喜欢
    • 2013-06-09
    • 1970-01-01
    • 1970-01-01
    • 2022-06-19
    • 2019-11-05
    • 2022-11-04
    • 1970-01-01
    • 1970-01-01
    • 2015-03-05
    相关资源
    最近更新 更多