首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQLPS选项卡的完成非常慢。

SQLPS选项卡的完成非常慢。
EN

Stack Overflow用户
提问于 2013-06-19 14:09:52
回答 1查看 390关注 0票数 1

SQLPS选项卡扩展(选项卡完成)太慢,完全无法使用。我的配置有问题吗?我是否应该以某种方式升级到更晚的版本?有什么解决办法可以让它有用吗?

相关版本信息:

  • Windows7 64位
  • Server 2008
  • 10.0.5512.0
  • SQLPS.exe FileVersion (10.0.1600.22 ((SQL_PreRelease).080709-1414 )
  • sqlps,$psversiontable:
    • CLRVersion: 2.0.50727.5466
    • BuildVersion: 6.1.7601.17514
    • PSVersion: 2.0

EN

回答 1

Stack Overflow用户

发布于 2013-06-19 14:18:01

据我所知,性能问题实际上是在SqlServer psprovider中解决路径的实现中。解析路径是TabExpansion的默认实现(在Powershell v2中)是如何完成路径的。

我能够通过重写TabExpansion函数来解决这个问题,使用Get和Where来代替解析路径。你可以在bitbucket回购中找到最新的实现

下面是当前的实现:

代码语言:javascript
复制
function TabExpansion($line, $lastWord) {
  if (!((get-location).Provider.Name -eq "SqlServer")) {
    TabExpansionSqlPsBackup $line $lastWord
  }
  else {
    $index = $lastWord.LastIndexOfAny(@('\', '/'))
    if ($index -gt -1) { 
      $parent = $lastWord.substring(0, $index+1) 
      $leaf = $lastWord.substring($index+1)
    }
    else {
      $parent = ""
      $leaf = $lastWord
    }

    $matches = ls -path $parent | ?{ $_.PSChildName -match "^$leaf" }
    if ($matches) { 
      $matches | %{ $parent + $_.PSChildName } 
    } 
    else {$lastWord}
  }
}

将该函数放在位于~\Documents\WindowsPowerShell\Microsoft.SqlServer.Management.PowerShell.sqlps_profile.ps1的sqlps配置文件中

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17193489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档