无法在Powershell 2.0命令行中为SQL Server Cmdlet添加一个管理单元

SQL Server 安装程序可安装 Windows PowerShell 和一组用来公开 Windows PowerShell 中 SQL Server 功能的 SQL Server 管理单元(snap-ins)。之后,您可以对 Windows PowerShell 脚本进行编码,使其能够处理 SQL Server 对象。脚本可以在 Windows PowerShell 环境和 SQL Server Management Studio 中运行,也可以作为 SQL Server 代理作业来运行。

&">nbsp;

这个案例将介绍如何为添加一个管理单元时得到的错误作故障排除。

出错信息:

=========

系统环境:

=========

(1)Windows 2000R2 64-bit

(2)服务器端并没有安装完整版本的SQL Server

(3)通过Windows Features安装了Powershell 2.0

故障排查

=========

(1)确认以下组件已正确安装:(它们均属于SQL Server 2008 功能包:http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=8824)

·Microsoft SQL Server 2008 Management Objects

·Microsoft Core XML Services (MSXML) 6.0

·Microsoft SQL Server 820.html">Native Client

·Microsoft SQL Server System CLR Types.

·Microsoft Windows PowerShell Extensions for SQL Server

(2)SQL Server的PowerShell 管理单元集成在Microsoft.SqlServer.Management.PSProvider.dll和Microsoft.SqlServer.Management.PSSnapins.dll中。这两个DDL(动态链接库)由SQL Server的Microsoft Windows PowerShell Extensions这一组件安装,位于C:\Program Files\Microsoft SQL Server\100\Tools\Binn\Redist文件夹中。我们须确保这两个动态链接库安装成功。(注意:如果您安装的是SQL Server的完整版本,这两个动态链接库将位于C:\Program Files\Microsoft SQL Server\100\Tools\Binn 文件夹中)

(3)启动Powershell的快捷键是位于所有程序->附件->Windows PowerShell。在64位环境中,我们须保证使用的是x64 的Powershell.exe。(注意:64位的版本是%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe,32位的版本是%SystemRoot%\syswow64\WindowsPowerShell\v1.0\powershell.exe)

(4)运行以下命令行注册动态链接库

set-alias installutil $env:windir\microsoft.net\framework\v2.0.50727\installutil

installutil -i "C:\Program Files\Microsoft SQL Server\100\Tools\Binn\Redist\Microsoft.SqlServer.Management.PSProvider.dll"

installutil -i "C:\Program Files\Microsoft SQL Server\100\Tools\Binn\Redist\Microsoft.SqlServer.Management.PSSnapins.dll"

(5)运行结束后,如果仍然无法注册管理单元(例如运行“Add-PSSnapin SqlServerCmdletSnapin100”的命令),请检查注册表项HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellSnapIns。这个注册表项是由运行以上命令行产生的,如果注册表项没有生成,请从运行正常的机器中导出这个注册表项到故障机器中,同时确保 “AssemblyName”和“ModuleName” 的键值指向当前的DDL路径。

(6)接下来,您可以通过运行以下命令添加管理单元

Add-PSSnapin SqlServerCmdletSnapin100

Add-PSSnapin SqlServerProviderSnapin100

(7)使用命令“get-PSSnapin -registered”来验证。如果成功输出了管理单元的名称,则表明注册成功。

注意:注册管理单元的过程只是简单地读取相关的注册表项,并在当前会话的内存中加载相关的信息。

时间: 2024-10-22 23:06:09

无法在Powershell 2.0命令行中为SQL Server Cmdlet添加一个管理单元的相关文章

PowerShell批量启动/停止Windows中的Sql Server服务

在自己的开发机器上面没有把 SQL Server 服务设置成自动,因为太占内存和太影响开机时间 而在每次使用到Sql Server 的时候,还要跑到 Windows 的 控制面板里面去把服务打开,感觉操作很繁琐 所以写了个用PowerShell 打开  SQL Server 服务的小脚本   Service_sql_server.ps1:  代码如下 复制代码   $Service_Name = "MSSQL`$SQLSERVER" $Service = Get-Service $Se

mysql命令行中执行sql的几种方式总结_Mysql

1.直接输入sql执行 MySQL> select now(); +---------------------+ | now() | +---------------------+ | 2013-09-18 13:55:45 | +---------------------+ 1 row in set (0.00 sec) 2.执行编写好的sql脚本 mysql> source H:/1.sql +---------------------+ | now() | +--------------

实例讲解yii2.0在php命令行中运行的步骤_php实例

Yii中的资源是和Web页面相关的文件,可为CSS文件,JavaScript文件,图片或视频等,资源放在Web可访问的目录下,直接被Web服务器调用. 有时候有些功能需要做到计划任务中去,因此就需要yii能用php命令去执行.yii2.0是支持php命令行运行的,操作方法如下: 在yii根目录下面有个"yii"文件(不是"yii.bat"),这个文件就是入口.然后"commands"目录下会默认有个"HelloController.ph

yii2.0在php命令行中运行的例子

有时候有些功能需要做到计划任务中去,因此就需要yii能用php命令去执行.yii2.0是支持php命令行运行的,操作方法如下:   在yii根目录下面有个"yii"文件(不是"yii.bat"),这个文件就是入口.然后"commands"目录下会默认有个"HelloController.php"控制器文件,这个是一个demo.打开这个控制器文件,源码如下(删掉了部分注释):   <?php   namespace app

MySQL在Linux系统中隐藏命令行中的密码的方法

  这篇文章主要介绍了MySQL在Linux系统中隐藏命令行中的密码的方法,作者利用简单的C程序实现,需要的朋友可以参考下 在命令行中输入命令并不是一个好主意,会造成安全问题.但是如果你决定去写一个应用,而这个应用需要在命令行中使用密码或者其他敏感信息.那么,你能通过以下方法禁止系统的其他用户轻易的看到这些敏感数据 呢?,类似MySQL在ps命令下隐藏密码. 假设我这里系统里两个用户,一个是root ,一个是dabu .测试系统为centos 6.5在按照下面的步骤做: ? 1 2 3 4 [r

如何在Linux命令行中创建以及展示演示稿

如何在Linux命令行中创建以及展示演示稿 你在准备一场演讲的时候,脑海可能会先被图文并茂.形象华丽的演示图稿所占据.诚然,没有人会否认一份生动形象的演讲稿所带来的积极作用.然而,并非所有的演讲都需要TED Talk的质量.更多时候,演讲稿只为传达特定的信息. 而这个,使用文本信息足以完成.在这种情况下,你的时间可以更好的花在信息的搜集和核实上面,而不是在谷歌图片搜索(Google Image)上寻找好看的图片. 在Linux的世界里,有几个不同的方式供你选择来做演讲.比如带有大量多媒体展示.视

同样的python程序在命令行中与python shell,eclipse中的运行结果不一样

问题描述 同样的python程序在命令行中与python shell,eclipse中的运行结果不一样 我在做leetcode题的时候写的python程序中包含如下一段代码: res = int(a, 2) + int(b, 2) ans = [] while res > 0: t = str(res % 2) 结果我先在python shell里面运行这个程序会报错: 然而我在python shell里面运行类似的代码,也把一个整型存放到res里,就没有问题: 同样在eclipse中运行也是正

在命令行中管理 Wifi 连接

在命令行中管理 Wifi 连接 无论何时要安装一款新的 Linux 发行系统,一般的建议都是让您通过有线连接来接到互联网的.这主要的原因有两条:第一,您的无线网卡也许安装的驱动不正确而不能用:第二,如果您是从命令行中来安装系统的,管理 WiFi 就非常可怕.我总是试图避免在命令行中处理 WiFi .但 Linux 的世界,应具有无所畏惧的精神.如果您不知道怎样操作,您需要继续往下来学习之,这就是写这篇文章的唯一原因.所以我迫使自己学习如何在命令行中管理 WiFi 连接. 通过命令行来设置连接到

在 Linux 命令行中使用和执行 PHP 代码(二):12 个 PHP 交互性 shell 的用法

在上一篇文章"在 Linux 命令行中使用和执行 PHP 代码(一)"中,我同时着重讨论了直接在Linux命令行中运行PHP代码以及在Linux终端中执行PHP脚本文件. Run PHP Codes in Linux Commandline 本文旨在让你了解一些相当不错的Linux终端中的PHP交互性 shell 的用法特性. 让我们先在PHP 的交互shell中来对php.ini设置进行一些配置吧. 6. 设置PHP命令行提示符 要设置PHP命令行提示,你需要在Linux终端中使用下