programing

Visual Studio를 사용하여 Azure SQL 백업(.bacpac)을 LocalDB로 가져오는 방법은 무엇입니까?

showcode 2023. 5. 5. 10:03
반응형

Visual Studio를 사용하여 Azure SQL 백업(.bacpac)을 LocalDB로 가져오는 방법은 무엇입니까?

이것이 주요 시나리오가 될 것으로 예상되지만 내보낸 Azure SQL 데이터베이스(.bacpac)를 Visual Studio 2013LocalDB로 가져오는 방법을 찾을 수 없습니다.내가 뭔가를 놓쳤거나 Visual Studio가 뭔가를 놓쳤습니까?

(참고: SQL Server 관리 스튜디오가 있는 경우에도 솔루션이 있습니다. 하지만 저는 이를 가지고 있지 않으며 가능하면 설치하지 않는 것을 선호합니다.)

컴퓨터에 이 폴더가 있으면 다음 명령을 실행하여 bacpac 파일을 복원할 수 있습니다.

.\SqlPackage.exe /Action:Import /SourceFile:"c:\temp\your.bacpac" /TargetConnectionString:"Data Source=(localdb)\v11.0;Initial Catalog=devdb; Integrated Security=true;"

폴더가 없으면 Microsoft에서 도구를 다운로드해야 합니다.

제가 사용할 올바른 명령은 다음과 같습니다.

.\SqlPackage.exe /Action:Import /SourceFile:"c:\temp\your.bacpac" /TargetConnectionString:"Data Source=(localdb)\mssqllocaldb;Initial Catalog=DBNAME;Integrated Security=true;"

그렇지 않으면 다음 오류가 발생합니다.*** Error importing database:Could not import package. Unable to connect to master or target server 'DBNAME'. You must have a user with the same password in master or target server 'DBNAME'.

VS2015를 사용하여 anjdreas로 지정된 위치에서:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\130

이 기능을 두 번 이상 사용하려면 다음 항목을 추가할 수 있습니다.sqlpackage실행을 허용하는 환경 변수로sqlpackage모든 폴더에서 명령어로 사용할 수 있습니다.

환경 변수에 경로를 추가하는 방법은 여기를 참조하십시오. 어렵지 않습니다.

그러면 그냥 실행할 수 있습니다.sqlpackage어디서든!추가한 후 테스트하려면 아무 폴더에서나 명령 프롬프트 또는 파워셸을 열고 다음과 같이 입력합니다.sqlpackage그리고 다음과 같은 메시지가 표시됩니다(이전에 열려 있던 모든 프롬프트를 먼저 닫으면 변경 내용을 얻을 수 있습니다).).

어디서나 <code>sql 패키지 실행</code>

전체 스크립트:

sqlpackage /Action:/SourceFile 가져오기:"C:...\SOMEDBACKUP.bacpac" /TargetConnectionString:"데이터 원본=(localdb)\mssqllocaldb;초기 카탈로그=catalog_give_dbimport_any_name_you_want;통합 보안=true;"

주의:

  1. 설치 시 모든 소문자 이름의 exe가 나열됩니다.sqlpackage.exe그래서 소문자를 모두 사용하고 있습니다.sqlpackage
  2. 현재 VStudio 2019를 사용하는 방법은 다음과 같습니다. 하지만 최종 경로를 사용하여 자신의 / 최신 버전을 찾을 수 있습니다(".../DAC/130" 또는 140 또는 150 중에서 선택할 수 있습니다.

C:\Program Files(x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\확장\마이크로소프트\SQLDB\DAC\150\sql 패키지.exe

  1. 가져온 데이터베이스 이름의 경우 원래 db 이름과 일치할 필요가 없으므로 "bac_give_dbimport_any_name_you_want"가 원하는 것일 수 있습니다.

를 지날 때./TargetConnectionString 변수,했습니다.

가져오기 작업에는 TargetDatabaseName 매개 변수 값이 필요합니다.

SqlPackage.exe좀 까다로운 것 같습니다.

-▁theeters▁-다니▁i를 제공해야 했습니다.TargetDatabaseName그리고.TargetServerName 이름)tdn그리고.tsn), 효과가 있었습니다.

마지막 명령은 다음과 같습니다.

.\SqlPackage.exe /Action:Import /SourceFile:"c:\temp\your.bacpac" /tdn:"C:\temp\database.mdf" /tsn:"(LocalDB)\MSSQLLocalDB"

언급URL : https://stackoverflow.com/questions/27850337/how-to-import-azure-sql-backup-bacpac-to-localdb-using-visual-studio

반응형