It is possible that one or more columns in a table in your database are not using the default database collation and instead is using Vietnamese_CI_AS. You can find the collation of all the columns in your database using this query (ignore the ones where the collation is null), or use appropriate where clause to pick up only the Vietnamese_CI_AS.
SELECT
t.Name AS TableName,
c.Name ColumnName,
c.collation_name
FROM
sys.columns c
INNER JOIN sys.tables t ON c.object_id = t.object_id
WHERE
t.is_ms_shipped = 0
ORDER BY
c.collation_name
Once you find those columns, look for the usage of those columns in your stored proc. Usually it will be in a where clause or on a join. There, you will need to force the collation on the left and right sides to be the same. For example, if you have something like this:WHERE
t1.Column1 = t2.Column2
change it to one of the following (depending on which collation you want to use)WHERE
t1.Column1 COLLATE Latin1_General_CS_AS = t2.Column2 COLLATE Latin1_General_CS_AS
WHERE
t1.Column1 COLLATE Vietnamese_CI_AS = t2.Column2 COLLATE Vietnamese_CI_AS
You don't have to collate the side on which you already have the collation you are trying to force to.