OBJECTPROPERTY中的参数id 
是表示当前数据库中对象 ID 的表达式。id 的数据类型为 int,并假定为当前数据库上下文中的架构范围内的对象。所以你的语句得到的当然是NULL

解决方案 »

  1.   

    可以试试:
    select * from OPENQUERY([srv02],'use [db02] Select OBJECTPROPERTY(OBJECT_ID(''[db02].[dbo].server1_receipt_item''),''TableHasIdentity'')')或者:
    select * from OPENQUERY([srv02],'exec(''use [db02] Select OBJECTPROPERTY(OBJECT_ID(''''[db02].[dbo].server1_receipt_item''''),''''TableHasIdentity'''')'')')
      

  2.   

    谢谢邹老大。
    select * from OPENQUERY([srv02],'exec(''use [db02] Select OBJECTPROPERTY(OBJECT_ID(''''[db02].[dbo].server1_receipt_item''''),''''TableHasIdentity'''')'')')
    这个是对的第一个不对