不要被ProductCode迷惑,就算只安装了SQL Server客户端,注册表里也会有这个键值,并不是序列号,DigitalProductID才是,但经过了Base24编码,需要解码才行。
可以看到,对于不同版本,注册表的路径不一样,但是键是一致的。
Express版是免费的,没有序列号,从而注册表也没DigitalProductID这个键。
二、如何解码序列号
利用Powershell 解码
以下powershell函数用于解码/找回SQL Server序列号,在SQL Server 2008, 2008 R2实例上测试通过:
SQL Server 2012序列号里字符的格式发生了变化, data.uValue)[0..16] 不同于SQL Server 2008的 data.uValue)[52..66],同时别忘了改下注册表路径$regPath = "SOFTWARE\Microsoft\Microsoft SQL Server\110\Tools\Setup",修改后如下,在SQL Server 2012实例上测试通过:
调用powershell函数并输出序列号
打开powershell,把上面的函数贴进去,回车,输入Get-SQLServerKey 并回车;
或者把上面的函数存为.ps1文件直接引用:
输出结果如下:
根据powershell 脚本翻译成的Python base24 解码函数:
如果仅仅是提取前10条,则:(已加了count()函数)select top 10 aa as aa1,count(ab),count(ac) from a group by aa order by aa1
如果要全部提取,但每次仅显示10条,则:
select aa as aa1,count(ab),count(ac) from a group by aa order by aa1
外加一段翻页代码,相信翻页代码你自己会写,如果不会写,在百度知道里搜索一下,有很多这样的代码可以参考
补充:我说的翻页代码是指类似:"第一页|上一页|下一页|最后一页"等网页按钮,当你有很多记录,一页显示不完时,可以采用这种分页显示的方式,不过分页的代码要自己编写,不难的,稍微参考一下别人的写法就能动手自己干了
开发版: PTTFM-X467G-P7RH2-3Q6CG-4DMYB企业版: JD8Y6-HQG69-P9H84-XDTPG-34MBB
技术推荐了一个软件“ElcomSoft Password Recovery Studio Tools”,查看序列号,可以查看Windows和Office的序列号,sql的就不行。
您可以用“ProduKey”查看。这款软件可以帮您查询出您电脑上所安装 Microsoft 的产品序号,可查询的软件存在MS-Office、Windows、Exchange Server和SQL Server,安装该软件后,您可以用序列号备份下来,方便下回安装时使用。
希望解决了楼主的问题
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)