누구나 SQL Azure 데이터베이스를 개발 컴퓨터에 복사하는 방법을 알고 있습니까? 클라우드에 개발 데이터베이스를 설치하기 위해 비용을 지불하고 싶지 않지만 프로덕션 데이터를 얻는 가장 좋은 방법입니다. 프로덕션 데이터베이스를 새로운 개발 데이터베이스에 복사하지만 동일한 데이터베이스를 로컬로 만들고 싶습니다.
어떤 제안?
누구나 SQL Azure 데이터베이스를 개발 컴퓨터에 복사하는 방법을 알고 있습니까? 클라우드에 개발 데이터베이스를 설치하기 위해 비용을 지불하고 싶지 않지만 프로덕션 데이터를 얻는 가장 좋은 방법입니다. 프로덕션 데이터베이스를 새로운 개발 데이터베이스에 복사하지만 동일한 데이터베이스를 로컬로 만들고 싶습니다.
어떤 제안?
답변:
이를 수행하는 여러 가지 방법이 있습니다.
data
테이블 에서만 가져옵니다 . 열 속성, 제약 조건, 키, 인덱스, 저장 프로 시저, 트리거, 보안 설정, 사용자, 로그온 등은 전송되지 않습니다. 그러나 매우 간단한 프로세스이며 SQL Server Management Studio에서 마법사를 통해 간단하게 수행 할 수 있습니다.방법 # 1에 대한 수동 절차 (SSIS 사용)는 다음과 같습니다.
SSIS 패키지를 작성하고 데이터를 다시 가져 오려면 언제든지 다시 실행하여이를 자동화 할 수 있습니다. SSIS를 사용하여 깨끗한 DB로만 가져올 수 있으며 이미 한 번 수행 한 후에는 로컬 데이터베이스에 대한 증분 업데이트를 수행 할 수 없습니다.
방법 # 2 (SSID 데이터와 스키마 객체)는 매우 간단합니다. 먼저 위에서 설명한 단계를 수행 한 다음 DB 생성 스크립트를 생성하십시오 (SSMS에서 데이터베이스를 클릭하고 스크립트 생성-> 데이터베이스 생성을 선택하십시오). 그런 다음 로컬 데이터베이스에서이 스크립트를 재생하십시오.
방법 # 3 은 블로그 ( http://dacguy.wordpress.com/2012/01/24/sql-azure-importexport-service-has-hit-production/ )에 설명되어 있습니다 . DB 콘텐츠를 BACPAC로 Azure Blob 저장소에 전송하는 프로세스가 포함 된 비디오 클립이 있습니다. 그런 다음 파일을 로컬로 복사하여 SQL 인스턴스로 가져올 수 있습니다. BACPAC를 Data-Tier 응용 프로그램으로 가져 오는 프로세스는 http://msdn.microsoft.com/en-us/library/hh710052.aspx에 설명되어 있습니다 .
Azure 데이터베이스 데이터를 로컬 데이터베이스에 복사 : 이제 SQL Server Management Studio를 사용하여 아래와 같이 할 수 있습니다.
"다음"/ "다음"/ "마침"
dumbledad의 답변을 단순화 된 버전으로 추가하고 싶었습니다 .
SQL Server 2016 Management Studio에서는 Azure 데이터베이스를 로컬 컴퓨터로 가져 오는 프로세스가 간소화되었습니다.
가져올 데이터베이스를 마우스 오른쪽 단추로 클릭하고 태스크> 데이터 계층 애플리케이션 내보내기를 클릭 한 후 데이터베이스를 로컬 .dacpac 파일로 내보내십시오.
로컬 대상 SQL Server 인스턴스에서 데이터베이스> 데이터 계층 애플리케이션 가져 오기를 마우스 오른쪽 단추로 클릭 하고 로컬 인 후에는 데이터베이스 백업 및 복원과 같은 작업을 수행 할 수 있습니다.
나는 지금 훨씬 더 쉽다고 생각합니다.
또한 Sql Backup 및 FTP ( https://sqlbackupandftp.com/ )를 사용하여 보안 FTP 서버에 매일 백업을 수행합니다. 최근 BACPAC 파일을 가져와 동일한 대화 상자에서 가져와 로컬 데이터베이스를 더 빠르고 쉽게 만들 수 있습니다.
Windows Azure 관리 포털에서 SQL Azure 데이터 동기화 를 확인할 수도 있습니다 . SQL Azure와 SQL Server 간의 스키마 및 데이터를 포함하여 전체 데이터베이스를 검색하고 복원 할 수 있습니다.
꽤 쉽습니다. 이것은 Azure SQL 데이터베이스를 로컬 컴퓨터로 가져 오는 것과 관련하여 저에게 효과적이었습니다.
그러나 스크립트뿐만 아니라 데이터도 원하는 경우 생성을 시작하기 전에 고급 옵션을 확인해야합니다. "스크립트 유형의 데이터"로 스크롤하여 " "스키마와 데이터"... 또는 당신에게 적합한 모든 것.
멋진 SQL 스크립트 파일을 제공하여 로컬 컴퓨터에서 실행할 수 있으며 데이터베이스를 생성하고 모든 데이터로 채울 것입니다.
필자의 경우 FK 또는 다른 제약 조건이 없습니다. 또한 많은 데이터가 아닙니다.
나는 이것을 일반적으로 백업 메커니즘으로 권장하지 않습니다 ...
sqlcmd /S <server> /d <database> -E -i <azure_dump.sql>
msdeploy.exe
주의 사항 : msdeploy.exe
대상 데이터베이스를 자체적으로 만들지 못하므로 먼저 수동으로 만들어야합니다.
다음 msdeploy.exe
과 같이 실행하십시오 .
"c:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -dest:dbDacFx="destination_DB_connection_string",dropDestinationDatabase=true -source:dbDacFx="azure_DB_connection_string",includeData=true -verbose
SqlPackage.exe
Azure DB를 bacpac 패키지로 내 보냅니다.
"c:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\SqlPackage.exe" /a:Export /ssn:"azure_db_server" /sdn:"azure_db_name" /su:"user_name" /sp:"password" /tf:"file.bacpac"
패키지를 로컬 DB로 가져옵니다.
"c:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\SqlPackage.exe" /a:Import /SourceFile:"file.bacpac" /TargetServerName:".\SQLEXPRESS" /TargetDatabaseName:CopyOfAzureDb
이것을 시도하십시오 : http://mooneyblog.mmdbsolutions.com/index.php/2011/01/11/simple-database-backups-with-sql-azure/ .
다른 대안은 SQL Azure Data Sync 입니다.
며칠 전에 실행 한 블로그 게시물이 하나 더 있지만 지금은 찾을 수 없습니다. 이 게시물을 찾 자마자 업데이트하겠습니다.
'읽기 전용 열 "id"에 오류가 발생하여 SSIS 가져 오기 / 내보내기를 수행 할 수 없습니다. http://sqlazuremw.codeplex.com/ 도 얻을 수 없습니다 을 작동 없으며 위의 SQL Azure Data Sync 링크가 작동하지 않습니다.
그러나 BACPAC 파일에 대한 훌륭한 블로그 게시물을 발견했습니다. http://dacguy.wordpress.com/2012/01/24/sql-azure-importexport-service-has-hit-production/
에서 포스트에서 비디오 블로그 게시물의 저자는 여섯 단계를 실행합니다 :
Azure 관리 포털에서 저장소 계정을 만들거나 이동합니다. 저장소 계정의 Blob URL과 기본 액세스 키가 필요합니다.
블로그 게시물은 bacpac 파일을위한 새 컨테이너를 만드는 것을 권장하고 Azure 저장소 탐색기 를 사용하도록 제안 합니다. (NB : Azure 저장소 탐색기에 추가하려면 저장소 계정의 Blob URL 및 기본 액세스 키가 필요합니다.)
Azure 관리 포털에서 내보낼 데이터베이스를 선택하고 리본의 가져 오기 및 내보내기 섹션에서 '내보내기'를 클릭하십시오.
결과 대화 상자에는 데이터베이스, Blob URL 및 액세스 키에 대한 사용자 이름과 비밀번호가 필요합니다. Blob URL에 컨테이너를 포함하고 파일 이름을 포함하는 것을 잊지 마십시오 (예 : https://testazurestorage.blob.core.windows.net/dbbackups/mytable.bacpac ).
완료를 클릭하면 데이터베이스가 BACPAC 파일로 내보내집니다. 시간이 걸릴 수 있습니다. Azure 저장소 탐색기를 체크인하면 0 바이트 파일이 즉시 표시 될 수 있습니다. 이는 가져 오기 / 내보내기 서비스로 Blob-store에 대한 쓰기 권한이 있는지 확인합니다.
완료되면 Azure 저장소 탐색기를 사용하여 BACPAC 파일을 다운로드 한 다음 SQL Server Management Studio에서 로컬 서버의 데이터베이스 폴더를 마우스 오른쪽 단추로 클릭하고 데이터 계층 응용 프로그램 가져 오기를 선택하여 BACPAC 파일에서 읽을 마법사를 시작합니다. Azure 데이터베이스의 복사본을 생성하십시오. BACPAC 파일을 로컬로 먼저 복사하지 않으려면 마법사가 blob-store에 직접 연결하여 BACPAC 파일을 얻을 수도 있습니다.
마지막 단계는 SQL Server Management Studio의 SQL Server 2012 버전 (현재 실행중인 버전)에서만 사용할 수 있습니다. 이 컴퓨터에는 이전에 확인할 것이 없습니다. 블로그 게시물에서 저자는 http://sqldacexamples.codeplex.com/releases 에서 사용할 수 있다고 생각하는 가져 오기에 명령 줄 도구 DacImportExportCli.exe를 사용합니다 .
허용 된 답변이 오래되었습니다. 더 나은 답변을 찾았습니다 : 데이터 계층 응용 프로그램 가져 오기 사용
자세한 내용은이 문서 : Azure SQL 데이터베이스를 로컬 서버로 복원을 참조하십시오.
"SQL 데이터베이스 마이그레이션 마법사"도구를 사용해 볼 수 있습니다. 이 도구는 Azure SQL에서 데이터를 가져오고 내보내는 옵션을 제공합니다.
자세한 내용은 여기를 확인하십시오.
새로운 Azure Mobile Services를 사용하여 SQL Azure에서 Azure Storage에 호스팅 된 .bacpac 파일로 야간 백업 내보내기를 수행 할 수 있습니다. 이 솔루션은 100 % 클라우드이며 타사 도구가 필요 없으며 로컬 호스팅 SQL Server 인스턴스가 없어도 다운로드 / 복사 / 백업 할 수 있습니다.
약 8 단계가 있지만 모두 쉽습니다 : http://geekswithblogs.net/BenBarreth/archive/2013/04/15/how-to-create-a-nightly-backup-of-your-sql-azure .aspx
나는 항상 가장 쉬운 것 인 가져 오기 / 내보내기 기능을 사용합니다.
1 단계:
다음과 같이 Azure 인스턴스에서 백업을 가져옵니다. 데이터베이스를 선택하고 → 마우스 오른쪽 버튼을 클릭하고 → 작업 → 데이터 계층 응용 프로그램 내보내기를 클릭합니다.
2 단계 : 백업 파일의 특정 이름을 지정하고 원하는 위치에 저장
3 단계 : 데이터베이스 인스턴스를 SQL 인스턴스에서 로컬로 가져 왔습니다. 로컬로 복원 할 수 있습니다. 백업 된 데이터베이스를 C 드라이브에 복사하십시오. 이제 관리자 권한으로 PowerShell을 열고 C 드라이브로 이동하십시오.
4 단계 : powershell 스크립트를 다운로드하여 마스터 키 를 제거합니다. 은이 경우 C의 동일한 드라이브에 스크립트를 갖습니다.
5 단계 : . \ RemoveMasterKey.ps1 -bacpacPath "C : \ identity.bacpac"스크립트를 실행하십시오.
이제 로컬 환경의 MSSQL 2017에서 복원 할 수 있습니다.
6 단계 : 로컬 서버에 연결하고 데이터베이스 → 데이터 가져 오기 계층 애플리케이션을 클릭하십시오.
7 단계 : 복원 할 데이터베이스 이름을 지정하십시오.
이제 녹색으로 모든 것을 볼 수 있습니다!
다이어그램으로 내 블로그 를 읽으십시오 .
Optillect SQL Azure Backup 다운로드-15 일 평가판이 있으므로 데이터베이스를 이동하기에 충분합니다. :)
나를위한 트릭은 빈 DB에서 PK / FK / 제약 조건을 복제 한 다음 데이터를 가져 오는 동안 제약 조건을 일시적으로 비활성화하는 것입니다 ( https : //.com/a/161410 참조) ).
더 정확하게:
도움이 되었기를 바랍니다!
SQL Azure에서 가져 오기 / 내보내기 서비스를 사용하여 .bacpac 파일을 만듭니다.
그런 다음 다른 스택 오버플로 기사에서이 방법을 살펴보십시오.
누구나 Azure SQL Sync 를 사용하는 DB Bacpac를 가져 오는 데 문제가있는 경우 Sandrino Di Mattia는 이를 해결하기 위한 훌륭한 간단한 응용 프로그램 을 개발했습니다 .
누구나 데이터베이스를 로컬로 백업하는 무료 및 효과적인 옵션을 원하고 수동으로 신경 쓰지 않으려면 최신 버전의 Microsoft Visual Studio 2015 Community Edition (무료) 또는 Professional / Premium / Ultimate에 내장 된 스키마 및 데이터 비교 기능을 사용하십시오 판. 그것은 매력처럼 작동합니다!
Azure의 BizPark 계정이 있으며 비용을 지불하지 않고 데이터베이스를 직접 백업 할 수있는 방법이 없습니다. VS 작품 에서이 옵션을 찾았습니다.
답변은 https://stackoverflow.com/a/685073/6796187 에서 가져옵니다.
안녕하세요, 저는 SQLAzure DB 마이그레이션 및 관리에 SQLAzureMW 도구를 사용하고 있습니다. 매우 유용한 것입니다. 코드 플렉스에서 다운로드되었지만 현재 코드 플렉스를 종료 할 수 없으며 GttHub에서 동일한 응용 프로그램 도구를 사용할 수 있습니다. 아래 링크는이 도구를 사용하는 방법과 응용 프로그램을 다운로드 할 수있는 방법을 설명합니다.