Storing user data: foreign keys or strings?

So you need to store user data in your SQL database. Do you store a foreign key to your identity table? An Active Directory (or other) login string? Their full name?

Let me first say that while I have some experience with audit records in various environments, this post doesn’t relate to anything specific. Rather, it stems from a discussion on the topic with some colleagues, so I thought it would be useful to publish my thoughts on the matter. Continue reading