How can I keep the user permission on a table that is dropped and recreated? I drop, create and bulk insert a table weekly for a user, but the user's permission is removed from the table each time I do that. I right click on the table name and add them each time. Is there a way to keep their name in the permissions?
When you drop and re-create the table, it becomes a new object. If the principal is granted access to that specific object, all security related to it will be dropped as well.

If you truncate the table or delete from it, the security will be preserved. You'll need to slightly adjust your bulk import process.

Alternatively, you could run the import with elevated permissions, and have that process execute a GRANT SELECT for that principal. But I would recommend against that.