2012-08-15 13 views

Respuesta

12

Aquí es lo que hace Management Studio para cambiar el modo de autenticación entre la confusión y sólo Windows:

EXEC xp_instance_regwrite 
    N'HKEY_LOCAL_MACHINE', 
    N'Software\Microsoft\MSSQLServer\MSSQLServer', 
    N'LoginMode', 
    REG_DWORD, 
    1; 

Y a partir de sólo Windows de nuevo a mixta:

EXEC xp_instance_regwrite 
    N'HKEY_LOCAL_MACHINE', 
    N'Software\Microsoft\MSSQLServer\MSSQLServer', 
    N'LoginMode', 
    REG_DWORD, 
    2; -- only difference is right here 

puede llamar a la misma orden de varias fuentes que pueden conectarse a SQL Server como SQLCMD, PowerShell, VBScript, C#, etc. O puede iniciar sesión directamente en el servidor, navegar a esa clave de registro y cambiar el valor manualmente (como se sugirió @marc_s).

Tenga en cuenta que en todos los casos debe reiniciar SQL Server para que los cambios surtan efecto. Puede ver las primeras varias entradas en el nuevo registro de errores al reiniciar para validar que el modo de autenticación es correcto. Se dirá (por mixto):

date/time Server Authentication Mode is MIXED. 
+0

Nota: para una instancia con nombre, este el valor se encuentra en 'HKLM \ Software \ Microsoft \ Microsoft SQL Server \ {Nombre de instancia} \ MSSQLServer \ LoginMode'. – Mitch

+2

@Mitch, eso es cierto si está cavando en el registro usted mismo. Sin embargo, al usar 'xp_instance_regwrite', el objetivo de todo esto es traducir' ... \ MSSQLServer \ MSSQLServer \ ... 'a su rama específica de la instancia, p. '... \ Microsoft SQL Server \ {Instance Name} \ MSSQLServer \ ...' - si tiene un caso donde eso no funciona, por favor demuéstrelo. –

+0

Hmm. No me di cuenta de que 'xp_instance_regwrite' arreglaría la ruta. Gracias. – Mitch

Cuestiones relacionadas