Простое ограничение проверки - все, что вам нужно
create table blatest(code char(3))
alter table blatest add constraint ck_bla
check (code like '[DMOPT][0-9][0-9]' )
GO
тест
insert blatest values('a12') --fails
insert blatest values('M12') --good
insert blatest values('D12') --good
insert blatest values('DA1') --fails
Если вам нужно, чтобы он был чувствителен к регистру, вы должны создать такое ограничение:
alter table blatest add constraint ck_bla
check (code like '[DMOPT][0-9][0-9]' COLLATE SQL_Latin1_General_CP1_CS_AS )
GO
D12 будет успешным, но d12 не будет в этом случае