2017-01-19 7 views
2

PowerShellのInvoke-SQLCmdを使用してAzure SQLデータベース(Adventureworksサンプル)をクエリしようとすると、SQLを使い慣れません。Azure SQL:AdventureworksのPowershellの "Invoke-sqlcmd"を使用したオブジェクト名が無効

私はPowerShellで次のコマンドをしようとすると:

Invoke-Sqlcmd -Query "SELECT * FROM SalesLT.Customer;" -ServerInstance 
"<servername>.database.windows.net" -Username <username> -Password <password> 

を私が手:

Invoke-Sqlcmd : Invalid object name 'SalesLT.Customer'. 

私はそのテーブルの下でどのようなデータベースを指定する必要がありますか?つまり、 "master"ではなく "SQLDatabse"ですか?エラーなしで私のテーブルを取得はSQL Server Management Studioからこれらのクエリを実行:

USE statement is not supported to switch between databases. Use a new  
connection to connect to a different database. 

注:私は私のクエリにUse SQLDatabaseを追加するときしかし、それは別のエラーがスローされます。

ありがとうございます!

答えて

2

は、コマンドパラメータに-Database [dbname]を追加します。

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

+0

をあなたにそれだった先生に感謝します。 – AllTradesJack

+0

問題ありません。私は実際にそれを使用したことはありませんが、クエリにサーバーに接続するたびに、どのデータベースへの参照が必要で、ドキュメントを素早く見てparam(サーバーは(デフォルトでは複数のデータベースを持つことができます) 。 – jleach

関連する問題