데이터베이스 개발자 질문과 답변 게시판
데이터베이스를 생성을 할려고 하는데..
'xxxx'를 이전에 생성하였다가 삭제해 본적은 있습니다.
삭제를 하였기에 당연히 데이터베이스는 없는데...
논리적 파일이름 'xxxx'이(가) 이미 사용되고 있습니다.
라고 뜹니다..
ㅡㅡ; 이건 어디서 확인을 하고, 삭제는 어떻게 해야 되는건가요?
Comment 7
-
깨비꼬비
2014.04.29 16:34
정확히 어떤 작업이냐 하면.... ㅡㅡ; 위에 써 있듯이. 데이터베이스를 생성 할려고 할때 납니다.데이터베이스 생성은 SSMS 에서 '데이터베이스 생성' 을 이용하였습니다.
현제 데이터베이스에는 같은 이름이 없습니다.
데이터베이스가 없는데. 논리적이름만 존재 한다고 하여...
이것을 확인하는 방법과, 확인이 된다면, 논리적 이름을 삭제 하는 방법을 문의 드립니다.
select name from sys.databases order by name asc 로 확인을 하였지만 생성할려는 데이터베이스명 xxxx는 없습니다..
-
Hisory
2014.04.29 16:48
db가 생성되는 폴더에 해당 파일이 존재하는거 아닌가여?
DB가 생성되는 폴더에 해당 파일을 지워보세여~
-
디스크상에 파일이 이미 존재한다면
파일 'C:\SQL Server\MSSQL10_50.SQL2008_A\MSSQL\DATA\xxx.mdf'은(는) 이미 있으므로 만들 수 없습니다. 파일 경로 또는 파일 이름을 변경한 다음 작업을 다시 시도하십시오.
CREATE DATABASE가 실패했습니다. 나열된 일부 파일 이름을 만들 수 없습니다. 관련 오류를 확인하십시오. (Microsoft SQL Server, 오류: 5170)
이렇게 에러가 납니다.
-
ALTER DATABASE가 아닌 CREATE DATABASE라면 현재 데이터베이스라는건 의미가 없을거 같습니다.
혹시 새 데이터베이스 대화상자에서 파일을 추가할때 논리적 이름을 xxxx라고 넣은것은 아닌지요?
새 데이타베이스를 만들때 기본적으로 데이터파일 하나와 로그파일 하나가 추가되는데 그 둘다 논리적 이름을 xxxx로 하신게 아닌가 생각되네요.
아니면 ssms의 새 데이터베이스 대화상자와 에러메시지 박스를 스캔해서 올려주시면 해결에 도움이 될거 같습니다.
-
깨비꼬비
2014.04.29 16:58
아... 네. ㅡㅡ; 둘다 xxxx로 하였습니다.. 그게 안되는 것이었군요;;; ㄳ합니다.
-
이스트럭(강동운)
2014.04.30 13:21
안녕하세요!
이런 말씀드려서 기분 나쁘실 수도 있겠지만..
ㄳ합니다라는 표현보단... 감사합니다가 좋지 않을까 합니다 ^^
감사합니다~~
정확히 어떤 작업을 할때 에러가 난것인지요??
제가 재현해본 바로는
ALTER DATABASE [DBNAME] MODIFY FILE (NAME=N'DB_log', NEWNAME=N'DB')
이렇게 논리적 이름을 수정하려 할때 에러가 났는데요.
데이터베이스 속성 대화상자의 파일 탭에서 이름을 수정하려고 할때도 동일합니다.
데이터베이스에는 여러 파일들이 추가 될 수 있는데요.
데이터파일 여러개 로그 파일 여러개...
이들은 각각 DISK상에 파일이름을 가지지만 SQL SERVER에서는 따로 논리적 이름이 붙습니다.
근데 이 논리적 이름들은 겹치면 안됩니다.
이미 존재하는 논리적 이름으로 수정하려 할때 나는 에러입니다.
SELECT * FROM SYS.DATABASE_FILES을 실행하면 논리적 이름을 확인 할 수 있습니다.
name 열이 논리적 이름 physical_name 열이 운영 체제 파일 이름입니다.