问题描述
我是 SQL 新手,尝试使用 PowerShell 的 Invoke-SQLCmd
查询 Azure SQL 数据库(Adventureworks 示例).
I'm new to SQL, trying to query an Azure SQL Database (Adventureworks sample) using PowerShell's Invoke-SQLCmd
.
当我在 Powershell 中尝试以下命令时:
When I try the following command in Powershell:
Invoke-Sqlcmd -Query "SELECT * FROM SalesLT.Customer;" -ServerInstance
"<servername>.database.windows.net" -Username <username> -Password <password>
我明白了:
Invoke-Sqlcmd : Invalid object name 'SalesLT.Customer'.
我是否需要指定该表所在的数据库?即,SQLDatabse"而不是master"?但是当我将 Use SQLDatabase
添加到我的查询时,它会引发另一个错误:
Do I need to specify what Database that table is under? Namely, "SQLDatabse" instead of "master"? But when I add Use SQLDatabase
to my query it throws another error:
USE statement is not supported to switch between databases. Use a new
connection to connect to a different database.
注意:从 SQL Server Management Studio 执行这些查询会得到没有错误的表.
Note: Executing these queries from SQL Server Management Studio gets me the table with no errors.
谢谢!
推荐答案
在命令参数中添加一个-Database [dbname]
:
Add a -Database [dbname]
to the command parameters:
Invoke-Sqlcmd -Query "SELECT * FROM SalesLT.Customer;"
-ServerInstance "<servername>.database.windows.net"
-Username <username> -Password <password> -Database <dbname>
https://msdn.microsoft.com/en-us/library/cc281720.aspx
这篇关于Azure SQL:使用 Powershell 的“Invoke-sqlcmd"的无效对象名称在 Adventureworks 上的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!