• A good rule of thumb is to only grant user access to objects via Database Roles. It makes security management and auditing simpler in the long run and is not difficult to implement. I use a Database Role even when I only have one user that needs access to one specific table. In your situation I would:

    1. Create a new Database Role named appropriately.

    USE DatabaseName;

    GO

    CREATE ROLE AppropriateRoleName ;

    GO

    2. Grant SELECT on the two tables to the new role.

    USE DatabaseName;

    GO

    GRANT SELECT ON dbo.Table1 TO AppropriateRoleName ;

    GRANT SELECT ON dbo.Table2 TO AppropriateRoleName ;

    3. Add the users to the role:

    USE DatabaseName;

    GO

    EXEC sys.sp_addrolemember

    @rolename = N'AppropriateRoleName',

    @membername = N'DatabaseUserName' ;

    There are no special teachers of virtue, because virtue is taught by the whole community.
    --Plato