2012-03-23 38 views
2

有誰知道這個值是如何派生的?@Me TFS查詢變量是如何派生的?

對於我們團隊的一半,它似乎是「FistName.LastName」。對於另一半,它是「名字姓氏」...

我想我可以在5秒鐘內使用谷歌搜索找到這一點,但我能找到的都是模糊的聲明,說「當前用戶」或「當前用戶別名「。

有關查詢變量MSDN文章here把它描述爲當前用戶的別名,但我不知道這意味着什麼....

+1

在此上下文中的「別名」是您的域名登錄(即域\用戶名)。這是因爲它們被保證是唯一的,而顯示名稱(「第一個最後」)不是。你看到了什麼樣的問題? – 2012-03-23 17:10:24

+0

嗨,愛德華,謝謝你看這個問題。我看到別名不在DOMAIN \用戶名對的用戶名部分。如果是,那麼「@Me」對我來說就不會包含空間。我登錄的用戶名是「FirstName.LastName」。但是,我自己的「@Me」是「FirstName LastName」。我問的原因是因爲我將在星期一/星期二將我們的TFS服務器和所有用戶帳戶轉移到新域中。我試圖確定我們的所有查詢是否會被破解。再次感謝您的關注。 – 2012-03-23 23:16:38

回答

1

當運行在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數據庫中的存儲過程受到保護,因此我無法解讀超出該範圍的內容。

+0

像@me這樣的宏被客戶端擴展爲規則引擎評估。 – 2012-03-26 15:26:39

+0

嗨KMoraz,並感謝您的回覆。我沒有想到Profiler!我一直在玩它,接近答案,但還沒有完成。 – 2012-03-27 07:26:25

+0

已發佈的事件探查器條目不是決定將顯示的項目列表(我認爲)的項目。這些ID已經確定並通過參數p3 - px傳入。一些分析器條目返回,有一個條目檢查一個名爲[dbo]的表。[Constants]是一個字符串,在我的情況下是'FirstName LastName'。 SID只傳遞給你提到的[dbo]。[RebuildCallersViews]。 – 2012-03-27 07:29:24