
클라이언트의 SQL 2000 데이터베이스를 백업해야 하지만 몇 가지 문제로 인해 기존 방법으로는 백업을 수행할 수 없습니다. SQL Management Studio Express를 사용해 보았지만 호스트가 백업을 생성할 수 있는 충분한 권한을 부여하지 않고 이상한 오류 메시지가 나타납니다. 또한 "스크립트 생성"을 수행하여 스키마를 다시 생성한 다음 DTS 마법사를 사용하여 데이터를 마이그레이션하려고 시도했지만 ID 사양 속성으로 설정된 ID가 복사된 후 라이브 데이터베이스와 일치하지 않습니다. 이로 인해 외래 키가 파손되는 결과가 발생합니다.
내 기억이 맞다면 이전에는 Microsoft SQL 2000 Enterprise Manager를 사용하여 작업을 수행할 수 있었지만 어디서도 찾을 수 없습니다. Microsoft가 해당 사이트에서 대부분의 SQL Server 2000 항목을 가져온 것 같습니다.
Enterprise Manager 사본(또는 구성 요소와 함께 제공되는 SQL Server 2000 평가판)을 어디서 찾을 수 있는지 아는 사람이 있습니까? 아니면 반대로, 원격 SQL Server 2000 DB를 미러링할 수 있는 다른 도구(비상업적이면 더 좋음)를 아는 사람이 있습니까?
감사해요!
답변1
그만큼마이크로소프트 다운로드 센터서비스 팩을 사용할 수 있지만 SP 설치 프로그램에서 클라이언트 도구를 직접 설치할 수 있는지 여부는 확실하지 않습니다.
답변2
명령줄 클라이언트 "osql.exe"를 찾아서 사용하여 인스턴스에 연결합니다. 이를 통해 Transact SQL 명령을 실행할 수 있으며 sql2000(및 SQL Server 7.0 및 SQL Server 6.5, IIRC)과 함께 제공됩니다. 최신 버전의 SQL Server에서는 "sqlcmd.exe"라는 유사한 도구를 제공합니다. 다른 '클라이언트 도구' 설치 여부에 관계없이 osql.exe 또는 sqlcmd.exe가 있어야 합니다. 최악의 경우 탐색기 등을 사용하여 SQL Server 바이너리가 설치된 드라이브를 검색할 수 있습니다.
dir c:\osql.exe /s
CLI를 사용하여 인스턴스에 연결한 후 백업 명령을 실행하면 됩니다. 온라인에는 많은 예가 나와 있습니다. Microsoft는 더 이상 SQL Server 2000에 대한 설명서를 온라인으로 제공하지 않습니다.SQL Server 2005에 대한 설명서는 여기에 있습니다.. 명령을 단순하게 유지하고 새로운 기능(예: 백업 압축)을 피하는 한, 백업 명령(및 복원 명령)의 구문은 2000년과 2005년(또는 2012년) 사이에 크게 변경되지 않았습니다. sql2000 인스턴스에 대한 가장 간단한 백업은 다음과 같습니다.
backup database my_databasename to disk = 'c:\backups\my_databasename.bak' with init
go
"go"가 필요합니다. 그렇지 않으면 명령이 실행되지 않습니다. 경로가 존재하는지, 그리고 SQL Server 서비스가 해당 경로에 쓸 수 있는 로그인 권한을 갖고 있는지 확인하십시오. 백업 파일에 UNC 경로를 사용할 수 있지만 때로는 권한/보안 등으로 인해 로컬로 백업하는 것이 더 쉽습니다.