SQL Server에서 80포트 사용
Windows Server 2008 + SQL Server 2008 이 설치된 서버에 아파치 웹서버를 올리려고 하는데 아래와 같이 이상한 메시지가 나온다.
Not Found
HTTP Error 404. The requested resource is not found.
어떤 서비스가 80포트를 서비스하는지 아래 명령을 찾아보았지만,
- > netstat -noa | find ":80"
- TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
TCP [::]:80 [::]:0 LISTENING 4
PID 4는 System 이었다!
- >tasklist /FI "PID eq 4"
- 이미지 이름 PID 세션 이름 세션# 메모리 사용
========================= ======== ================ =========== ============
System 4 Services 0 364 K
하는 수 없이 Wireshark로 패킷을 보면 Server 명을 찾을 수 있을 것이라고 생각했는데,
Microsoft-HTTPAPI/2.0 였다.
인터넷 검색을 해보니...
SQL Server Reporting Services(MSSQLSERVER)라는 서비스가 그런 일을 한다고 한다. => Microsoft HTTPAPI/2.0 disabling Apache
서비스 이름은 "ReportServer" 이다.
서비스를 멈추니...
- > net stop ReportServer
SQL Server Reporting Services(MSSQLSERVER) 서비스를 멈춥니다..
SQL Server Reporting Services(MSSQLSERVER) 서비스를 잘 멈추었습니다.
80 포트로 서비스하는 것이 없어졌다.
서비스의 시작유형을 보니 자동(AUTO_START)로 되어 있었다.
- > sc qc ReportServer
[SC] QueryServiceConfig 성공 - SERVICE_NAME: ReportServer
종류 : 10 WIN32_OWN_PROCESS
START_TYPE : 2 AUTO_START
ERROR_CONTROL : 1 NORMAL
BINARY_PATH_NAME : "D:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\bin\ReportingServicesService.exe"
LOAD_ORDER_GROUP :
태그 : 0
DISPLAY_NAME : SQL Server Reporting Services(MSSQLSERVER)
종속성 :
SERVICE_START_NAME : .\Administrator
시작유형을 수동으로 변경해주었다. (서버 재부팅시 포트 충돌이 발생할 수 있으므로)
- > sc config ReportServer start= demand
[SC] ChangeServiceConfig 성공
백업 및 복원
윈도우를 다시 설치해야 해서 데이터베이스를 풀백업을 했다가 복원을 하는데 아래와 같이 에러가 났다.
버전정보: http://www.sqlteam.com/article/sql-server-versions
백업은 2008 R2에서 해놓고 2008에서 복원을 하려고 하니깐 발생하는 에러였다.
상위 200개 행 편집 열 수정
SQL 2008에서는 행 선택 및 편집을 각각 1000개, 200개로 조건이 생겼다.
아마도 너무 많은 레코드를 동시에 편집을 하게 되면 부담이 되기 때문에 그런게 아닌게 생각 된다.
하지면 [도구]-[옵션]에 들어가면 상위 <n>개 행 선택/편집의 값을 변경을 할 수 있다.
테이블 SQL Server 인증모드 설정
SQL Server 인증모드 설정
SQL Server 2008 express를 설치했다.
2005에서와 마찬가지로 다음과 같은 에러 메시지가 뜬다.
설치할 때 서버 인증 모드를 "SQL Server 및 Windows 인증모드"로 선택을 했기에 SQL Server 인증모드로도 되야 하는데
Windows 인증모드로 밖에 접속이 되지 않는다.
해결방법
"SQL Server 구성 관리자 "에 들어가서 클라이언트 프로토콜을 "사용"으로 바꾸어 준다.
TCP/IP 속성에 들어가면 알 수 있듯이 TCP/IP를 이용한 SQL Server 접속포트는 1433이다.
SQL Server 서비스에 있는 SQL Server (SQLEXPRESS)를 재가동을 해본다.
그래도 접속이 되지 않을 것이다.
이유중 하나는 "SQL Server 네트워크 구성"이 제대로 되어 있지 않을 가능성이 크다.
IP All에 TCP 포트가 비어있는데 여기에 1433이라고 적어준다.
SQL Server 서비스에 있는 SQL Server (SQLEXPRESS)를 재가동을 해본다.
sa 아이디로 접속이 된다.
구지 Windows 인증으로도 접속이 되는데 TCP/IP를 이용한 접속이 되어야 한다는 사람도 있을 수 있지만,
데이터베이스라는 단독 클라이언트에서 접속이 되어 데이터를 이용하는 것 보다는
여러 애플리케이션에서 멀티 접속이 되는 경우가 더 많기 때문이다.
테이블 수정시
테이블을 만들고 난 후에 이후에 수정을 하려고 하니 '테이블을 삭제하고 다시만들라'는 어처구니 없는 메시지를 내뿜는다.
그러면 데이터가 엄청나게 들어가 있는 테이블은 데이터를 내보내기로 백업해두고 테이블을 지우고 새로 만든다음 다시 불러오라는 것인가?
그나저나 위의 저 옵션(다시 만들어야 하는 변경 내용 저장 사용 안 함)은 어디에 있는 거야??
인터넷을 찾아보니 해결방안을 잘 알려준다.. 역시 구글 신님이다...
해결방안
"SQL Server Management Studio"에서 [도구]-[옵션]에서
[디자이너]-[테이블 옵션]에서 "테이블을 다시 만들어야 하는 변경 내용 저장 사용 안 함"이 체크되어 있는데
해제를 해주면 된다. 이건 멍미!!!
이 글은 스프링노트에서 작성되었습니다.
'DB > MS SQL Server' 카테고리의 다른 글
Microsoft SQL Server Management Studio에서 수행가능한 스크립트 크기 (1) | 2014.07.09 |
---|---|
SQL Server 2008 설치된 곳에 80포트 404에러 (1) | 2012.09.06 |
뷰 관련 (0) | 2012.09.06 |
Management Studio 2008 (0) | 2012.09.05 |
xp_cmdshell 권한 (0) | 2012.09.05 |