Tsql SQL Server日志文件(SSR/SSA)的查询路径

Tsql SQL Server日志文件(SSR/SSA)的查询路径,tsql,logging,reporting-services,ssas,Tsql,Logging,Reporting Services,Ssas,我需要编写一个tsql脚本/过程,用于读取SSRS/SSAS/MSSQL日志。 因此,获取SQL错误日志的位置很容易(选择SERVERPROPERTY('ErrorLogFileName')) SSR/SSA的位置如何?该脚本将在许多不同的服务器上执行,我知道,大多数服务器不使用SQL Server实例的默认位置(即C:\Program Files…)。有没有办法在tsql中获取此路径 干杯 金好的,我找到了一个方法。我不知道这是否是最好的方法,但它很快,适用于我的所有实例。下面是SSRS路径的

我需要编写一个tsql脚本/过程,用于读取SSRS/SSAS/MSSQL日志。 因此,获取SQL错误日志的位置很容易(选择SERVERPROPERTY('ErrorLogFileName'))

SSR/SSA的位置如何?该脚本将在许多不同的服务器上执行,我知道,大多数服务器不使用SQL Server实例的默认位置(即C:\Program Files…)。有没有办法在tsql中获取此路径

干杯

好的,我找到了一个方法。我不知道这是否是最好的方法,但它很快,适用于我的所有实例。下面是SSRS路径的代码。SSAS的工作原理类似

DECLARE @InstanceName [nvarchar] (128)
,@SSRSInstanceName [nvarchar] (128)
,@RegPathSSRS [nvarchar] (256)
,@DirPathSSRS [nvarchar] (256)

SET @InstanceName = COALESCE(CONVERT([nvarchar](100), SERVERPROPERTY('InstanceName')), 'MSSQLSERVER');

IF @InstanceName != 'MSSQLSERVER'
BEGIN
    SET @InstanceName = @InstanceName
END

EXEC [master]..[xp_regread] N'HKEY_LOCAL_MACHINE'
    ,N'Software\Microsoft\Microsoft SQL Server\Instance Names\RS'
    ,@InstanceName
    ,@SSRSInstanceName OUTPUT;

SET @RegPathSSRS = N'Software\Microsoft\Microsoft SQL Server\'+@SSRSInstanceName+'\Setup';
    EXEC [master]..[xp_regread] N'HKEY_LOCAL_MACHINE'
    ,@RegPathSSRS
    ,'SQLPath'
    ,@DirPathSSRS OUTPUT;
您现在可以找到ReportServer日志的路径,如下所示: @DirPathSSRS+“\LogFiles”