2017-09-14 4 views
0

5 개의 파일 그룹이있는 SQL 서버 데이터베이스가 있습니다. 2 개의 파일 그룹 (하나는 파일 스트림이 포함)을 백업하고 다른 기존 데이터베이스로 복원하려고합니다.다른 데이터베이스에 파일 그룹 복원

+0

당신이 "다른 기존 데이터베이스에"말을 무엇을 의미합니까 full 복구 모델에 대한 예입니다? 모든 복원은 복원 된 파일을 다시 작성합니다. "다른"데이터베이스가 동일한 구조를 갖는 것을 의미합니까? (데이터 파일의 수와 readwrite/readonly 상태를 의미합니까? – sepupic

+0

다른 번호와 파일 및 파일 그룹의 이름이있는 다른 데이터베이스 –

+0

해당 데이터베이스로 복원 할 때 아무 파일도 액세스 할 수 없습니다. 기본 mdf 파일은 다시 작성해야하며 새로 복원 된 데이터베이스는 복원 전에 어떤 파일을 가지고 있는지 전혀 알지 못합니다. 백업 된 원래 db의 파일에 대해서만 알 수 있습니다 – sepupic

답변

1

무슨 요구하는 것은 당신이 경우 당신은 primary + 모든 readwrite FG + 당신의 readonly 파일 그룹의 복원 simple 복구 모델에 또는 primary + 다른 파일 그룹 (들)을 복원 할 수 있습니다 Piecemeal Restores (SQL Server)

입니다 in full 복구 모델. 복원하는 첫 번째 파일 그룹으로

primary 파일 그룹, 그것은 (당신이 + 로그 파일을 기존의 MDF를 가리키는 with move를 사용해야합니다 당신의 restore 명령) 당신의 "다른 기존의 데이터베이스"기본 데이터 파일을 대체하고 기록합니다 항상 모든 이후의 복원은 다른 파일을 덮어 씁니다. "기존"데이터베이스의 내용은 남아 있지 않으므로 "기존의 다른 데이터베이스"로 복원 할 필요가 없습니다. 복원 한 파일 그룹 만 온라인 상태로 만들 수 있고 데이터베이스는 "기존 데이터베이스"의 나머지 파일에 대해서는 아무 것도 모릅니다. 따라서 다른 데이터베이스 (기존 데이터베이스가 아닌)로 복원하는 것과 똑같습니다. 여기

simple 복구 모델 Example: Piecemeal Restore of Only Some Filegroups (Simple Recovery Model)

을에 primary + readonly fg에 대한 복원 시퀀스 예입니다 그리고 여기 Example: Piecemeal Restore of Only Some Filegroups (Full Recovery Model)

+0

필자는 두 개의 데이터베이스 db1 (fg1, fg2, fg3)과 db2 (filegroups fg4, fg5, fg6)를 가지고 있는데, db1에서 fg2를 백업하고 복원하려고한다. db2 –

+0

이미 대답 했으므로 불가능합니다. 모든 단편적인 복원은 기본 파일 그룹의 필수 복원으로 시작됩니다. 그리고 db1의 fg1은이 데이터베이스가 fg1 만 가지고 있다는 것을 알게됩니다 및 fg2. fg4, fg5, fg6은 복원 된 데이터베이스의 일부가 아닙니다 – sepupic

+0

동일한 데이터베이스에 기본 데이터베이스를 복원하지 않고 일부 fg 만 복원 할 수는 있지만 그럴 수는 없습니다. 그리고 다른 db로 복원하면 복원 할 첫 번째 fg는 항상 PRIMARY입니다. – sepupic

관련 문제