source

SQL Azure 데이터베이스를 로컬 개발 서버에 복사하려면 어떻게 해야 합니까?

nicesource 2023. 2. 6. 23:48
반응형

SQL Azure 데이터베이스를 로컬 개발 서버에 복사하려면 어떻게 해야 합니까?

SQL Azure 데이터베이스를 개발 기계에 복사하는 방법을 아는 사람이 있습니까?클라우드에 개발 데이터베이스를 구축하기 위해 비용을 지불하는 것을 중단하고 싶지만, 프로덕션 데이터를 얻는 가장 좋은 방법입니다.프로덕션 데이터베이스를 새 개발 데이터베이스에 복사하지만 동일한 데이터베이스를 로컬로 만들고 싶습니다.

좋은 의견이라도 있나?

여기에는 여러 가지 방법이 있습니다.

  1. SSIS(SQL Server Integration Services) 사용.Import만 합니다.data신의의테테테테테열 속성, 제약 조건, 키, 인덱스, 저장 프로시저, 트리거, 보안 설정, 사용자, 로그온 등은 전송되지 않습니다.SQL Server Management Studio, SQL Server Management Studio, SQL Server Management Studio, SQL Server Management Studio, SQL Server Management Studio, SQL Server Management Studio, SQL Server Management Studio, SQL Server Management Studio, SQL Server Management Studio.
  2. SSIS와 DB 작성 스크립트를 조합하여 사용합니다.이것에 의해, SSIS에 의해서 전송 되지 않는 데이터와 누락된 메타데이터가 모두 취득됩니다.이것 또한 매우 간단하다.먼저 SSIS를 사용하여 데이터를 전송한 후(아래 지시 참조), SQL Azure 데이터베이스에서 DB Create 스크립트를 작성한 후 로컬 데이터베이스에서 다시 재생합니다.
  3. 마지막으로 SQL Azure에서 Import/Export 서비스를 사용할 수 있습니다.그러면 스키마 개체와 함께 데이터가 BACPAC로 Azure Blob Storage로 전송됩니다.Azure 스토리지 계정이 필요하며 Azure 웹 포털에서 이 작업을 수행합니다.내보낼 데이터베이스를 선택할 때 Azure 웹 포털에서 "내보내기" 단추를 누르면 됩니다.단점은 수동 절차일 뿐 도구나 스크립트를 통해 자동화하는 방법은 알 수 없다는 것입니다. 적어도 웹 페이지를 클릭해야 하는 첫 번째 부분은 알 수 없습니다.

방법 #1(SSIS 사용)의 수동 순서는 다음과 같습니다.

  • SSMS(Sql Server Management Studio)에서 로컬 SQL 인스턴스에 빈 데이터베이스를 새로 만듭니다.
  • 컨텍스트 메뉴에서 [Import Data]를 선택합니다(데이터베이스 우클릭 -> 태스크 -> 데이터 Import...).
  • 소스(SQL Azure)의 연결 매개 변수를 입력합니다." 를 선택합니다.Net Framework Data Provider for SqlServer"를 프로바이더로 지정합니다.
  • 기존의 빈 로컬 데이터베이스를 대상으로 선택합니다.
  • 마법사를 따릅니다. 복사할 테이블 데이터를 선택할 수 있습니다.불필요한 테이블은 생략할 수 있습니다.예를 들어 응용 프로그램 로그를 데이터베이스에 보관하는 경우 백업에 필요하지 않을 수 있습니다.

SSIS 패키지를 생성하여 데이터를 재 Import할 때마다 재실행함으로써 SSIS 패키지를 자동화할 수 있습니다.SSIS를 사용하여 Import할 수 있는 것은 클린 DB뿐입니다.로컬 데이터베이스에 대한 증분 갱신은 1회 실행한 후에는 실행할 수 없습니다.

방법 #2(SSID 데이터와 스키마 개체)는 매우 간단합니다.먼저 위의 단계를 거쳐 DB Creation 스크립트를 만듭니다(SSMS에서 데이터베이스를 클릭하여 [Generate Scripts]-> [ Database Create ]를 선택합니다).그런 다음 로컬 데이터베이스에서 이 스크립트를 다시 재생합니다.

방법 #3에 대해서는, 다음의 블로그를 참조해 주세요.BACPAC로 Azure Blob 스토리지에 DB 콘텐츠를 전송하는 과정을 담은 동영상이 있습니다.그런 다음 파일을 로컬로 복사하여 SQL 인스턴스로 가져올 수 있습니다.BACPAC를 Data-Tier 어플리케이션으로 Import하는 프로세스는 http://msdn.microsoft.com/en-us/library/hh710052.aspx 에서 설명합니다.

Azure 데이터베이스 데이터를 로컬 데이터베이스에 복사합니다.SQL Server Management Studio를 사용하여 다음과 같이 작업을 수행할 수 있습니다.

  • SQL Azure 데이터베이스에 연결합니다.
  • 개체 탐색기에서 데이터베이스를 마우스 오른쪽 버튼으로 클릭합니다.
  • "Tasks" / "Deploy Database to SQL Azure" 옵션을 선택합니다.
  • "Deployment Settings"라는 이름의 단계에서 로컬 SQL Server를 연결하고 새 데이터베이스를 만듭니다.

여기에 이미지 설명 입력

'다음' / '다음' / '완료'

SQL Server 2016 Management Studio에서는 로컬 머신에 Azure 데이터베이스를 가져오는 프로세스가 합리화되었습니다.

Import할 데이터베이스를 오른쪽 클릭하여 [Tasks]> [ Export data - tier application ]를 클릭하여 데이터베이스를 로컬 .dacpac 파일로 내보냅니다.

로컬 타깃 SQL 서버 인스턴스에서 [Databases]> [ Import data - tier ]어플리케이션을 우클릭하여 로컬이 되면 데이터베이스 백업 및 restore 등의 작업을 수행할 수 있습니다.

나는 단지 dumbledad의 답변의 단순화된 버전을 추가하고 싶었다. 왜냐하면 그것이 맞기 때문이다.

  1. Azure SQL 데이터베이스를 BLOB 스토리지의 BACPAC 파일로 내보냅니다.
  2. SQL Management 스튜디오 내에서 데이터베이스를 마우스 오른쪽 버튼으로 클릭하고 "데이터 계층 애플리케이션 가져오기"를 클릭합니다.
  3. Azure blob 저장소의 BACPAC 파일에 액세스하기 위한 정보를 입력하라는 메시지가 표시됩니다.
  4. 다음에 몇 번 치면...알았어!

지금은 많이 편해진 것 같아요.

  1. SQL Management Studio 시작
  2. [데이터베이스]를 오른쪽 클릭하여 [데이터 계층 애플리케이션 Import]를 선택합니다.."
  3. 마법사는 Azure 계정에 연결하여 BACPAC 파일을 만들고 데이터베이스를 만드는 과정을 안내합니다.

또한 SQL Backup 및 FTP(https://sqlbackupandftp.com/)를 사용하여 보안 FTP 서버에 매일 백업을 수행합니다.여기서 최신 BACPAC 파일을 가져오기만 하면 로컬 데이터베이스를 더 빠르고 쉽게 만들 수 있는 동일한 대화 상자에 가져올 수 있습니다.

윈도우즈 Azure Management Portal에서 SQL Azure 데이터 동기화를 확인할 수도 있습니다.SQL Azure와 SQL 서버 간의 스키마 및 데이터를 포함한 전체 데이터베이스를 검색하고 복원할 수 있습니다.

「」를 사용합니다.msdeploy.exe

★★★★★★msdeploy.exe를 스스로 작성할 수 없기 때문에으로 작성할 .

  1. 데이터베이스 속성 페이지에서 연결 문자열을 복사합니다.올바른 패스워드가 포함되도록 조정합니다. 데이터베이스 속성 페이지
  2. 대상 DB에 대한 연결 문자열을 가져옵니다.
  3. 실행합니다.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
    

사용법

  1. 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"
    
  2. 패키지를 로컬 DB로 가져옵니다.

    "c:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\SqlPackage.exe" /a:Import /SourceFile:"file.bacpac" /TargetServerName:".\SQLEXPRESS" /TargetDatabaseName:CopyOfAzureDb
    

꽤 쉬워요.Azure SQL 데이터베이스를 로컬 머신에 다운로드하는 데 도움이 되었습니다.:

  1. SQL Management Studio를 열고 Azure SQL Server에 연결합니다.
  2. 로컬 시스템으로 이동할 데이터베이스를 선택하고 마우스 오른쪽 버튼을 클릭합니다."스크립트 생성"을 선택합니다.지시에 따릅니다.

단, 스크립트뿐만 아니라 데이터도 필요한 경우에는 생성을 시작하기 전에 고급 옵션을 체크하고 "스크립트할 데이터 유형"으로 스크롤하여 "Schema and data" 또는 사용자에게 적합한 것을 확인하십시오.

로컬 머신에서 실행할 수 있는 훌륭한 SQL 스크립트파일이 준비되어 데이터베이스를 작성하고 모든 데이터로 데이터를 채웁니다.

내 경우엔 FK나 다른 제약이 없다는 걸 명심해데이터도 많지 않았어요.

일반적으로 백업 메커니즘으로 권장하지 않습니다.

SQL Server Management Studio에서

Import할 데이터베이스를 오른쪽 클릭하여 [Tasks]> [ Export data - tier application ]를 클릭하여 데이터베이스를 로컬 .dacpac 파일로 내보냅니다.

로컬 타깃 SQL 서버 인스턴스에서 [Databases]> [ Import data - tier ]어플리케이션을 우클릭하여 로컬이 되면 데이터베이스 백업 및 restore 등의 작업을 수행할 수 있습니다.

읽기 전용 열 "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/

투고의 비디오에서는, 블로그 투고의 작성자는, 다음의 6개의 순서에 따릅니다.

  1. Azure Management Portal에서 스토리지 계정을 만들거나 스토리지 계정으로 이동합니다.스토리지 계정의 Blob URL과 기본 액세스 키가 필요합니다.

  2. 블로그 투고에서는 bacpac 파일용 새 컨테이너를 만들 것을 권장하고 있으며, Azure Storage Explorer에 추가하려면 스토리지 계정의 Blob URL과 기본 액세스 키가 필요합니다.

  3. Azure Management Portal에서 내보낼 데이터베이스를 선택하고 리본의 가져오기 및 내보내기 섹션에서 '내보내기'를 클릭합니다.

  4. 대화상자에는 데이터베이스의 사용자 이름과 비밀번호, BLOB URL 및 액세스 키가 필요합니다.blob URL에 컨테이너를 포함시키고 파일 이름을 포함시키는 것을 잊지 마십시오(예: https://testazurestorage.blob.core.windows.net/dbbackups/mytable.bacpac)).

  5. Finish(종료)를 클릭하면 데이터베이스가 BACPAC 파일로 내보내집니다.이 작업은 시간이 걸릴 수 있습니다.Azure Storage Explorer에 체크인하면 0바이트 파일이 즉시 나타날 수 있습니다.이것은 Import/Export Service가 blob-store에 대한 쓰기 액세스 권한을 가지고 있는지 확인하는 서비스입니다.

  6. 완료되면 Azure Storage Explorer를 사용하여 BACPAC 파일을 다운로드하고 SQL Server Management Studio에서 로컬 서버의 데이터베이스 폴더를 마우스 오른쪽 버튼으로 클릭한 후 [Import Data Tier Application]를 선택하면 BACPAC 파일을 읽어들이는 마법사가 시작되고 Azure 데이터베이스의 복사본이 생성됩니다.먼저 BACPAC 파일을 로컬로 복사하지 않을 경우 BLOB-Store에 직접 연결하여 BACPAC 파일을 가져올 수도 있습니다.

마지막 단계는 SQL Server Management Studio의 SQL Server 2012 에디션에서만 사용할 수 있습니다(이 버전이 실행 중입니다).이 기계에는 확인할 수 있는 이전 제품이 없습니다.블로그 투고에서 작성자는 Import에 명령줄 도구 DacImportExportCli.exe를 사용합니다.이 도구는 http://sqldacexamples.codeplex.com/releases에서 구할 수 있습니다.

'읽기 전용 컬럼 "id"에 삽입 실패 오류가 발생하여 SSIS Import/export가 작동하지 않았습니다.'매핑 화면에서 Identity 요소를 삽입할 수 있도록 지정하는 것으로, 이 문제를 회피할 수 있습니다.

그 후 SQL Import/Export 마법사를 사용하여 Azure에서 로컬 데이터베이스로 복사하여 모든 작업이 정상적으로 진행되었습니다.

SQL Server 2008 R2(정상 작동)와 Visual Studio 2012 Express에 포함된 SQL Import/Export Wizard만 로컬 데이터베이스를 만들 수 있었습니다.

승인된 답변이 오래되었습니다.더 나은 답을 찾았어요데이터 계층 응용 프로그램 가져오기 사용

자세한 내용은 다음 문서를 참조하십시오.로컬 서버로의 Azure SQL 데이터베이스 복원

SQL Database Migration Wizard 도구를 사용하여 시도할 수 있습니다.이 도구는 azure sql에서 데이터를 가져오고 내보낼 수 있는 옵션을 제공합니다.

자세한 내용은 이쪽에서 확인하시기 바랍니다.

https://sqlazuremw.codeplex.com/

저는 항상 가장 쉬운 Import/Export 기능을 사용하고 있습니다.

순서 1:

다음과 같이 파란색 인스턴스에서 백업을 가져옵니다. 데이터베이스 선택 마우스 오른쪽 버튼 클릭 → 작업 데이터 계층 애플리케이션 내보내기를 선택합니다.

순서 2: 백업 파일의 특정 이름을 지정하여 원하는 위치에 저장합니다.

스텝 3: SQL 인스턴스에서 로컬로 데이터베이스 백업을 작성했습니다.로컬로 복원합니다.백업된 데이터베이스를 C 드라이브에 복사합니다.이제 관리자 권한으로 PowerShell을 열고 C 드라이브로 이동합니다.

스텝 4: powershell 스크립트를 다운로드하여 마스터 를 삭제합니다.RemoveMasterKey.ps1의 경우 스크립트는 같은 드라이브에 있습니다.

스텝 5 : 다음과 같이 스크립트를 실행합니다.\RemoveMasterKey.ps1 - bacpacPath "C:\identity.bacpac"

이것으로 로컬 환경에서 MSSQL 2017에 복원할 수 있습니다.

6단계: 로컬 서버에 연결하고 데이터베이스 → 가져오기-데이터-계층-애플리케이션을 클릭합니다.

스텝 7 : 복원할 데이터베이스의 이름을 지정합니다.

이제 여러분은 모든 것을 녹색으로 볼 수 있을 거예요!

블로그를 도표로 읽어라.

를 하면, SSMS v18.9+ 를 할 수 .Deploy Database to Microsoft Azure SQL Database.

직관적이지는 않지만 마법사에서는 작업 이름이 다음과 같은 경우에도 로컬 DB를 선택할 수 있습니다.Deploy Database to Microsoft Azure SQL Database.

  1. SSMS를 사용하여 Azure 데이터베이스에 연결
  2. 후 [ ]를 선택합니다.Tasks > Deploy Database to Microsoft Azure SQL Database를 클릭합니다.
  3. 로컬 SQL 서버를 대상 연결로 선택하십시오.여기에 이미지 설명 입력
  4. 추가 단계를 수행합니다.

새로운 Azure Mobile Services를 사용하여 SQL Azure에서 Azure 저장소에 호스팅된 .bacpac 파일로 야간 백업 내보내기를 수행할 수 있습니다.이 솔루션은 100% 클라우드이며 서드파티 툴이 필요하지 않으며 로컬 호스트 SQL Server 인스턴스에서 다운로드/복사/백업을 수행할 필요도 없습니다.

약 8개의 다른 단계가 있지만 모두 간단합니다.http://geekswithblogs.net/BenBarreth/archive/2013/04/15/how-to-create-a-nightly-backup-of-your-sql-azure.aspx

2022년 Management Studio에서 기능이 누락된 것 같습니다.Azure Data Studio를 사용하는 방법은 다음과 같습니다.

  1. Azure Data Studio 설치
  2. Azure Data Studio 열기
  3. SQL Server용 Admin Pack이라는 확장 버전을 설치합니다.
  4. Azure Data Studio 재시작
  5. 소스 데이터베이스(Azure)와 대상(로컬 시스템) 모두에 대한 연결 설정
  6. 마스터 데이터베이스의 로컬 DB Engine에서 문을 실행합니다.
sp_configure 'contained database authentication', 1; 
GO  
RECONFIGURE;
GO
  1. 소스 데이터베이스를 마우스 오른쪽 버튼으로 클릭하고 Data-tier Application Wichard를 선택합니다.[ Export bacpac ](현재 버전에서는 4번째, 마지막 옵션)
  2. 마법사를 종료합니다.
  3. 대상 데이터베이스를 마우스 오른쪽 버튼으로 클릭하고 Data-tier Application Wichard를 선택합니다.
  4. Import from .bacpac [ Import bacpac ](내 버전의 세 번째 옵션)를 선택합니다.
  5. 이전에 작성한 .bacpac 파일을 선택하고 마법사를 완료합니다.

로그인을 가져오면 사용자가 생성되지만 기본 스키마가 설정되지 않습니다.슈세마 : 관리 을 열고 다음을 실행합니다.USE [imported-db]; ALTER USER imported-user WITH DEFAULT_SCHEMA = whatever;

Optilect SQL Azure Backup 다운로드 - 15일간의 평가판이 있으므로 데이터베이스 이동에 충분합니다.

빈 DB에서 PK/FK/제약 복제 작업을 시작한 후 데이터를 가져오는 동안 제약 조건을 일시적으로 비활성화하는 것이 문제였습니다(https://stackoverflow.com/a/161410) 참조).

보다 정확하게는:

  1. 빈 대상 DB를 수동으로 만듭니다.
  2. [ source DB ]> [ Tasks ]> [ Generate Scripts ]를 오른쪽 클릭합니다.
  3. 빈 타깃 DB에서 스크립트 파일을 실행합니다(현재 DB에는 올바른 PK/FK/제한이 있지만 데이터는 없습니다).
  4. 모든 제약 조건을 무효로 합니다.
  5. 데이터 Import(타깃 DB > 태스크 > 데이터 Import 오른쪽 클릭)
  6. 제약 조건을 다시 활성화합니다.

이게 도움이 됐으면 좋겠네요!

이제 SQL Server Management Studio를 사용하여 이 작업을 수행할 수 있습니다.

  • SQL Azure 데이터베이스에 연결합니다.
  • 개체 탐색기에서 데이터베이스를 마우스 오른쪽 버튼으로 클릭합니다.
  • "Tasks" / "Deploy Database to SQL Azure" 옵션을 선택합니다.
  • "전개 설정" 단계에서 로컬 데이터베이스 연결을 선택합니다.
  • '다음' / '다음' / '마침'

SQL Azure의 Import/Export 서비스를 사용하여 .bacpac 파일을 만듭니다.

다음으로 다른 Stack Overflow 기사에서 이 방법을 살펴보겠습니다.

Azure SQL 데이터베이스 Bacpac 로컬 복원

Azure SQL Sync를 사용하는 DB의 Bacpac을 Import하는 데 문제가 있는 경우 Sandrino Di Mattia는 이를 해결하기 위한 매우 간단한 애플리케이션을 개발했습니다.

  1. DB의 Bacpac 내보내기
  2. 다우로드 디 마티아 쌍성
  3. 이 콘솔 앱을 사용하여 다운로드한 Bacpac을 복구합니다.
  4. 라우흐 SSMS
  5. "데이터베이스"를 오른쪽 클릭하여 "데이터 계층 애플리케이션 가져오기"를 선택합니다.
  6. 수리된 Bacpac을 선택합니다.

데이터베이스를 로컬로 백업하기 위한 무료 옵션(수동으로 백업하는 것도 상관없습니다)이 필요한 경우 최신 버전의 Microsoft Visual Studio 2015 Community Edition(무료) 또는 Professional / Premium / Ultimate Edition에 내장된 스키마 및 데이터 비교 기능을 사용하십시오.그것은 마법처럼 작동한다!

저는 Azure에 BizPark 계정을 가지고 있으며, 결제 없이 직접 데이터베이스를 백업할 수 없습니다.VS works에서 이 옵션을 찾았습니다.

답변은 https://stackoverflow.com/a/685073/6796187에서 얻을 수 있습니다.

안녕하세요 SQLAzure DB 이행 및 관리에 SQLAzureMW 도구를 사용하고 있습니다.아주 유용한 것.codeplex에서 다운로드가 되었지만 현재 codeplex를 사용할 수 없습니다.GttHub에서도 같은 어플리케이션 툴을 사용할 수 있게 되었습니다.이 링크에서는 이 툴의 사용 방법과 애플리케이션을 다운로드 할 수 있는 방법에 대해 설명합니다.

https://github.com/twright-msft/azure-content/blob/master/articles/sql-database/sql-database-migration-wizard.md

언급URL : https://stackoverflow.com/questions/5475306/how-do-i-copy-sql-azure-database-to-my-local-development-server

반응형