问题标签 [invoke-sqlcmd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2355 浏览

sql-server - Invoke-Sqlcmd:SQL PowerShell 中不允许重复的列名

我在 14 个查询中吐出了Glenn Berry 的性能查询,但其中一个(第 9 号)不起作用。

这是我的 PowerShell 代码:

在此处输入图像描述

返回的错误说:

不确定什么是重复列,因为如果我在 SSMS 上运行调用 PowerShell 脚本的查询,我看不到任何重复列:

在此处输入图像描述

0 投票
0 回答
351 浏览

powershell - Invoke-Sqlcmd - 如何向包含冒号的 SQL 提供变量

我在许多 PS 脚本中使用过这种类型的编码:

它工作正常,直到其中一个变量的值中包含一个冒号(如$HostUrlForWebAuthorization)。现在我收到以下解析错误:

在 Windows PowerShell ISE 调试器中显示时,字符串数组中的字符串值$SQlScriptParameters如下:

这是它在 SQL 输入文件中的样子

如何设置$SQlScriptParameters这样我就不会在冒号上收到解析错误?

0 投票
1 回答
302 浏览

powershell - 如何防止 Invoke-SQLCMD 修剪前导零

在powershell中,我有一个脚本,每次运行时都需要将数据库中的数字加一。一旦达到 9999,它就会重置回 0001。我在 powershell 中解决了这个功能,我的问题是 Invoke-SQLCMD 不断去除任何前导 0

所以如果我想将数据库值更新为0001它只会将其更新为1

有没有办法让 SQLCMD 保持领先 0?

0 投票
0 回答
354 浏览

sql-server - 通过powershell捕获.sql语句的日志

我试图找出一种通过 PowerShell 脚本在 MSSQL 数据库中运行插入/选择/更新语句并彻底记录它的好方法。我已经设法使用Invoke-Sqlcmd哪个插入和选择语句非常好。但我关心的是在某个地方捕获日志作为输出文件。那就是在插入日志时应该捕获否。被插入的数据影响/插入的行数。

Invoke-Sqlcmd使用:

test.sql文件查询如下:

test.sql文件在Invoke -Sqlcmd中调用。该文件可以是动态的,其中包含任何查询。

如果数据退出符合条件,Out-File ".\test_$datetime.rpt" 会捕获 select 语句输出,但如果没有数据,它将是空白的。

运行 Insert .sql 文件/脚本时,是否可以运行以立即捕获的内容?即这将说 20 行插入并列出插入的数据。基本上我所追求的是在通过 PowerShell 运行任何 .sql 脚本时进行彻底的日志记录。它应该捕获受插入/更新/删除的数据和执行它的用户影响的行数。

0 投票
1 回答
1825 浏览

arrays - 不带标题的调用 sqlcmd 输出

我知道这个问题已经被问过了,但答案并不完全符合我的限制所以我们再来一次(抱歉):

我的 PowerShell 脚本中有这一行:

问题是虽然当我计算这个集合中的项目数时,结果是准确的(即 $WITHOUTCLIENT.count )但是当我尝试显示这个集合中的任何项目时,它继续显示一个血腥的标题(即 $WITHOUTCLIENT [0])

请注意,我不想使用外部文件来存储结果,我应该使用 Invoke-Sqlcmd,而不是 Sqlcmd

我正在寻求帮助谢谢

0 投票
5 回答
4561 浏览

azure-devops - Azure DevOps“Hosted 2017”构建代理不允许 SQL 连接

我有一个非常简单的 DacPac,它由 Azure DevOps 构建并由发布管道发布。构建工作正常,但管道因连接错误而失败。我已经检查并重新检查了设置。防火墙规则在目标服务器上正确设置,凭据有效,但发布不会通过。我尝试了很多组合,包括指定端口,但我无法连接。如果我尝试从 PowerShell 和 Invoke-SqlCmd 启动连接,我会收到类似的连接错误。

任何人都可以解释一下吗?

Hosted 2017 代理是否有任何端口限制(例如 1433 被阻止)?

我需要更新代理吗?

SQL 连接是否需要一些额外的配置?

谢谢

我得到的错误是:

无法连接到目标服务器“.database.windows.net”。请验证目标服务器的连接信息,例如服务器名称、登录凭据和防火墙规则。用户“数据”登录失败...

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

0 投票
3 回答
3759 浏览

powershell - 从powershell返回值到管道内的管道

在 Jenkins Pipeline 我想从 powershell 返回一个值到管道,但我不知道如何

例子:

然后我想从 powershell 脚本中返回 $value1 以便在另一个步骤中使用它。

我尝试使用 $ENV 但不起作用

任何的想法??

0 投票
1 回答
140 浏览

powershell - 无法将 PowerShell 变量从数组插入 Invoke-Sqlcmd 调用

我有一个数组,它遍历一个字符串,为元素赋值。如果我然后将这些元素分配给一个变量并将该变量传递给 invoke-sqlcmd 我会收到一个错误。但是,如果我将值直接分配给变量并将其传递给它,它就可以正常工作:

为数组赋值:

可以说 somearray[0] = "select * from DB"。我们将分配给一个变量:

现在我把它传给我的Invoke-Sqlcmd

这失败了:

但是,如果我这样做:

它完美地工作。

0 投票
2 回答
615 浏览

sql-server - Powershell Invoke-Sqlcmd 不捕获所有详细输出

我创建了以下 powershell (v2) 脚本来对目标数据库执行查询并构建另一个要运行的查询/查询:

在脚本的最后,我打印了必须执行的查询,但不幸的是变量 $sqlOutputToRun 只包含大约 3/4 的预期输出。我想由于尺寸的原因,输出会以某种方式被削减,但我不确定如何扩展它。

你知道缺少什么吗?

0 投票
3 回答
985 浏览

sql-server - 如何抑制sql查询输出并仅显示行数

我有以下 powershell 命令,它显示 sql 表中的行数。这有效,但它还包括标题:

我得到的输出是:

我需要的唯一输出是如果行数大于 X 行数,则显示行数,否则打印“找到的行数少于 5000 行”。我该怎么做呢?