2014년 12월 10일 수요일

[MSSQL]SQL Server 2008 R2 EXPRESS 설치 후 외부접속 안될때

MSSQL 2008 R2 EXPRESS 설치 후 외부에서 접속시도를 했는데 안될때...


체크해 봐야 할 사항들


1. SQL Server 구성 관리자


시작 > 모든 프로그램 > Microsoft SQL Server 2008 R2 > 구성 도구 > SQL Server 구성 관리자
를 실행시키면 왼쪽 탭부분에 SQL Server 네트워크 구성 이라는 부분이 있을 것이다.
그 목록을 확장 시키면 하위 항목을 클릭해 보면
오른쪽 탭에 프로토콜 이름과 상태가 나올텐데
TCP/IP 의 상태가 사용 안 함 으로 되어있을 것이다.
그것을 오른쪽 클릭하여 사용으로 하고
더블클릭 하면 나오는 다이얼로그창에 IP주소 탭을 보면 IP1, IP2 등등 IPn 으로 쓰여진 항목들과 IPAll 에
입맛에 맞게 설정하면 된다.
잘 모르겠다면 TCP 포트는 기본 포트인 1433
활성은 예 로 설정하자
물론 보안상 좋지 않지만 연습중이라면 일단 이렇게 설정해놓고 외부접속이 되게한 다음
나중에 천천히 공부해 보라.


2. 컴퓨터이름


내컴퓨터 > 속성 > 컴퓨터이름 을 살펴보자.
이때 내 컴퓨터 이름에 한글이 섞여있다면 안될 가능성도 있다.
이부분은 자세히 확인은 안해보았지만... 찜찜하니 내 컴퓨터 이름을 영문으로 바꿔주자.




3. 윈도우 방화벽


Windows7 일 경우 제어판 > 시스템 및 보안
WindowsXP 일 경우 제어판 > 네트워크 및 인터넷 연결
을 살펴보면 Windows 방화벽 항목이 있는데
그곳에 규칙을 추가해 주자.
아마 디폴트로 설치했으면 아래와 같은 위치에
C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn <- 이곳
sqlservr 이라는 응용프로그램이 있을텐데
이 녀석을 예외규칙 혹은 인바운드규칙에 넣어주자






이렇게 했는데도 안된다...


그럼 혹시 모를 접속하려는 클라이언트 PC에서 셋팅을 확인도 한번 해보자.
위에 얘기한 SQL Server 구성 관리자 를 보면
SQL Native Client 10.0 구성
항목이 있는데 그걸 클릭해보면 오른쪽 탭에 이름, 순서, 사용 이 보일것이다.
그중에 TCP/IP 가 사용 으로 되어 있는지 보고
역시나 더블클릭해서 포트가 1433 으로 되어있는지 확인해보자.

[MSSQL]테이터 타입 변경



http://www.sqler.com/bSQL2009Lec




http://support.microsoft.com/kb/956176/ko






데이터 정의 언어 (DDL)를 사용 하 여 테이블을 수정할 때 Microsoft SQL Server 2008의 테이블을 저장 하려고 하면 다음과 같은 메시지가 나타날 수 있습니다.


변경 내용을 저장할 수 없습니다. 변경 내용이 다음 테이블을 삭제 하 고 다시 생성 해야 합니다. 대 중 하나는 변경 테이블에 변경 내용을 저장 안 함 옵션을 사용 또는 다시 만들 수 있는 테이블을 다시 만들어야 할.





테이블에 하나 이상의 다음 변경 내용을 확인 하 고 테이블 다시 생성 해야 하는 변경 내용을 저장 안 함 옵션을 사용 하면이 문제가 발생 합니다.
열의 Null 허용 설정을 변경합니다
테이블의 열 순서를 변경 하는.
열 데이터 형식 변경
새 열을 추가 합니다.

테이블의 메타 데이터 구조를 변경 하 고 다음 테이블을 저장 하는 테이블을 변경할 때 테이블 다시 만들어야이 변경 내용을 기반으로 합니다. 테이블을 다시 작성 하는 동안 메타 데이터 손실에서 및 직접 데이터 손실이 발생할 수 있습니다이. SQL Server Management Studio (SSMS) 옵션 창의 디자이너 섹션에서 테이블 다시 생성 해야 하는 변경 내용을 저장 안 함 옵션을 사용 하는 경우 "현상" 절에 나와 있는 오류 메시지가 나타납니다.





이 문제를 해결 하려면 Transact SQL 문을 사용 하 여 테이블의 메타 데이터 구조를 변경 합니다.









예를 들어 MyDate 형식으로 날짜 시간 테이블 열을 변경 하려면 MyTable 에서는 NULL 값을 허용 하도록 호출:






alter table MyTable alter column MyDate7 datetime NULL







중요 한 하면이 문제를 해결 테이블 재생성 필요한 변경 내용을 저장 안 함 옵션을 해제 하면 작동 하지 않고 하는 것이 좋습니다. 이 옵션을 해제의 위험에 대 한 자세한 내용은 "추가 정보" 절을 참조 하십시오.





Microsoft는 "적용 대상" 절에 나열한 제품에서 버그는 확인 했습니다.





테이블 다시 생성 해야 하는 변경 내용을 저장 안 함 옵션을 변경 하려면 다음과이 같이 하십시오.
SQL Server Management Studio (SSMS)를 엽니다.
도구 메뉴에서 옵션을 클릭합니다.
옵션 창의 탐색 창에서 디자이너를 클릭 합니다.
선택 또는 테이블 다시 생성 해야 하는 변경 내용을 저장 안 함 확인란의 선택을 취소 하 고 확인을 클릭 합니다.

참고
"테이블 다시 생성 해야 하는 변경 내용을 저장 안 함" 옵션을 해제 하면 위험

이 옵션을 해제 하면 테이블을 다시 만들지 않도록 데 도움이 됩니다, 하지만 변경 내용이 손실 될 수도 있습니다.




테이블에 대해 변경 내용 추적 기능을 사용할지를 확인 하려면 다음과이 같이 하십시오.
SQL Server Management Studio 개체 탐색기에서 테이블을 찾습니다.
테이블을 마우스 오른쪽 단추로 클릭 한 다음 속성을 클릭 합니다.
표 속성 대화 상자에서 변경 내용 추적을 클릭 합니다.

변경 내용 추적 항목의 값이 True인 경우이 옵션은 테이블에 대해 활성화 됩니다. 값이 False이면이 옵션이 비활성화 됩니다.




변경 내용 추적 기능을 사용 하면 Transact SQL 문을 사용 하 여 테이블의 메타 데이터 구조를 변경.
문제를 재현 하는 단계
SQL Server Management Studio 테이블 디자이너 도구에서 기본 키를 포함 하는 테이블을 만듭니다.
이 테이블이 포함 된 데이터베이스를 마우스 오른쪽 단추로 클릭 한 다음 속성을 클릭 합니다.
데이터베이스 속성 대화 상자에서 변경 내용 추적을 클릭 합니다.
변경 내용 추적 항목의 값을 True를 설정 하 고 확인을 클릭 합니다.
테이블을 마우스 오른쪽 단추로 클릭 한 다음 속성을 클릭 합니다.
표 속성 대화 상자에서 변경 내용 추적을 클릭 합니다.
변경 내용 추적 항목의 값을 True를 설정 하 고 확인을 클릭 합니다.
도구 메뉴에서 옵션을 클릭합니다.
옵션 대화 상자에서 디자이너를 클릭 합니다.
테이블 다시 생성 해야 하는 변경 내용을 저장 안 함 확인란을 선택 하 고 다음을 클릭 확인 합니다.
테이블 디자이너 도구에서 기존 열에서 Null 허용 설정을 변경 합니다.
테이블에 변경 내용을 저장 하십시오.