My goal is to convert VARBINARY to VARCHAR. This is my code:
   DECLARE @objectSidAsByteArray varbinary(max)
   execute sp_executesql N'SELECT * FROM OPENQUERY("MyLinkedServer", 
   ''SELECT objectGUID FROM ''''LDAP://bla1.bla2'''' WHERE name = ''''myName 
    mySurname'''' '')', N'@ VARBINARY(max) OUTPUT', 
    @objectSidAsByteArray OUTPUT
    SELECT @objectSidAsByteArray
   DECLARE @objectSIDAsString VARCHAR(max) = CONVERT (NVARCHAR(max),@objectSidAsByteArray)
   SELECT @objectSIDAsString
Output:
   0x8585EEB0CBFD34449644B2A44B886FCC
   NULL
Event though @objectSidAsByteArray outputs the right value, there is something wrong with it. Its type seems to be ok (VARBINARY), isn't it? If I use the code below instead of @objectSidAsByteArray, the conversion works perfectly:
 DECLARE @objectSID varbinary(max)
 set @objectSID =  0x8585EEB0CBFD34449644B2A44B886FCC
 CONVERT (NVARCHAR(max),@objectSID)
So what am I doing wrong with the @objectSidAsByteArray?