'MSSQL 2005'에 해당되는 글 1건

  1. 2010/11/12 SQL Server 2003 뭐가 뭔지 모르겄네








SQL 서버를 만져야할거 같아서 설치해봤는데 역시나 체질에 안맞는다.
정리 좀 해야겠다.


######################## 커넥션 이슈 ##########################
"provider named pipes provider error 40 could not open a connection to sql server ~~"

- SQL Server Configuration Manager 의 모든 데몬을 기동(특히, SQL Server browser)
- protocols for MSSQLSERVER TCP/IP 를 enable 시킨다.
- 방화벽 체크

참조 : http://social.msdn.microsoft.com/forums/en-US/sqldataaccess/thread/c488cf76-2515-440f-b3f8-9cfad689c5b6/


######################### critical 이슈 ############################

높은 응답 성능을 위한 쿼리 작성 규칙(1)
참조 : http://sunnykwak.textcube.com/9

높은 응답 성능을 위한 쿼리 작성 규칙(2)
참조 : http://sunnykwak.textcube.com/10

MSSQL 2005 인덱스 고찰
참조 : http://blog.naver.com/ssayagain/90035554900


######################### SQL Server 일반 ############################

DB단위 백업
backup database 디비명 to disk='E:\test.db' with init

DB단위 복원
restore database 디비명 from disk='E:\test.db'


해당 테이블의 인덱스 보기
exec sp_helpindex 테이블명

해당 테이블의 모든정보 보기
exec sp_help 테이블명


MSSQL 테이블 관리
참조 : http://yjm.kr/demo1110/bbs/board.php?bo_table=asp&wr_id=7

엑셀 import
http://blog.naver.com/jinu5561?Redirect=Log&logNo=30082575406

SQL Server 2005의 OVER절
http://www.devpia.co.kr/MAEUL/Contents/Detail.aspx?BoardID=42&MAEULNO=17&no=68&page=2


[MS-SQL] MS-SQL 2005에 등장한 각종 순위 함수
http://blue1769.tistory.com/43

MSSQL 날짜 관련 함수
http://mean79.tistory.com/144


######################### ASP 일반 ############################
참조 : http://webstyledesign.tistory.com/category/Web%20Development/ASP

저장프로시저 호출 예제
http://blog.naver.com/ksotion?Redirect=Log&logNo=40105291172

ABC업로드 사용법
http://blog.naver.com/dmsal7777?Redirect=Log&logNo=130093813501

ABC업로드 세팅
http://byung2love.blog.me/140090245630


jQuery의 AJAX전송시 한글문제 좀더 편하게 풀어보자(jQuery.js 수정)
http://web.do-i.kr/entry/jQuery%EC%9D%98-AJAX%EC%A0%84%EC%86%A1%EC%8B%9C-%ED%95%9C%EA%B8%80%EB%AC%B8%EC%A0%9C-%EC%A2%80%EB%8D%94-%ED%8E%B8%ED%95%98%EA%B2%8C-%ED%92%80%EC%96%B4%EB%B3%B4%EC%9E%90


################ 좋은 저장프로시저를 위한 21가지 팁 ###################

1. 키워드
SQL 명령어는 대문자로 알아보기 쉽게 표시한다.

2. SQL-92
항상 ANSI 92 를 사용하도록 노력해야 합니다.

3. 변수
가능한 최소한으로 사용하여 캐쉬 공간에 여유를 주어야합니다.

4. 동적 쿼리
최소한으로 사용하여야한다. 동적쿼리에 따라 재컴파일이 된다.

5. 친숙한 전체 이름 사용
database_name.schema_name.table_name 으로 사용을 해야 하며,하며, CREATE PROCEDURE dbo.Your_Proc_name 처럼 사용해여 합니다.

6. SET NOCOUNT OFF
실행 결과 행은 네트워크 트래픽을 사용하게 되므로 주의해여주의해여 한다.

7. sp_ 접두어를 사용하지 않는다
시스템데이터베이스(MASTER) 와 사용자사용자 데이터베이스에 같은 이름의 저장프로시져가 있게 되면 사용자 데이터베이스는 결코결코 실행되지 않는다.

8. sp_executeSQL 과 KEEPFIXED PLAN 옵션
sp_executeSQLsp_executeSQL 과 KEEPFIXED PLAN 옵션은 저장프로시저를 재컴파일합니다. 만약 동적 SQLSQL 을 사용하려면 EXEC(proc_name) 대신에 sp_eecutesql 을 사용해야 합니다.

9. SELECT 와 SET
SELECT는 서로 다른 여러 변수를변수를 사용할수 있습니다. SET 은 하나의 변수만을 사용합니다.

SELECTSELECT @var1 = @var1 + 1, @var2 = @var2 - 1

SET @var1 = @var1 + 1
SET @var2 == @var2 - 1

10. WHERE 연산자
=, >, <,<, >=, <=, <>, !=, !>, ! 의 사용을 줄여야 합니다.
SQL Server 2008 Books Online (July 2009) Operator Precedence (Transact-SQL)

11. WHERE 연산자 추가
쉽게 LOWERLOWER 등의 연산자를 이용해서 대소문자를 구별하곤 하는데, OR 명령을 이용하는 편이 보다보다 빠른 처리를 할수 있습니다.


SELECT emp_name FROMFROM table_name WHERE LOWER(emp_name) = 'edu'


SELECT emp_nameemp_name FROM table_name WHERE emp_name = 'EDU' OR emp_name == 'edu'


또한 EXISTS  대신에 IN 연산자를 사용하면 보다 빠른빠른 처리가 가능합니다


SELECT * FROM employee WHEREWHERE emp_no NOT IN (SELECT emp_no from emp_detail)
SELECT ** FROM employee WHERE NOT EXISTS (SELECT emp_no FROM emp_detail)emp_detail)

12. CAST 와 CONVERT
CONVERT 보다 CAST 를 쓰도록 합니다. CAST 는 ANSI-92 지만 CONVERT 는 MSSQL 에서만 사용이 가능합니다. 다만 DATETIME 데이타타입의 변형에는 CONVERT 를 사용해야 합니다. CAST 는 안되거든요.

13. DISTINCT 와와 ORDER BY
추가적인 데이터베이스작업이 요구되기 때문에 굳이 필요하지 않다면 사용하지 않는않는 것이 좋습니다. 성능상 좋지 않습니다.



####################### er-win 체크 ##########################

Erwin에서 DataBase(MSSQL 2005)연결(Database Connection 메뉴)시 다음과 같은 메세지가 나타나면서 연결이 않되는 경우가 발생할 수 있다.

메 세지 : unable to locate client connectivty software .check with your database administrator to install the appropriate client software

원인을 알기위해 검색을 해본결과 다음과 같은 사실을 알게되었다.
"MSSQL 2005의 경우 기본적으로 네트워크 DB연결에 사용되는 DLL 파일이 설치되지 않습니다"

이게 문제였군..
해결방안도 함께 제시되어있었다.
해결방안 : C:WINDOWSsystem32 폴더 밑에 ntwdblib.dll 파일을 붙여 넣으시면 됨

아래 해당 파일을 첨부하였으니 이런 증상이 생기는분들은 필히 다운받으시길 기원합니다.

http://www.genesis.co.kr/php/technote6/board.php?board=freeboard&page=3&command=body&no=2024


er-win mssql 커넥션 3번째방법(접속됨)
참조 : http://nalnari.tistory.com/96




######################## 트러블슈팅 #########################

"잘못된 형식이거나 올바른 범위 밖에 있거나 서로 충돌하는 인수입니다."

-오류내용
ADODB.Recordset 오류 '800a0bb9'
잘못된 형식이거나 올바른 범위 밖에 있거나 서로 충돌하는 인수입니다.
/comic_3000/admins/sale_search/sale_search.asp, 줄 93

-설명
이 오류의 문제점은 첫번째로 DB의 경로가 없거나,
SQL 문이 잘못 되었거나,
잘못된 DB를 열었을 때 발생한다.

오류 발생시 먼저 DB의 경로를 확인하고,
SQL문에 오타가 있지 않은지 검사해 본다.

혹 위의 경우를 확인하였어도 문제가 없을 경우

<!--METADATA TYPE= "typelib"  NAME= "ADODB Type Library" FILE="C:\Program Files\Common Files\SYSTEM\ADO\msado15.dll"  -->

이 구문을 제일 위에 넣는다

참조 : http://loannes.tistory.com/133


당분간 계속 업데이트..