2015-08-12 3 views
0

Я сделал некоторое копирование, но не могу узнать конкретную информацию о таблице Users, созданной в базе данных ReportServer?SSRS - Таблица пользователей

Во-первых, я хотел проверить, что было точкой входа для пользователей, входящих в эту таблицу? В нашей таблице это похоже, что все наши логины в домене существуют в этой таблице ... Это приводит меня к следующему вопросу ... Являются ли они фактически связаны с учетными записями домена вообще (я полагаю, что нет). Я просто хочу удостовериться, что если учетная запись домена отключена, любые подписки «Владельцы» этого пользователя не будут терпеть неудачу при следующей попытке запуска.

Любая помощь по этой относительно темной области очень ценится.

С уважением Крис

ответ

2

Прежде чем ответить, позвольте мне напомнить вам, что база данных SSRS официально не документирован, поэтому следующие ответы будут основаны только на моего опыта продукт, чтобы они могли быть неправильными/i ncomplete.

Какая точка входа для пользователей, идущих в этот стол?

  • В GetUserIDBySid и GetUserIDByName хранимые процедуры, вызываемые хранимой процедуры GetUserID.
  • Хранимая процедура GetPrincipalID, вызываемая хранимой процедурой UpdatePolicyPrincipal.

Название может сбивать с толку, потому что на самом деле эти SPs не только получать идентификатор пользователя.
Если пользователь не существует в базе данных, они вставьте его.

Теперь дополнительный вопрос должен придумать:

Когда эти SPs выполнены?

Очевидным ответом является «когда SSRS должен получить идентификатор пользователя».
Это может быть, например, когда:

  • Создание политики для конкретного пользователя
  • Пользователь выполнения отчета
  • Списков пользователей подписку на

Если пользователь часть группы, которая имеет доступ к отчету и никогда не предпринимала никаких действий для получения своего ИД пользователя, он не должен присутствовать в таблице .

ли они на самом деле связаны с учетными записями доменов на всех

Нет, если вы удалите учетную запись от AD будет оставаться в Users таблице.
Информация, которую вы можете использовать, если вам нужно, чтобы связать их по какой-либо причине, являются:

  • Пользователь Логин: UserName
  • по безопасности ID: Sid

Bonus вопрос/ответ:

В какой информации содержится таблица Users?

  • UserID: Сгенерированный GUID (NEWID())
  • Sid: Идентификатор безопасности, если вам нужно найти идентификатор безопасности от пользователя Логин, вы можете использовать SUSER_SID функцию
  • UserType: UserType
  • AuthType: LoginType
  • UserName: НТ Пользователь/Вход в группу
+0

Это в значительной степени отвечает на мой вопрос и за его пределами ... Большое вам спасибо! – CJH

0

Вот отрывок из статьи:

пользователи: Эта таблица содержит информацию о деталях доступа для пользователей сервера отчетов, в том числе тех пользователей, работающих отчеты и тех пользователей, публикующих отчеты ,

SSRS сохраняет свою собственную таблицу пользователей и групп, связанных с безопасностью, так что даже если учетная запись пользователя была удалена из системы Active Directory, она будет доступна для вас ссылки в базе данных ReportServer

Этот запрос ниже покажет вам, какой отчет каждого пользователя имеет доступ к:

SELECT u.UserName, r.RoleName, c.Path, c.Name 
FROM dbo.Users as u 
INNER JOIN dbo.PolicyUserRole as pr ON u.UserID=pr.UserID 
INNER JOIN dbo.Roles as r on pr.RoleID = r.RoleID 
INNER JOIN dbo.Catalog as c on pr.PolicyID = c.PolicyID 
ORDER BY u.UserName 
Смежные вопросы