不要被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 解码函数:
去找一个叫“produkey”的小软件,它可以帮你查到的微软的多数软件的序列号。
提示,部分杀软会把它当成恶意软件,因为它属于偷序号,密码一类的,连着你的win的序号都会给你找出来。不放心的话,自个去网上按“produkey”这个名字去找。
反正我传上后,百度是通过的,说“已经过百度安全检测”呵呵。
另外想说的是,SQL的序列号不值钱(正经的买因来的除外)网上一搜就知道了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)