anchor.diff:      ;
   
   createLogin
  -    : CREATE LOGIN ID (WITH  loginOptionList  | FROM  sources)
  +    : CREATE LOGIN (windowsPrincipal | ID) (WITH  loginOptionList  | FROM  sources)
       ;
   
   loginOptionList
  
positive.code:     : WINDOWS (WITH optionsLists)? | CERTIFICATE ID | ASYMMETRIC KEY ID
      ;
  
  setOption
      :  PASSWORD EQ_ STRING HASHED? (OLD_PASSWORD EQ_ STRING | passwordOption (passwordOption )?)?
      | DEFAULT_DATABASE EQ_ databaseName
      | optionsList
  
negative.code:     : MUST_CHANGE | UNLOCK
      ;
  
  credentialOption
      : ADD CREDENTIAL ID
      | DROP CREDENTIAL
      ;
  
  dropLogin
      : DROP LOGIN ID
      ;
  
  createRole
      : CREATE ROLE roleName (AUTHORIZATION ID)
      ;    
  
   alterRole
       : ALTER ROLE roleName ((ADD | DROP) MEMBER ID |  WITH NAME EQ_ ID  )
       ;
  
    dropRole
        : DROP ROLE roleName
        ;