Azure 관리 콘솔에서 "내보내기"옵션을 사용하여 Azure SQL 데이터베이스의 BACPAC 백업을 만들었습니다.
이것을 내 컴퓨터에 다운로드 한 후 로컬 SQL Server 인스턴스로 복원하는 방법에 약간의 어려움이 있습니다. DacImportExportCli 도구를 발견했지만 로컬 복원의 예를 찾을 수 없습니다.
또한 누군가가 이것을 수행하는 스크립트를 작성했다면 (스케줄 가능) 훌륭합니다.
Azure 관리 콘솔에서 "내보내기"옵션을 사용하여 Azure SQL 데이터베이스의 BACPAC 백업을 만들었습니다.
이것을 내 컴퓨터에 다운로드 한 후 로컬 SQL Server 인스턴스로 복원하는 방법에 약간의 어려움이 있습니다. DacImportExportCli 도구를 발견했지만 로컬 복원의 예를 찾을 수 없습니다.
또한 누군가가 이것을 수행하는 스크립트를 작성했다면 (스케줄 가능) 훌륭합니다.
답변:
이 작업은 SQL Server Management Studio 2012를 통해 간단히 수행 할 수 있습니다.
SQL Azure 데이터베이스를 내 보낸 다음 로컬 SQL 2008 R2 서버로 가져와야했습니다 (참고 : Visual Studio 2010도 사용하고 있습니다). 마이크로 소프트는이 작업을 고통스러운 작업으로 만들기 위해 확실히 나섰지 만 다음과 같은 방법으로 할 수있었습니다.
이 링크 ( http://msdn.microsoft.com/en-us/jj650014)로 이동 하여 Visual Studio 2010 용 SQL Server 데이터 도구를 설치하십시오.
로컬 드라이브에 설치됩니다. 필자의 경우 여기에 C : \ Program Files (x86) \ Microsoft SQL Server \ 110 \ DAC \ bin이 있습니다.
커맨드 라인 또는 powershell을 통해이를 찾아보십시오
SqlPackage.exe를 실행하려고합니다.
SqlPackage.exe에 대한 모든 매개 변수 옵션 목록을 보려면이 링크를 엽니 다 ( http://msdn.microsoft.com/en-us/library/hh550080(v=vs.103).aspx )
.bacpac 파일을 로컬 SQL 2008 R2 서버로 가져 오기 위해 실행해야하는 명령 줄은 다음과 같습니다.
. \ SqlPackage.exe / a : 가져 오기 /sf:C:\mydatabasefile.bacpac / tdn : NorthWind / tsn : BINGBONG
/tdn
bacpac 파일을 복원 할 데이터베이스의 이름입니다.
/tsn
SQL 서버의 이름입니다.
# 5의 링크에서 이러한 모든 매개 변수 설명을 볼 수 있습니다.
클라이언트 측 도구를 사용하여 BACPAC를 복원 할 수 있습니다. 비디오는 다음과 같습니다.
http://dacguy.wordpress.com/2011/09/09/importexport-services/
도구는 여기에서 사용할 수 있습니다.
내기도가 응답 된 것 같습니다. Redgate는 오늘 무료로 SQL Azure 백업 도구를 시작했습니다-http: //www.red-gate.com/products/dba/sql-azure-backup/download
SSMS 2012를 사용하는 경우 개체 탐색기에서 서버 아래의 데이터베이스 폴더를 마우스 오른쪽 단추로 클릭하고 "데이터 계층 응용 프로그램 가져 오기 ..."를 선택하는 것만 큼 쉽습니다.
조심해야 할 길이 하나 있습니다. 2013 년 3 월 26 일 (자기 해결 방법을 찾아야 할 때)부터 Azure에서 .bacpac를 내 보내면 .zip 파일로 다운로드됩니다. 하지 .bacpac 파일, 오직 하나 * .bacpac 또는 표시됩니다 가져 오기 마법사에서 찾아보기 버튼에 의해 열린 파일 대화 상자 . 파일 필터에서 .zip이 지원되지 않음을 나타냅니다. 그러나, 당신은에 필터를 변경하는 경우 . 다운로드 한 .zip을 선택하고 다음을 클릭하면 마법사가 정상적으로 진행됩니다.
다음은 한 번에 여러 개의 bacpac 파일을 복원하는 스크립트입니다. 대량 복구 bacpac 파일 로컬
cd [FOLDERPATH]
$goodlist = dir
cd 'C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin'
foreach($i in $goodlist){ $name = $i.Name; $namer = $i.Name.Substring(0, $i.Name.length - 7); .\SqlPackage.exe /a:Import /sf:[FOLDERPATH]\$name /tdn:$namer /tsn:[SERVERNAME] }