2010-06-02 19 views
6

¿Existen prácticas recomendadas para almacenar inicios de sesión de Windows en tablas de SQL Server (por ejemplo, el campo AddUser para una tabla de auditoría)? He visto tablas usando sysname, varchar (255), etc.Almacenamiento de inicio de sesión de Windows en la tabla de SQL Server

p.s. Disculpas de antemano si esto ya ha sido respondido. No pude encontrar o formular la consulta correcta para buscar esto.

+2

¿Estás preguntando cuál es la longitud máxima de un nombre de usuario en Windows o ... ¿cuál es tu caso de uso? – jcolebrand

+0

Sé que la función incorporada del servidor SQL suser_sname() devuelve nvarchar (256). Mi pregunta era: ¿qué usan normalmente las personas? De hecho, encontré la respuesta cuando busqué en suser_sname. MSDN tiene un ejemplo en el que usan sysname para almacenar el inicio de sesión. Gracias. – cs31415

+0

¿Alguna vez resolvió esto con éxito? ¿Aún necesitas ayuda con esto? – jcolebrand

Respuesta

0

No sé realmente de un estándar aceptado, por lo general los veré almacenados como varchar (255) en los sistemas en los que he trabajado.

7

¿Ha considerado almacenar el usuario SID?

+1

SID sería más apropiado. No cambia incluso si se cambia el nombre del usuario. Puede ver dicho SID en algún momento cuando se borra un usuario y usted verifica el permiso en un archivo. Ver http://kb.iu.edu/data/aotl.html –

+0

Ver también http://msdn.microsoft.com/en-us/library/aa379571%28VS.85%29.aspx –

+0

Tiene sentido, aunque yo nunca lo he visto usado. ¿Qué tipo de datos sería? ¿Tendría que escribir el código de Active Directory de perro lento para asignarlo a algo legible? – cs31415

Cuestiones relacionadas