Azure 突触部署失败
Azure synapse deployment failing
我正在尝试在 Azure Devops 管道中使用 PowerShell 脚本将 SQL 文件部署到 Azure Synapse Analytics 专用 SQL 池。
我有一个包含 SQL 个文件的文件夹,在定义文件数组后,我尝试 运行 数组的 foreach 循环并尝试 Invoke-Sqlcmd
部署文件,但首先 SQL 文件被部署(对象被创建)然后我得到错误:
Msg 104309, Level 16, State 1, Line 1 There are no batches in the
input script.
下面是我的一段代码:
$files='$(Build.SourcesDirectory)\folder1\'
foreach ($s in $files)
{
Invoke-sqlcmd -ServerInstance $(server) -Database $(db) -InputFile $s -Credential $(cred)}
Azure Synapse Analytics 专用 SQL 池脚本对空批次敏感,例如此脚本会生成相同的错误:
Msg 104309, Level 16, State 1, Line 1 There are no batches in the
input script.
-- xx
GO
但事实是您在 Synapse Studio 和 SQL Server Management Studio (SSMS) 中遇到了同样的错误,所以我建议您 运行 通过脚本并使用 SSMS 中的 Parse 按钮 (Ctrl+F5),它会解析脚本但 不会 [=30] =] 执行它。这将帮助您找出错误:
总而言之,没有不执行任何操作的批次。
我能够通过包含 dir
并使用 FullName
方法获取完整路径来添加一个简单的本地示例:
$files = dir "D:\temp\Powershell\*.sql"
foreach ($s in $files) {
#$s.Name
Invoke-Sqlcmd -ServerInstance '.\sql2019x' -Database 'tempdb' -InputFile $s.FullName
}
我正在尝试在 Azure Devops 管道中使用 PowerShell 脚本将 SQL 文件部署到 Azure Synapse Analytics 专用 SQL 池。
我有一个包含 SQL 个文件的文件夹,在定义文件数组后,我尝试 运行 数组的 foreach 循环并尝试 Invoke-Sqlcmd
部署文件,但首先 SQL 文件被部署(对象被创建)然后我得到错误:
Msg 104309, Level 16, State 1, Line 1 There are no batches in the input script.
下面是我的一段代码:
$files='$(Build.SourcesDirectory)\folder1\'
foreach ($s in $files)
{
Invoke-sqlcmd -ServerInstance $(server) -Database $(db) -InputFile $s -Credential $(cred)}
Azure Synapse Analytics 专用 SQL 池脚本对空批次敏感,例如此脚本会生成相同的错误:
Msg 104309, Level 16, State 1, Line 1 There are no batches in the input script.
-- xx
GO
但事实是您在 Synapse Studio 和 SQL Server Management Studio (SSMS) 中遇到了同样的错误,所以我建议您 运行 通过脚本并使用 SSMS 中的 Parse 按钮 (Ctrl+F5),它会解析脚本但 不会 [=30] =] 执行它。这将帮助您找出错误:
总而言之,没有不执行任何操作的批次。
我能够通过包含 dir
并使用 FullName
方法获取完整路径来添加一个简单的本地示例:
$files = dir "D:\temp\Powershell\*.sql"
foreach ($s in $files) {
#$s.Name
Invoke-Sqlcmd -ServerInstance '.\sql2019x' -Database 'tempdb' -InputFile $s.FullName
}