Designing a Data Source View, any column that is part of a primary key of type tinyint (SQL Server) is transformed into an int column. Then, when you try to define a table relatioship where a foreign key exists in another table, you get the error "The ID_<name> source column and the ID_<name> destination column have different types".
The problem is that the conversion to int is made on the PK column, but not on the FK column.
If I change the data type in the DSV (from int to unsignedByte), I get an override with the previous type at the first refresh.
The only workaround seems to be a view that exposes a SMALLINT (short) instead of a TINYINT (unsignedByte) - unfortunately, I need to do this on both sides (PK and FK tables).
Very annoying, since I have a data warehouse with many dimensions with very few items that used TINYINT just to optimize the space for the fact table.