Howto use typeperf to store performance monitor values in a custom schema?
It seems like the schema used will be the default schema of the database user associated with the login you provide to the DSN.

How you set this up in detail depends on factors like whether SQL Authentication is allowed to this SQL Server instance. You can set the default schema with ALTER USER.

Regarding the edit (almost becoming a new question now), from Database-Level Roles:


  Members of the db_datawriter fixed database role can add, delete, or change data in all user tables. 


You could try granting more granular permissions (though having alter on the schema may already be sufficient). It might also be that the implementation hard-codes use of the dbo schema.

Another thing to check: make sure the login is not a member of the sysadmin fixed server role. The value of DEFAULT_SCHEMA is ignored if the user is a member of the sysadmin fixed server role. All members of the sysadmin fixed server role have a default schema of dbo. Grant CONTROL SERVER to the login instead; this gives exactly the same rights, without the schema side-effect.