Buat komputer lokal bisa set Authentication Mode dengan akses registry dari Delphi, terus gimana kalo akses dari komputer lain? Salah satu cara adalah dengan menggunakan extended stored procedure. Extended stored procedure yang diperlukan adalah xp_regread dan xp_regwrite yang tidak didokumentasikan tapi ada pada database master. Langkahnya sama dengan posting sebelumnya. Berikut ini adalah stored procedure untuk membaca dan mengganti nilai dari registry. Stored procedure dengan nama uspSetSQLServerAuthMode mempunyai satu parameter tipe integer. Jika parameter tersebut diisi 1 maka modenya adalah SQL Server and Windows Authentication mode, selain nilai 1 modenya adalah Windows Authentication mode.
CREATE PROCEDURE uspSetSQLServerAuthMode(@MixedMode INT)
AS
BEGIN
  DECLARE @InstanceName VARCHAR(100)
  DECLARE @Key VARCHAR(150)
  DECLARE @LoginMode INT
  EXEC master..xp_regread 'HKEY_LOCAL_MACHINE',
    'Software\Microsoft\Microsoft SQL Server\Instance Names\SQL\',
    'MSSQLSERVER', @InstanceName OUTPUT
  SET @Key = 'Software\Microsoft\Microsoft SQL Server\' + @InstanceName + '\MSSQLServer\'
  IF @MixedMode = 1
    SET @LoginMode = 2
  ELSE
    SET @LoginMode = 1
  EXEC master..xp_regwrite 'HKEY_LOCAL_MACHINE', @Key,
    'LoginMode', 'REG_DWORD', @LoginMode
END
03 April 2009
Mengganti Authentication Mode pada SQL Server dari Skrip SQL
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar