在Windows本地通过PowerShell或命令行恢复Bacpac文件至SSMS
本地通过脚本/命令行恢复Bacpac到SQL Server(SSMS可连接)
前提条件
- 本地已安装SQL Server Data Tools (SSDT)(自带
sqlpackage.exe),或单独安装了sqlpackage工具 - 目标SQL Server实例处于运行状态,且你拥有足够权限(如dbcreator、sysadmin角色)
- Bacpac文件路径正确,当前用户有读取权限
方法一:使用sqlpackage.exe命令行
sqlpackage.exe是微软官方的DAC工具,专门用于Bacpac的导入导出操作,默认路径因SQL Server版本而异,比如:
- SQL Server 2019:
C:\Program Files\Microsoft SQL Server\150\DAC\bin\sqlpackage.exe - SQL Server 2022:
C:\Program Files\Microsoft SQL Server\160\DAC\bin\sqlpackage.exe
基础导入命令
sqlpackage.exe /Action:Import ` /SourceFile:"C:\data\your_db.bacpac" ` /TargetServerName:localhost\SQLEXPRESS ` /TargetDatabaseName:Restored_DemoDB ` /TargetUser:sa ` /TargetPassword:YourPass123!
参数说明
/Action:Import:指定执行Bacpac导入(恢复)操作/SourceFile:Bacpac文件的完整路径/TargetServerName:目标SQL Server实例名,示例为本地SQLEXPRESS实例,直接填localhost可连接默认实例/TargetDatabaseName:恢复后生成的数据库名称/TargetUser//TargetPassword:SQL身份验证的账号密码;如果用Windows身份验证,直接删除这两个参数即可自动使用当前系统账号
覆盖现有数据库的命令
如果目标数据库已存在,添加/TargetDatabaseExistsAction参数强制覆盖:
sqlpackage.exe /Action:Import ` /SourceFile:"C:\data\your_db.bacpac" ` /TargetServerName:localhost\SQLEXPRESS ` /TargetDatabaseName:Restored_DemoDB ` /TargetDatabaseExistsAction:Overwrite ` /TargetUser:sa ` /TargetPassword:YourPass123!
方法二:使用PowerShell脚本
适用于自动化批量恢复场景,需要先安装SqlServer模块。
步骤1:安装SqlServer模块
Install-Module -Name SqlServer -Scope CurrentUser -Force
步骤2:执行导入脚本
# 导入模块 Import-Module SqlServer # 配置参数 $bacpacFilePath = "C:\data\your_db.bacpac" $targetInstance = "localhost\SQLEXPRESS" $newDBName = "Restored_DemoDB" $sqlAuthUser = "sa" $sqlAuthPass = "YourPass123!" # 创建SQL认证凭据(Windows身份验证可跳过此步) $sqlCredential = New-Object System.Management.Automation.PSCredential( $sqlAuthUser, (ConvertTo-SecureString $sqlAuthPass -AsPlainText -Force) ) # 执行导入 Import-Dacpac -Path $bacpacFilePath ` -ServerInstance $targetInstance ` -DatabaseName $newDBName ` -Credential $sqlCredential ` -DatabaseExistsAction Overwrite # 覆盖现有数据库,不需要可删除此参数
验证恢复结果
导入完成后,打开SSMS连接到目标SQL Server实例,即可看到恢复好的数据库,可正常进行查询、修改等操作。
内容的提问来源于stack exchange,提问作者Moinuddin Tamboli
相关产品推荐
相关产品推荐

