2014-11-22 9 views
0

VB.net을 사용하여 Sql Express 및 SQL Browser의 LogonMode (Not LoginMode) 및 StartMode를 변경한다고 가정합니다.

우리가 의미하는 것은 :
경우 이
다음
그것을 확인

하면 (StartMode는 SQL을 브라우저 <> 자동의) 경우 자동
최종 확인 (StartMode는 SQL을 익스프레스 <> 자동의) (SQL 익스프레스의 LogonMode <>가 NetworkService는) 다음
가 NetworkService그것을 확인하는 경우

경우 자동
종료이이 regedit를 임의의 키 값을 변경하여 수행 할 수있는 경우, 즉 쉽게 갈 것

경우 (SQL 브라우저 <>가 NetworkService의 LogonMode는) 다음
가 NetworkService와
끝을 확인하는 경우

경우
끝.
vb.net을 사용하여이 작업을 수행 할 수있는 방법이 있습니까?Vb.Net : SQLEXPRESS 및 SQLBROWSER의 LogonMode 및 StartMode

답변

0

RegEdit에서 우리는 마지막으로 Sql Express와 Sql Browser Service 값을 찾을 수있었습니다. ObjectName를
시작 모드는 다음과 같습니다 : 시작 (1 : 자동 3 : 수동 4 : 2 ChangePending, 장애인)

가 사용
링크 : \ SQLBrowser이
로그온 모드는 \ \ CurrentControlSet \ Services에 HKEY_LOCAL_MACHINE을 \ 시스템 다음 Vb.net 코드는 우리가 문제를 해결할 수 있습니다.

Imports Microsoft.Win32 

Private Sub ChangeSettings() 
    Dim RegKey As RegistryKey 

    'Changes for SQL Browser.' 
    RegKey = Registry.LocalMachine.OpenSubKey("System\\CurrentControlSet\\Services\\SQLBrowser", True) 
    If (RegKey.GetValue("ObjectName") <> "NT AUTHORITY\NetworkService") Then 
     RegKey.SetValue("ObjectName", "NT AUTHORITY\NetworkService", RegistryValueKind.String) 
    End If 
    If (RegKey.GetValue("Start") <> 2) Then 
     RegKey.SetValue("Start", 2, RegistryValueKind.DWord) 
    End If 

    'Changes for SQL Express.' 
    RegKey = Registry.LocalMachine.OpenSubKey("System\\CurrentControlSet\\Services\\MSSQL$SQLEXPRESS", True) 
    If (RegKey.GetValue("ObjectName") <> "NT AUTHORITY\NetworkService") Then 
     RegKey.SetValue("ObjectName", "NT AUTHORITY\NetworkService", RegistryValueKind.String) 
    End If 
    If (RegKey.GetValue("Start") <> 2) Then 
     RegKey.SetValue("Start", 2, RegistryValueKind.DWord) 
    End If 
End Sub