database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 3657 게시물 읽기
No. 3657
SQL Express 를 사용중이고요. DB를 수시로 Detatch 및 Attach합니다. 그러나...
작성자
청년재벌
작성일
2007-07-27 15:40ⓒ
2007-07-27 17:06ⓜ
조회수
2,819

/* ATTACH하는 프로시저입니다. */
ALTER PROCEDURE DB_ATTACH
 @db_name sysname
AS
BEGIN
 DECLARE @sql varchar(8000)

 SET @sql =        'EXEC sp_attach_db ' + quotename(UPPER(@db_name)) + ', ' + quotename(@db_name) + ';'
 
 SET @sql = @sql + 'ALTER DATABASE ' + quotename(UPPER(@db_name))
 SET @sql = @sql + '  SET TRUSTWORTHY ON'

 EXEC(@sql)
END

/* DETACH하는 프로시저입니다. */
ALTER PROCEDURE DB_DETATCH
 @db_name sysname
AS
BEGIN
 DECLARE @sql varchar(8000)

 SET @sql =        'ALTER DATABASE ' + quotename(UPPER(@db_name))
 SET @sql = @sql + '  SET SINGLE_USER WITH ROLLBACK IMMEDIATE'
 
 SET @sql = @sql + ' EXEC sp_detach_db ' + quotename(UPPER(@db_name))

 EXEC(@sql)
END


업무의 특성상 사용자가 DB를 지속적으로 DETATCH 하고 ATTACH하고를 반복합니다.
물론 SQL DB Engine은 사용자 PC에 설치되어 있고요.

여기저기 자문을 구하고 또 MSDN을 찾아본 결과 Detatch하고 Attach는 성공적으로 됩니다. 그러나 항상 새로 Attach된 DB에서 쿼리를 날리면 첫번째 쿼리에서 "서버로 요청을 보내는 동안 전송 수준 오류가 발생했습니다. (provider: 명명된 파이프 공급자, error: 0 - 파이프의 다른 끝에 프로세스가 없습니다.)"라는 오류가 뜨는데요. 신기하게도 두번째 쿼리에서 부터는 문제가 없습니다.

지금까지 디버깅해보면서 추측하는바로는 DB를 ATTACH하고 SELECT * FROM sys.sysdatabases 를 실행시켰을때 나오는 목록상에서 version이 NULL일때 이런문제가 발생한다는 것이고요. 첫번째 쿼리에서 실패후 다시 위의 쿼리를 날려보면 역시 version은 NULL. 그 다음 업무쿼리(두번째) 날린후 다시 확인하면 version이 611로 변경되어 있습니다. 그 이후론 잘됩니다.
Attach할때 뭔가 옵션이 빠진듯한데...
도움을 주실분 안계신가요??? ㅠ,.ㅜ 어디가서 물어봐야하나요?

[Top]
No.
제목
작성자
작성일
조회
3661MSSQL에서 PostgreSQL을 연결된 서버 설정시 멈춤니다.
민재홍
2007-07-30
2415
3660필드명을 지을때 궁금한점 있어 질문 올립니다.
박인규
2007-07-30
2000
3659리플리케이션 기능이 있나요? [1]
손영민
2007-07-27
2164
3657SQL Express 를 사용중이고요. DB를 수시로 Detatch 및 Attach합니다. 그러나...
청년재벌
2007-07-27
2819
3656MS-SQL 원격접속이 되지 않습니다. [1]
김영필
2007-07-27
4896
3655sql이 너무 느려요.. 혹시 메모리 부족인가요?
ecch
2007-07-27
2423
3652쿼리 질문 [1]
손님
2007-07-26
2294
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.024초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다