David, I understand what you are dealing with on the SQL Server. You can get the desired result with a different approach. Tableau will need to apply the row-level security with the query it sends using a technique called User Filters. http://kb.tableausoftware.com/articles/knowledgebase/securing-user-filters-for-web-editing-data-server
Essentially you join your security tables as part of the data source and Tableau will append a where clause to the query to only show that user’s data. It is really the same concept as within the SQL Server views using SUSER_SNAME() but at the Tableau layer. You publish the data source to Tableau Server and all connections and reports are built on the published data source moving forward. These shared data sources are a best practice, it is the semantic layer and gives you the row-level security you need.