不要被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 解码函数:
打开windows server 2012。打开资源管理器。
点击计算机,找到系统属性。点击远程设置。点击允许远程计算机连接到此计算机,应用并确定。再次尝试登录发现就可以登录了。
Windows Server 2012 R2 是基于Windows8.1 以及Windows RT 8.1 界面的新一代Windows Server *** 作系统,提供企业级数据中心和混合云解决方案,易于部署、具有成本效益、以应用程序为重点、以用户为中心。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)