输出sql server错误日志时出错

时间:2014-05-07 07:20:20

标签: c++ visual-c++ registry

我正在实现查找sql​​ server日志的程序。从herehere我得到sql server错误日志存储在" Software \ Microsoft \ Microsoft SQL Server \ MSSQL10.SQLEXPRESS \ MSSQLServer \ Parameters"这条道路。

我尝试使用此路径实现代码,但它在输出中出现错误" RegOpenKeyEx失败,错误代码5"

这是我的代码有什么问题吗?

int _tmain(int argc, _TCHAR* argv[])
{
HKEY hKey;



LONG dwRegOPenKey = RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("Software\\Microsoft\\Microsoft SQL Server\\MSSQL10.SQLEXPRESS\\MSSQLServer\\Parameters"), 0, KEY_READ, &hKey);
// ahiya DS-Client ni service malse  LONG dwRegOPenKey = RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SYSTEM\\CurrentControlSet\\Services\\DS-Client\Parameters\\"), 0, KEY_READ, &hKey);


if(dwRegOPenKey == ERROR_SUCCESS){
    printf("RegOpenKeyEx succeeded, error code %d\n", GetLastError());
    QueryKey(hKey);

    } else {
        printf("RegOpenKeyEx failed, error code %d\n", dwRegOPenKey);
    }


    RegCloseKey(hKey);
    system("pause");
return 0;
}

1 个答案:

答案 0 :(得分:1)

您的访问被拒绝'错误。

使用regedit,查看" 软件\ Microsoft \ Microsoft SQL Server \ MSSQL10.SQLEXPRESS \ MSSQLServer \ Parameters "的权限。键。在我的系统上,您需要具有“参数”的管理员权限。关键是'用户'但是没有权限查看密钥,用户'有权查看父MSSQLSERVER密钥。

因此我建议这是安装默认设置。

您需要以管理员权限运行才能查看参数。