Sql server SQL Server:如何获取一行的物理分区号?

Sql server SQL Server:如何获取一行的物理分区号?,sql-server,Sql Server,我们都知道,对于表中的每一行,都会有一个分区来存储这一行 我搜索了stackoverflow,发现有一个帖子“GetaRecordsCurrentPartition” 然而,我不太清楚如何做到这一点 有人能举个具体的例子吗 如果我有一个Employee表,它在EmployName上有一个非集群索引,在EmployID上有一个集群索引,那么如何找到索引的分区号和EmployID为41245的行所在的集群索引 更多信息: CREATE TABLE Employee ( EmployeeI

我们都知道,对于表中的每一行,都会有一个分区来存储这一行

我搜索了stackoverflow,发现有一个帖子“GetaRecordsCurrentPartition”

然而,我不太清楚如何做到这一点

有人能举个具体的例子吗

如果我有一个Employee表,它在EmployName上有一个非集群索引,在EmployID上有一个集群索引,那么如何找到索引的分区号和EmployID为41245的行所在的集群索引

更多信息:

CREATE TABLE Employee
( 
    EmployeeID int identity(1,1) not null
    , EmployeeName varchar(200) not null
    , constraint PK_Employee_1 primary key clustered
        (
            EmployeeID
        )
    , INDEX NONCLUSTERED IX_EmployeeName ON Employee (EmployeeName)
)

如果您发布CREATE table语句和分区方案所基于的分区函数的名称,我们可以为您的情况提供一个真实的示例。您想解决什么问题?您提出的解决方案要求您获取“物理分区号”?我们可能有更好的解决方案。我想知道当两行共享同一资源(索引、堆、分区)时,它们是否有可能死锁。例如,更新第1行并读取第2行。另一个会话是更新第2行和读取第1行。