CREATE PROCEDURE [dbo].[GetDataSources]
@ItemID [uniqueidentifier],
@AuthType int
AS
SELECT
DS.[DSID],
DS.[ItemID],
DS.[Name],
DS.[Extension],
DS.[Link],
DS.[CredentialRetrieval],
DS.[Prompt],
DS.[ConnectionString],
DS.[OriginalConnectionString],
DS.[UserName],
DS.[Password],
DS.[Flags],
DSL.[DSID],
DSL.[ItemID],
DSL.[Name],
DSL.[Extension],
DSL.[Link],
DSL.[CredentialRetrieval],
DSL.[Prompt],
DSL.[ConnectionString],
DSL.[UserName],
DSL.[Password],
DSL.[Flags],
C.Path,
SD.NtSecDescPrimary,
DS.[OriginalConnectStringExpressionBased],
DS.[Version],
DSL.[Version],
(SELECT 1 WHERE EXISTS (SELECT * from [ModelItemPolicy] AS MIP WHERE C.[ItemID] = MIP.[CatalogItemID]))
FROM
[DataSource] AS DS LEFT OUTER JOIN
([DataSource] AS DSL
INNER JOIN [Catalog] AS C ON DSL.[ItemID] = C.[ItemID]
LEFT OUTER JOIN [SecData] AS SD ON C.[PolicyID] = SD.[PolicyID] AND SD.AuthType = @AuthType)
ON DS.[Link] = DSL.[ItemID]
WHERE
DS.[ItemID] = @ItemID or DS.[SubscriptionID] = @ItemID
GO
GRANT EXECUTE ON [dbo].[GetDataSources] TO [RSExecRole]
GO