Your problem is the "," before the "ORDER BY" in your "OVER" clauses
WITH T1 (ID1, ID2)
AS
(
SELECT 1,1 UNION ALL
SELECT 1,1 UNION ALL
SELECT 1,1 UNION ALL
SELECT 1,2
)
SELECT *,
RANK() OVER (PARTITION BY ID1 ORDER BY ID2) AS 'RANK',
ROW_NUMBER() OVER (PARTITION BY ID1 ORDER BY ID2) AS 'ROW_NUMBER',
DENSE_RANK() OVER (PARTITION BY ID1 ORDER BY ID2) AS 'DENSE_RANK'
FROM T1