问题标签 [sqlps]

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 投票
1 回答
868 浏览

sql-server-2012 - ssas 2012 中的 sqlps Invoke-Ascmd 错误处理

在 SSAS 2012 中,我尝试从命令行使用“sqlpls -C Invoke-ascmd -S server -i file.xmla”进行多维数据集处理。即使多维数据集处理失败,因为 sqlps 成功执行,%errorlevel% 仍为 0。任何人都可以帮助我了解如何在 2012 年对 sqlps -C Invoke-ascmd 进行错误处理?

0 投票
1 回答
181 浏览

sql - sqlps 事务问题

我编写了一个使用 sqlps 部署 SSAS 表格多维数据集的脚本。部署后,我需要对多维数据集执行几个操作,但如果我尝试访问它,我会收到一条消息,指出多维数据集不存在。但事实上,如果我将操作拆分为两个脚本(部署 -> 退出 sql ps -> 新 sqlps 会话),它确实有效(出于现在无关紧要的原因,我不能这样做)。

似乎 sqlps 会话没有看到它刚刚部署的多维数据集。我想知道是否可以运行刷新命令,或者是否可以在“未提交读取”状态下运行 sqlps。

0 投票
3 回答
3061 浏览

windows - 导入模块 SqlSp 在 TeamCity 上失败,在本机 PowerShell 中工作

我在将 PowerShell 脚本作为 TeamCity 构建步骤运行时遇到了一个奇怪的问题,尤其是在使用时SqlPs(尽管我不确定它是否特定于SqlPs)。

这个单行脚本在 TeamCity 中失败:

出现以下错误:

我很确定我已经正确配置了所有内容,因为如果我从运行 TeamCity 的 CI 服务器本地打开 PowerShell,我可以毫无问题地运行它。

我什至可以运行 TeamCity 从本机 PowerShell 中生成的上述临时脚本文件,它工作得很好。

此外,如果我Get-Module从本机 PowerShell 执行:

它将从以下位置转储几个系统模块:

C:\Windows\system32\WindowsPowerShell\v1.0\Modules

连同来自以下的 SqlSp 模块:

C:\Program Files\Microsoft SQL Server\110\Tools\PowerShell\Modules

但是当我Get-Module从 TeamCity 构建中运行相同的程序时,它只会列出系统模块——没有SqlSp模块。

我认为这可能是权限问题,但是当我以 TeamCity 使用的同一帐户登录本机 PowerShell 时,我仍然没有问题。

我还尝试选择 x86 而不是 x64 来排除这种情况,但无论哪种方式都失败了。

加上"SqlPs"引号也没有帮助。

0 投票
1 回答
916 浏览

sql - 使用 powershell 自动安装 SQL 后,invoke-sqlcmd 失败

我正在使用 Powershell 4 安装 SQL 2014。一切正常,除了最后我有一个函数可以使用 invoke-sqlcmd 从 .sql 文件运行脚本。我收到以下错误:

“术语‘invoke-sqlcmd’未被识别为 cmdlet、函数、脚本文件的名称......”

如果我尝试导入 sqlps 模块,我会得到:

未加载指定的模块“sqlps”,因为在任何模块目录中都找不到有效的模块文件。

但这是踢球者。如果我打开一个单独的 PowerShell 终端,它就可以在那里工作。:/ 并在初始终端中继续失败。

我试图理解为什么会如此,任何帮助将不胜感激。我想避免编写一次重启脚本。

谢谢,丹

0 投票
1 回答
1165 浏览

sql - 无法使用带有 -InputObject 参数的 SQLPS CmdLet Backup-SQLDatabase

遇到与此处发现的相同超时问题并尝试解决方法后,我发现我收到了错误:

运行简单脚本时:

这发生在我尝试过的三台 Win7 机器上,但脚本在我尝试过的所有服务器(Win2012)上运行良好。三台 Win7 机器混合安装了软件。一个安装了 SQL 2008R2、2012 和 2014,另一个只有 2008R2 和 2012。一个安装了 PS 2.0,另外两个安装了 PS 3.0。服务器再次混合。都安装了 PS 3.0,但有些安装了 SQL2008R2 和 SQL2012,有些只有 SQL2012,而我尝试过的一个只有 SQL2014,但它们都可以工作。唯一一致的区别是操作系统,Win7 与 Win2012,但这对我来说作为一个潜在原因没有多大意义。

错误本身令人困惑,它引用的两种类型是相同的。我已经尝试在运行脚本之前加载特定的 SMO 程序集版本(11 和 12),但这似乎没有帮助。

有任何想法吗?提前致谢。

0 投票
2 回答
1547 浏览

sql-server - SQL Powershell 错误 - 找不到网络路径

我在我的 SQL 作业中使用 PowerShell 命令来获取给定网络路径中的文件列表。

前任:

我在 SQL Server 中为 PowerShell 创建了代理,并使用凭据来运行此 PowerShell 脚本。

这工作正常,直到我将机器上的 SQL 从 SQL Server 2008 R2 升级到 SQL Server 2014。升级后,相同的 PowerShell 脚本开始抛出“找不到路径,因为它不存在”

请问有什么解决办法吗?(除了用路径指定文件系统提供程序或使用powershell.exe而不是 sqlps)

供参考:

在升级到 SQL Server 2014 时,我收到了一些与报告服务相关的错误,我忽略了这些错误。

0 投票
1 回答
74 浏览

sql-server - 使用 SQLPS 创建差异备份

我使用以下内容创建了一个完整的数据库备份:

我找不到任何地方为差异备份指定正确的 -BackupAction

0 投票
1 回答
414 浏览

sql-server - 在 Powershell 中传递查询并访问 SQL Server 数据库

我有一个名为'SQLDatabase'. 它有许多文件夹,如'System _Database', 'R_Database','ReportServer'等。

我需要访问'R_Database'.

现在'R_Database'有很多文件夹,比如'Storage', 'Security', 'Usage', 'Tables'.

我需要访问'Tables'.

同样,'Tables'里面有很多表。我需要访问一个名为 的特定表'DB_Batch',并对其进行更新。

我该怎么办?

这是我为连接到 SQL Server 所做的代码,然后是表。但它失败了。

现在我想我需要传递一个查询。我该怎么办?我需要先访问表然后更新它。

我什至写了下面的代码来结束上面的代码,但是因为我卡住了,所以无法测试。

我请求,请帮我解决这个问题。我已经尝试了好几天了。我正在使用 Powershell v2.0

0 投票
1 回答
198 浏览

powershell - azure VM 中未加载指定的模块“SQLPS”

我创建了新的 Azure VM,并且我想调用一些 SQL Powershell 命令,例如Import-Module SQLPS -DisableNameChecking. 我没有在 VM 中安装任何 sql server,因为我想对我的 azure 数据库进行操作。所以我需要为它安装任何 sql server 吗?

0 投票
1 回答
2849 浏览

powershell - Powershell invoke-sqlcmd :值不能为空。参数名称:服务器实例

我在使用下面概述的方法调用本地数据库时遇到问题。

错误信息

invoke-sqlcmd :值不能为空。参数名称:ServerInstance At C:\filelocation\HealthCheckCombined.ps1:86 char:3 1.invoke-sqlcmd -query $agentquery -serverinstance $servername ... 2.~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument:(:) [Invoke-Sqlcmd],ArgumentNullException + FullyQualifiedErrorId:CannotGetServerInstance,Microsoft.SqlServer.Management.PowerShell.GetScriptCommand


环境

  • 服务器 2016 候选人 3
  • 服务器 2012
  • SQL Server 2014
  • SQL Server 2012
  • PowerShell 3.0、4.0 和 5.0

目标

我正在尝试通过 PowerShell 对 servers.txt(配置文件)中列出的任何 SQL 实例运行查询。


两个组件-

  1. 外部配置文件 (servers.txt)
  2. 包含函数的 PowerShell 脚本,循环以从 servers.txt 创建一个数组并执行该函数。

所以servers.txt的内容看起来像=

这是我导入文本文件并创建函数的部分=

现在我通过格式化导入的变量并在运行函数时循环它们来实现魔法=


迄今为止的发现

  • 在函数中提取代码并导入文本文件可以正常工作。没有错误。
  • 如果我将脚本更改为仅在循环中显示这些变量,则循环中的 $servername 变量会显示正确的值(test2k16\powershell & test2k16\healthcheck)

我显然错过了一些东西......我已经搜索堆栈和谷歌一天了,但什么也没找到。希望这是我忽略或还不了解 PowerShell 的一些小问题。

提前感谢您的帮助!