Registry values example (they are from other computer, where MSSQL installed without problem)
你好。
我在 Windows 7 和 MSSQL 2012 或 MSSQL 2014 上遇到了同样的问题,终于找到了解决方法。
首先,我按照here 的描述设置权限和所有者,但没有成功。我无法通过 Regedit 手动创建“VSS\VssAccessControl”分支。我有几个子分支的“VSS\Diag”分支(请参阅附加的 Diag.reg 文件)。我可以重命名这个“Diag”或其子分支,但不能创建“VSS\VssAccessControl”。奇怪……
好的,我的食谱:
1. 我已将 Diag 分支重命名为 VssAccessControl 并启动 MS SQL 设置。
2.它失败了,和你描述的一样。好的。安装失败,我完成了。
3. 刷新注册表,发现整个 VSS 分支被删除了。
4. 现在我手动创建了 VSS 分支及其子分支 VssAccessControl。它不受限制。
5. 我还添加了名称为“NT SERVICE\SQLWriter”和“NT Authority\NetworkService”的 DWORD32 键,并将它们的值都设置为 1。(您可以使用下面提供的 vss.reg 文件来避免手动创建)
6. 再次启动MSSQL setup,安装成功。
Diag.reg 文件的内容或在第 1 步之前导出您自己的文件:
Windows 注册表编辑器 5.00 版
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\VSS\Diag]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\VSS\Diag\BITS 编写器]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\VSS\Diag\IIS 配置编写器]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\VSS\Diag\IIS 元数据库编写器]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\VSS\Diag\SqlServerWriter]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\VSS\Diag\System Writer]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\VSS\Diag\VolSnap]
"VolumesSafeForWrite (Enter)"=hex:48,00,00,00,00,00,00,00,81,77,bc,a9,e8,0e,d2,\
01,00,00,00,00,00,00,00,00,1e,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00, \
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00, \
00,00,00,00,00,00,00
"VolumesSafeForWrite (Leave)"=hex:48,00,00,00,00,00,00,00,c9,f3,93,ca,e8,0e,d2,\
01,00,00,00,00,00,00,00,00,1f,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00, \
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00, \
00,00,00,00,00,00,00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\VSS\Diag\WMI 编写器]
vss.reg 文件内容:
Windows 注册表编辑器 5.00 版
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\VSS\VssAccessControl]
"NT Authority\NetworkService"=dword:00000001
"NT SERVICE\SQLWriter"=dword:00000001