有誰知道這個值是如何派生的?@Me TFS查詢變量是如何派生的?
對於我們團隊的一半,它似乎是「FistName.LastName」。對於另一半,它是「名字姓氏」...
我想我可以在5秒鐘內使用谷歌搜索找到這一點,但我能找到的都是模糊的聲明,說「當前用戶」或「當前用戶別名「。
有關查詢變量MSDN文章here把它描述爲當前用戶的別名,但我不知道這意味着什麼....
有誰知道這個值是如何派生的?@Me TFS查詢變量是如何派生的?
對於我們團隊的一半,它似乎是「FistName.LastName」。對於另一半,它是「名字姓氏」...
我想我可以在5秒鐘內使用谷歌搜索找到這一點,但我能找到的都是模糊的聲明,說「當前用戶」或「當前用戶別名「。
有關查詢變量MSDN文章here把它描述爲當前用戶的別名,但我不知道這意味着什麼....
當運行在Visual Studio中的查詢,TFS正在建設一個SQL查詢它。如果您在Tfs_DefaultCollection
數據庫上運行SQL Server Profiler中你應該注意到了類似的查詢:
exec sp_executesql N'set nocount on
declare @PersonId as int
declare @rebuildOK as int
declare @PersonName as nvarchar(255)declare @userSid as nvarchar(256)
set @[email protected]
exec @rebuildOK=dbo.RebuildCallersViews @PersonId output,@P1
if @rebuildOK<>0 return
DECLARE @AsOfUtc DATETIME; SET @[email protected]
DECLARE @Ids TABLE (Id INT NOT NULL)
INSERT INTO @Ids SELECT X.ID FROM (
SELECT @P3 AS ID
UNION ALL
SELECT @P4 AS ID
) as X
join dbo.[WorkItemsLatestUsed] RL
on X.ID = RL.[System.Id]
where RL.[System.AreaID] not in
(
select V.BelowID
from dbo.[GetInverseUserPermissions](@userSid,1) V
)
option (loop join)
SELECT I.[System.Id],I.[System.Rev],I.[System.AreaId],I.[System.IterationId],I.[System.WorkItemType],I.[System.AssignedTo]
FROM @Ids Ids
JOIN [dbo].[WorkItemsAsOf] I with (nolock)
ON I.[System.Id] = Ids.[Id]
AND I.[System.ChangedDate] <= @AsOfUtc
AND @AsOfUtc < I.[System.RevisedDate]
OPTION (LOOP JOIN)
set nocount off
',N'@P1 nvarchar(4000),@P2 datetime,@P3 int,@P4 int',@P1=N'S-1-5-21-3698201826-3150490006-716737659-1107',@P2='2012-03-24 19:48:09.707',@P3=1266,@P4=1587
的使用注意事項dbo.RebuildCallersViews
存儲過程的這反過來又服務於@userSid
變量和最終臨時I.[System.AssignedTo]
列。 TFS數據庫中的存儲過程受到保護,因此我無法解讀超出該範圍的內容。
像@me這樣的宏被客戶端擴展爲規則引擎評估。 – 2012-03-26 15:26:39
嗨KMoraz,並感謝您的回覆。我沒有想到Profiler!我一直在玩它,接近答案,但還沒有完成。 – 2012-03-27 07:26:25
已發佈的事件探查器條目不是決定將顯示的項目列表(我認爲)的項目。這些ID已經確定並通過參數p3 - px傳入。一些分析器條目返回,有一個條目檢查一個名爲[dbo]的表。[Constants]是一個字符串,在我的情況下是'FirstName LastName'。 SID只傳遞給你提到的[dbo]。[RebuildCallersViews]。 – 2012-03-27 07:29:24
在此上下文中的「別名」是您的域名登錄(即域\用戶名)。這是因爲它們被保證是唯一的,而顯示名稱(「第一個最後」)不是。你看到了什麼樣的問題? – 2012-03-23 17:10:24
嗨,愛德華,謝謝你看這個問題。我看到別名不在DOMAIN \用戶名對的用戶名部分。如果是,那麼「@Me」對我來說就不會包含空間。我登錄的用戶名是「FirstName.LastName」。但是,我自己的「@Me」是「FirstName LastName」。我問的原因是因爲我將在星期一/星期二將我們的TFS服務器和所有用戶帳戶轉移到新域中。我試圖確定我們的所有查詢是否會被破解。再次感謝您的關注。 – 2012-03-23 23:16:38