如何在异步和线程中执行大量 sql 查询

问题:我有大量的 sql 查询 (大约 10 k-20 k),我想在 50 个 (或更多) 线程中异步运行它们。 我为这项工作写了一个 powershell 脚本,但是速度很慢 (执行所有脚本大约需要 20 个小时)。期望的结果是最多 3-4 小时。 问题:如何优化 powershell 脚本?我是否应该重新考虑并使用另一种技术python or c#? 我认为这是 powershell 的问题,因为当我检查时whoisactive查询执行得很快。创建、退出和卸载作业需要大量时间,因为每个线程都创建了单独的 PS 实例。 我的代码: $ NumberOfParallerThreads = dec; $ Arr _ all queries = @ ('exec [mystoredproc] @ param1 = 1,@ param2 = 2, 'Exec [mystoredproc] @ param1 = 11,@ param2 = 22', 'Exec [mystoredproc] @ param1 = 111,@ param2 = 22') # 创建批次 $ 专柜 = [pscustomob ……

在 PowerShell 中处理大型数组

我很难理解在 PowerShell 中处理大型数据集/数组的最有效方法。我有几百万个项目需要处理和分组的数组。这个列表的大小总是不同的,这意味着它可能是 350万个项目,也可能是 1000万个项目。 示例: 他们按 “4” 分组的 350万个项目,如下所示: 项目 0,1,2,3 组在一起 4,5,6,7 组在一起,以此类推。 我试图通过循环列表并分配给 pscustomobject 来使用单个线程处理数组,pscustomobject 只需要 45-50 分钟就能完成。 我还试图将数组分解成较小的数组,但这导致进程运行的时间更长。 $ I = 0 $ _ 数组 = @ () $ Item _ 数组 # 大数据集 当 ($ i-lt $ item _ array. length) { $ O = "测试" $ Oo = "Test" $ N = $ item _ 数组 [$ i]; $ i $ Id = $ item _ 数组 [$ i]; $ i $ Ir = $ item _ 数组 [$ i]; $ i $ Cs = $ item _ 数组 [$ i]; $ i $ 项目 = [PSCu ……

共4个回答, 标签: arrays powershell powershell-jobs
。PowerShell 中的 NET 跟踪,无需创建。配置文件

我知道我可以。网络追踪 [https://docs.microsoft.com/en-us/dotnet/framework/debug-trace-profile/tracing-and-instrumenting-applications] 通过添加元素 [https://docs.microsoft.com/en-us/dotnet/framework/configure-apps/file-schema/trace-debug/system-diagnostics-element] App 配置 (Powershell.exe.config) 在 PowerShell 安装文件夹中。这包括在Powershell 中的系统.Net 跟踪 [https://stackoverflow.com/q/4879535/850848]. 其实我也想登录系统.Net追踪来源 (例如Ftpweb 请求) [https://stackoverflow.com/q/9664650/850848]. 但是有没有办法在本地启用跟踪?就像代码本身一样?或者可能使用命令行开关?或者我可以至少有应用程序配置文件中当地文件夹,不 ……

共2个回答, 标签: .net powershell app-config
电源外壳 CSOM 选择复选框

我已经到了互联网的尽头。该资源技术集 _ 和 _ get _ a _ 多选择 _ 领域 [https://social.technet.microsoft.com/wiki/contents/articles/20831.sharepoint-a-complete-guide-to-getting-and-setting-fields-using-powershell.aspx#Set_and_Get_a_Multi-Choice_Field] 的许多变化 我运行 O365 Sharepoint, 我有一个多复选框列表或多选的 web 部件。 当我查询现有条目时, 数据将以数组的形式返回。当我将数组发送到此字段时, 它不会选择复选框, 尽管字符串的值是可见的。 Multi-Value {option1, option2, option3} multi-select [https://i.stack.imgur.com/26f07.png] [https://i.stack.imgur.com/26f07.png] 我不能让这个起作用。它真的不在相同的格式, 我的代码是在 Add-Type -P ……

共1个回答, 标签: powershell sharepoint csom
当从 Active Directory 中为用户读取组时,“getauthoriziongroups” 会引发异常

我试图找到群体GetAuthorizationGroups,这有点奏效,因为我可以得到一个 IEnumerable back,但是当我试图阅读它们时,我得到的大多数项目都会抛出一个异常: 系统.运行时.InteropServices.COMException: 不存在指定的目录服务属性或值。 如果您插入自己的域、容器和用户名,您应该会得到他们组的列表: Powershell: 【系统.反射.组装】:: load withalname (“系统.DirectoryServices.AccountManagement”) [系统.反射.汇编]:: load withalname (“系统.DirectoryServices”) [系统.反射.汇编]:: load withalname ("System.DirectoryServices.active directory") $ Username = “像你这样的用户” $ PrincipalContext = 新对象类型名称系统.DirectoryServices.AccountManagement.PrincipalContext “域” 、 “ ……

共1个回答,已解决, 标签: powershell active-directory
逐行检查文件内容

我需要通过选择一行的字符串逐行检查内容。我已经声明了与变量匹配的每一行。是否可以使用切换案例来查看变量 我使用 if 条件在变量的帮助下检查每一行。我想知道我们是否可以使用开关箱? 考虑以下内容的 file.txt: $ Q = 获取内容路径。\ File.txt | 选择-字符串 “hello”-简单匹配 $ W = 获取内容路径。\ File.txt | 选择-字符串 “new”-简单匹配 $ E = 获取内容路径。\ File.txt | 选择-字符串 “世界”-简单匹配 $ R = 获取内容路径。\ File.txt | 选择-字符串 “hi”-简单匹配 $ T = 获取内容路径。\ File.txt | 选择-字符串 “greet”-简单匹配 那么,我们可以使用开关选项来检查变量吗?是否可以输出不存在的变量。如果文件内容很大,我们如何做到这一点? 我们可以使用开关选项并输出想要的结果吗? ……

共0个回答, 标签: powershell