SQL Server에서 프로그래밍 방식으로 TCP 연결을 사용하려고합니다. 레지스트리 항목을 수정하고 SQL Server 서비스를 다시 시작하여이 작업을 수행 할 수 있다고 생각합니다. 어떤 레지스트리를 편집해야합니까?SQL Server 2005 및 2008에서 TCP를 활성화하는 레지스트리 설정은 무엇입니까?
5
A
답변
7
레지스트리를 직접 수정할만한 좋은 이유가 없으면 WMI
을 사용하는 것이 좋습니다. WMI는 더 많은 버전 독립적 인 구현을 제공합니다. WMI는 System.Management 네임 스페이스를 통해 액세스 할 수 있습니다. 이런 식으로 보이는 코드를 가질 수 있습니다. Sql Protocols 블로그 위의 코드가 무엇을하고 있는지에 관한 몇 가지 세부 사항으로 어울릴 article있다
using System.Management;
:
public void EnableSqlServerTcp(string serverName, string instanceName)
{
ManagementScope scope =
new ManagementScope(@"\\" + serverName +
@"\root\Microsoft\SqlServer\ComputerManagement");
ManagementClass sqlService =
new ManagementClass(scope,
new ManagementPath("SqlService"), null);
ManagementClass serverProtocol =
new ManagementClass(scope,
new ManagementPath("ServerNetworkProtocol"), null);
sqlService.Get();
serverProtocol.Get();
foreach (ManagementObject prot in serverProtocol.GetInstances())
{
prot.Get();
if ((string)prot.GetPropertyValue("ProtocolName") == "Tcp" &&
(string)prot.GetPropertyValue("InstanceName") == instanceName)
{
prot.InvokeMethod("SetEnable", null);
}
}
uint sqlServerService = 1;
uint sqlServiceStopped = 1;
foreach (ManagementObject instance in sqlService.GetInstances())
{
if ((uint)instance.GetPropertyValue("SqlServiceType") == sqlServerService &&
(string)instance.GetPropertyValue("ServiceName") == instanceName)
{
instance.Get();
if ((uint)instance.GetPropertyValue("State") != sqlServiceStopped)
{
instance.InvokeMethod("StopService", null);
}
instance.InvokeMethod("StartService", null);
}
}
}
이 코드는 System.Management.dll
에 대한 프로젝트 참조 다음과 같은 사용하여 문을 가정합니다.
참고 : 방화벽이 포트를 차단하는 경우에도 TCP를 통해 서버에 액세스 할 수 없습니다.
3
HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQLServer\SuperSocketNetLib\Tcp
하이브를 살펴보십시오. Enabled
, ListenOnAllIPs
과 같은 키와 수신 대기 할 IP 주소 목록이 있습니다.
관련 문제
- 1. SQL Server 2005 및 SQL Server 2008에서 SCHEMA의 차이점은 무엇입니까?
- 2. SQL Server 2008에서 SSRS 2005 보고서 열기
- 3. SQL Server 2005 Express에서 전체 텍스트 인덱싱을 활성화하는 방법은 무엇입니까?
- 4. SQL Server 레지스트리 오류
- 5. SQL Server 2008에서 SQL Server Compact Edition으로?
- 6. SQL Server 2005 및 APP_DATA
- 7. SQL Server 2005 및 2008 지원
- 8. 두 인스턴스의 SQL Server (2005 및 2008)
- 9. SQL Server 2005 커서
- 10. SQL Server 2005 및 '일반 네트워크 오류'
- 11. SQl Server 2005 Datatype
- 12. SQL Server 2005
- 13. SQL 2005-2008에서 행 잠그기
- 14. SQL Server 2000/2005/2008
- 15. SQL Server 2005 및 iTunes 라이브러리
- 16. SQL Server 2008에서 스크립트를 만드는 방법은 무엇입니까?
- 17. .NET 1.1 및 SQL Server 2005 SQL Server 기본 클라이언트
- 18. Sql Server 2005 데이터 형식
- 19. SQL Server 2005 트랜잭션
- 20. Sql Server 2005 Replication
- 21. SQL Server 2005
- 22. SQL Server 2005 sp_send_dbmail
- 23. SQL Server 2005 현지화
- 24. SQL Server 2005 보안
- 25. SQL Server 2005 업그레이드 SQL Server 2008
- 26. SQL Server 2005 on SQL Server 2000
- 27. SQL 서버 2005 익스프레스 에디션에서 TCP 사용
- 28. SQL Server 2008에서 SQL Server 2005 백업을 복원 할 수 있습니까?
- 29. mmc + sql server 2005 + sql server 2008에서 추가/제거 스냅인 문제
- 30. PHP with SQL Server 2005+
WMI – Rohit
@Rohit을 사용했지만 코드를 사용하지 않았습니다. 도움이 되었다니 기쁩니다. – VoidDweller