>

如何加载经过批准的第三方断字符,Server实例安

- 编辑:www.bifa688.com -

如何加载经过批准的第三方断字符,Server实例安

当必要重新安装SQL Server时,借使系列号找不到了,能够试着从已经安装的实例里找回种类号,因为设置完SQL Server后,类别号被封存在登记表里;

SQL Server 二〇〇九 RAV42 包含以下语言的通过批准的第三方断字符:

MSDN订阅下载的安装包是停放类别号的,则并未那些苦闷。

  • 丹麦语

  • 波兰语

  • Turkey语

因此无文书档案记载的扩张存款和储蓄进度xp_regread读取注册表:

这一个断字符可供使用,然则未有默许安装,必须在手动注册后增加到支持全文索引和查询的 LCID 列表中。

--For SQL Server 2008, 2008 R2use masterGOexec xp_regread 'HKEY_LOCAL_MACHINE','SOFTWAREMicrosoftMicrosoft SQL Server100ToolsSetup','ProductCode'exec xp_regread 'HKEY_LOCAL_MACHINE','SOFTWAREMicrosoftMicrosoft SQL Server100ToolsSetup','DigitalProductID'GO--For SQL Server 2012use masterGOexec xp_regread 'HKEY_LOCAL_MACHINE','SOFTWAREMicrosoftMicrosoft SQL Server110ToolsSetup','ProductCode'exec xp_regread 'HKEY_LOCAL_MACHINE','SOFTWAREMicrosoftMicrosoft SQL Server110ToolsSetup','DigitalProductId'GO

先决条件消息

你须求以下音讯,本事够加载断字符:

  • 要在其上登记断字符的各种 SQL Server 实例的实例名。

  • 各种实例的 FTDATA 路线。

    获得实例 ID 之后,必得寻觅 FTData 文件夹特定于实例的应和路线。在抬高用于钦定语言的词典和同风度翩翩词库文件的安插值时,将接收此路线。

绝不被ProductCode吸引,就算只设置了SQL Server客商端,注册表里也有其生龙活虎键值,并非系列号,DigitalProductID才是,但透过了Base24编码,供给解码才行。

赢得每一种 SQL Server 实例的实例名

  1. 单击“开始”,然后单击“运行”

  2. “运行”对话框中的“打开”框中,键入 Regedit。

  3. 单击“明确”。那将张开注册表编辑器。

  4. 在注册表编辑器中,为率先个 SQL Server 二〇〇九 福特Explorer2 实例(其实例 ID 为 MSSQL10_50.MSSQLSEGL450VEHighlander)选择以投注册表项:HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERSQL

    右窗格将展现实例名称及相应的实例 ID。

重要提示:
若要获得另一个服务器实例的实例名称,必须在注册表路径中使用其实例 ID,而不是 MSSQL10_50.MSSQLSERVER。

能够看来,对于不相同版本,注册表的路子不切合,可是键是风华正茂致的。

得到各类实例的 FTData 路线

  1. 单击“开始”,然后单击“运行”

  2. “运行”对话框中的“打开”框中,键入 Regedit

  3. 单击“确定”。

  4. 在注册表编辑器中,为 SQL Server 实例选拔以投注册表项:HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL Serverinstance_IDMSSQLServer,其中 instance_ID 为率先个 SQL Server 实例的 MSSQL10_50.MSSQLSEOdysseyVE翼虎。此注册表项值将是:

    HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERSetup

    右窗格显示 FullTextDefaultPath 值,该值富含特定于实例的 FTData 文件夹路线。比方,对于第三个 SQL Server 贰零零捌 途观2 实例来讲,那恐怕是暗中同意路线:

    C:Program FilesMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSQLFTData

Express版是无需付费的,未有连串号,进而注册表也没DigitalProductID这一个键。

登记断字符和有关语言组件

Microsoft 许可的第三方断字符的装置进度分成多少个级次。下表汇总了那么些等第,其步骤在本节的末端实行认证。

  1. 为要登记的语言加多断字符和词干剖析器接口的 COM ClassID,将其视作项加多到注册表的 <InstanceRoot>MSSearchCLSID 节点。

  2. 将该语言的项加多到 <InstanceRoot>MSSearchLanguage 节点。

  3. 添加布置值以钦定该语言的词典和千篇后生可畏律词库文件的岗位。

注意:
本节中以丹麦语断字符为例。本主题后面的表中提供了为每种语言安装断字符所需的值。

1. Base24, Base64 编码简单介绍

等级 1:为要注册的语言加多断字符和词干深入分析器接口的 COM ClassID

注意:
错误编辑注册表会严重损坏您的系统。更改注册表之前,应当备份计算机中的所有重要数据。

为德语加多这一个零件的 COM 类 ID

  1. 经过以下办法展开注册表编辑器:

    1. 单击“开始”,然后单击“运行”

    2. “运行”对话框中的“打开”框中,键入 Regedit

  2. 在注册表编辑器中,为率先个 SQL Server 实例接受以投注册表项:HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSearchCLSID

  3. 在菜单栏上,单击“编辑”,单击“新建”,然后单击“项”

  4. 键入 {16BC5CE4-2C78-4CB9-80D5-386A68CC2B2D}

  5. 按 Enter 键。

  6. 在右窗格中,右键单击“默认值”登记表值,然后单击“修改”

  7. “编辑字符串”对话框中的“数值数据”框中,键入 danlr.dll,然后单击“确定”

  8. 再一次步骤 3 到 7,将步骤 4 中的值替换为 {83BC7EF7-D27B-4950-A743-0F8E5CA928F8}

对此给定语言,请实践上述手续,并用所需语言的项值来替换步骤 4 和 8中的项值。这个值在底下列出。在步骤 7 中,用相应语言的 .dll 名称替换 danlr.dll。

兴许过多人据他们说过Base64编码,它用于对比较长的字符串举办编码,以有协助传输;

语言 步骤 4 的项值 步骤 7 的 .DLL 名称 步骤 8 的项值

丹麦语

{16BC5CE4-2C78-4CB9-80D5-386A68CC2B2D}

danlr.dll

{83BC7EF7-D27B-4950-A743-0F8E5CA928F8}

波兰语

{B8713269-2D9D-4BF5-BF40-2615D75723D8}

lrpolish.dll

{CA665B09-4642-4C84-A9B7-9B8F3CD7C3F6}

土耳其语

{23A9C1C3-3C7A-4D2C-B894-4F286459DAD6}

trklr.dll

{8DF412D1-62C7-4667-BBEC-38756576C21B}

Base24编码首要采用在种类号生成上,两个的得以完结思路是雷同的,只是编码的方式有一点点变化。

等第 2:将相应语言的项增加到 <InstanceRoot>MSSearchLanguage 节点

将英文的项增添到此节点:

  1. 为第贰个 SQL Server 实例采取以投注册表项:HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSearchLanguage

  2. 在前头的长河中再一次步骤 3 到 5,并在步骤中用 dan 替换步骤 4 中的项名称。

对此给定语言,请施行前边的步调,并针对性特定语言用下边列出的值替换步骤 4 中的项名称。

Base64所对应的编码表是:

语言 步骤 4 的项名称

丹麦语

dan

波兰语

plk

土耳其语

trk

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 /=

品级 3:针对生机勃勃种语言加上提供每种语言组件所在地点的配置值

本着波兰语增加那几个零零部件的配置值:

  1. 接纳在上边阶段 2 中输入的登记表项。对于第叁个 SQL Server 实例,它是:HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSearchLanguagedan

  2. 在菜单栏上,单击“编辑”88bifa必发唯一官网,,单击“新建”,然后单击“字符串值”

  3. 键入 TsaurusFile

  4. 按 Enter 键。

  5. 右键单击刚才增多的 TsaurusFile 注册表值,然后单击“修改”

  6. “编辑字符串”对话框的“数值数据”框中,键入 tsdan.xml

  7. 单击“确定”。

针对相应语言的别的语言组件(同义词库文件、语言(区域设置)、断字符和词干分析器)重复步骤 2 到步骤 7。为罗马尼亚语、法文或土耳其共和国语注册那一个零件所需的值如下所示。

Base24所对应的编码表是:

乌克兰语的值

再一次步骤 2 到步骤 7 以加多上边列出的每组值,替换每一个值特定于语言的值类型(步骤 2)、值名称(步骤 3 和步子 5)以致值多少(步骤 6)。

BCDFGHJKMPQRTVWXY2346789

步骤 2 的值类型 步骤 3 和步骤 5 的值名称 步骤 6 的值类型

字符串值

TsaurusFile

tsdan.xml

DWORD 值

区域设置

00000406

字符串值

WBreakerClass

{16BC5CE4-2C78-4CB9-80D5-386A68CC2B2D}

字符串值

StemmerClass

{83BC7EF7-D27B-4950-A743-0F8E5CA928F8}

计算二十多少个字符,这里最主要去掉了有个别对此连串号来讲不易于辨别和易于模糊的字符。

葡萄牙语的值

对此意大利语,请执行上述手续,并在步骤中动用上边列出的值。选用在地点的阶段 2 中为爱尔兰语输入的登记表项。对于第叁个 SQL Server 实例,将是:HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSearchLanguageplk

成就步骤 2 到步骤 7 以加多下边列出的每组值,替换每种值特定于语言的值类型(步骤 2)、值名称(步骤 3 和手续 5)和值多少(步骤 6)。

SQL Server的行列号利用的是Base24编码,对编码后的字符举行解码,即能够收获最早的作品。

步骤 2 的值类型 步骤 3 和步骤 5 的值名称 步骤 6 的值数据

字符串值

TsaurusFile

tsplk.xml

DWORD 值

区域设置

00000415

字符串值

WBreakerClass

{CA665B09-4642-4C84-A9B7-9B8F3CD7C3F6}

字符串值

StemmerClass

{B8713269-2D9D-4BF5-BF40-2615D75723D8}

编码/解码而不是加密/解密,未有秘钥的说教,唯有字符转变的平整,Base24, Base64详细的算法能够在网络找到。

土耳其共和国语的值

对此土耳其共和国语,请实践上述手续,并在步骤中利用上面列出的值。采取在上边的等第2 中为Turkey语输入的注册表项。对于第一个 SQL Server 实例,将是:HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSearchLanguagetrk

成就步骤 2 到步骤 7 以增添上面列出的每组值,替换每一个值特定于语言的值类型(步骤 2)、值名称(步骤 3 和步骤 5)和值多少(步骤 6)。

2. 利用Powershell 解码

步骤 2 的值类型 步骤 3 和步骤 5 的值名称 步骤 6 的值数据

字符串值

TsaurusFile

tstrk.xml

DWORD 值

区域设置

0000041f

字符串值

WBreakerClass

{8DF412D1-62C7-4667-BBEC-38756576C21B}

字符串值

StemmerClass

{23A9C1C3-3C7A-4D2C-B894-4F286459DAD6}

以下powershell函数用于解码/找回SQL Server连串号,在SQL Server 二零一零, 二零零六景逸SUV2实例上测量试验通过:

立异全文字笔迹考验索所援救语言的列表

加载了第三方断字符之后,必要刷新全文索引和查询支持的 LCID 列表。若要刷新此列表,请使用 系统存款和储蓄进度推行下列步骤:

  1. 按如下方式加载服务器实例中新设置的断字符和挑选器:
  1. 按如下方式更新语言列表:

新加载了断字符的言语即会在 目录视图中列出。

function Get-SQLServerKey { ## function to retrieve the license key of a SQL 2008 Server. param  $hklm = 2147483650 $regPath = "SOFTWAREMicrosoftMicrosoft SQL Server100ToolsSetup" $regValue1 = "DigitalProductId" $regValue2 = "PatchLevel" $regValue3 = "Edition" Foreach  { $productKey = $null $win32os = $null $wmi = [WMIClass]"\$targetrootdefault:stdRegProv" $data = $wmi.GetBinaryValue($hklm,$regPath,$regValue1) [string]$SQLver = $wmi.GetstringValue($hklm,$regPath,$regValue2).svalue [string]$SQLedition = $wmi.GetstringValue($hklm,$regPath,$regValue3).svalue $binArray = [52..66] $charsArray = "B","C","D","F","G","H","J","K","M","P","Q","R","T","V","W","X","Y","2","3","4","6","7","8","9" ## decrypt base24 encoded binary data For ($i = 24; $i -ge 0; $i--) { $k = 0 For ($j = 14; $j -ge 0; $j--) { $k = $k * 256 -bxor $binArray[$j] $binArray[$j] = [math]::truncate $k = $k % 24 } $productKey = $charsArray[$k]   $productKey If  -and  { $productKey = "-"   $productKey } } $win32os = Get-WmiObject Win32_OperatingSystem -computer $target $obj = New-Object Object $obj | Add-Member Noteproperty Computer -value $target $obj | Add-Member Noteproperty OSCaption -value $win32os.Caption $obj | Add-Member Noteproperty OSArch -value $win32os.OSArchitecture $obj | Add-Member Noteproperty SQLver -value $SQLver $obj | Add-Member Noteproperty SQLedition -value $SQLedition $obj | Add-Member Noteproperty ProductKey -value $productkey $obj }}

SQL Server 二零一三连串号里字符的格式产生了改变,$binArray = [0..16] 不同于SQL Server 2008的$binArray = [52..66],同期别忘了改投注册表路线$regPath = "SOFTWAREMicrosoftMicrosoft SQL Server110ToolsSetup",改革后如下,在SQL Server 2013实例上测验通过:

function Get-SQLServerKey {## function to retrieve the license key of a SQL 2012 Server.## by Jakob Bindslet ## 2012 Modification by Xian Wang param $hklm = 2147483650$regPath = "SOFTWAREMicrosoftMicrosoft SQL Server110ToolsSetup"$regValue1 = "DigitalProductId"$regValue2 = "PatchLevel"$regValue3 = "Edition"Foreach  {$productKey = $null$win32os = $null$wmi = [WMIClass]"\$targetrootdefault:stdRegProv"$data = $wmi.GetBinaryValue($hklm,$regPath,$regValue1)[string]$SQLver = $wmi.GetstringValue($hklm,$regPath,$regValue2).svalue[string]$SQLedition = $wmi.GetstringValue($hklm,$regPath,$regValue3).svalue$binArray = [0..16]$charsArray = "B","C","D","F","G","H","J","K","M","P","Q","R","T","V","W","X","Y","2","3","4","6","7","8","9"## decrypt base24 encoded binary dataFor ($i = 24; $i -ge 0; $i--) {$k = 0For ($j = 14; $j -ge 0; $j--) {$k = $k * 256 -bxor $binArray[$j]$binArray[$j] = [math]::truncate$k = $k % 24}$productKey = $charsArray[$k]   $productKeyIf  -and  {$productKey = "-"   $productKey}}$win32os = Get-WmiObject Win32_OperatingSystem -computer $target$obj = New-Object Object$obj | Add-Member Noteproperty Computer -value $target$obj | Add-Member Noteproperty OSCaption -value $win32os.Caption$obj | Add-Member Noteproperty OSArch -value $win32os.OSArchitecture$obj | Add-Member Noteproperty SQLver -value $SQLver$obj | Add-Member Noteproperty SQLedition -value $SQLedition$obj | Add-Member Noteproperty ProductKey -value $productkey$obj}}

3. 调用powershell函数并出口类别号

开发powershell,把地方的函数贴进去,回车,输入Get-SQLServerKey 并回车;

或然把下面的函数存为.ps1文本一向援引:

PS C:Windowssystem32> . C:UsersusernameDesktoppk.ps1PS C:Windowssystem32> Get-SQLserverKey

输出结果如下,首尾多少个字符被人为改成星号,未有贴出来。

Computer : .OSCaption : Microsoft Windows Server 2012 R2 StandardOSArch : 64-bitSQLver : 11.2.5058.0SQLedition : Developer EditionProductKey : *****-G8T4R-QW4XX-BVH62-*****

对于SQL Server 二零零三, 二〇〇五,由于手头尚无条件,未有测量检验;对于Office,Windows系统,应该也都足以透过相近的诀要获得种类号。

以上内容正是有关设置到位后如何找回SQL Server实例安装时的类别号,希望咱们持有利于。

本文由88bifa必发唯一官网发布,转载请注明来源:如何加载经过批准的第三方断字符,Server实例安