正如您所要求的,这并不完全来自 Visual Studio,但它可能是一种解决方法。如果您的数据库存在于开发服务器中,那么也许您可以使用SqlPackage.exe Export
和Extract
操作:
出口
默认情况下,所有表的数据都将包含在 .bacpac 文件中。
SqlPackage.exe 导出操作将实时数据库从 SQL Server 或 Windows Azure SQL 数据库导出到 BACPAC 包(.bacpac 文件)。默认情况下,所有表的数据都将包含在 .bacpac 文件中。或者,您可以仅指定要为其导出数据的表子集。即使为导出指定了表的子集,导出操作的验证也可确保整个目标数据库的 Windows Azure SQL 数据库兼容性。
sqlpackage.exe /action:Export /TargetFile:"test.bacpac"
/sourceDatabasename:test
/sourceservername:.\testserver
您可以导入您的bacpac
文件
https://msdn.microsoft.com/en-us/library/hh710052.aspx
提取物
使用用户表数据创建 DACPAC
sqlpackage.exe /action:Extract /TargetFile:"test.dacpac"
/sourceDatabasename:test
/sourceservername:".\testserver"
/p:ExtractAllTableData=true
如果您不想使用 SqlPackage.exe,这篇文章很旧,但它有三个可能有效的解决方法:
1) 使用 SSMS 对象资源管理器中 [Server]/Management/Data-tier Application/[Application Name] 节点下的 SSMS 的“升级数据层应用程序...”向导重新部署相同的 .dacpac 文件。升级向导提供了复选框选项以执行 .dacpac 文件中的部署前和/或部署后脚本。启用部署前和部署后脚本选项,然后执行升级将产生预期的结果。
2) 使用 SSMS 查询窗口、SQLCMD.exe 或类似文件手动执行 DACPAC 部署前和/或部署后 T-SQL 脚本文件。这要求 DACPAC 作者将部署前/部署后脚本与 DACPAC 文件一起提供。或者,可以使用 Microsoft DacUnpack.exe 实用程序或 ZIP 文件实用程序(将文件扩展名从 .dacpac 重命名为 .zip 后)提取部署前/部署后脚本。
3) 使用 MSBuild.exe(v4.0.30319.1 或更高版本)或 Visual Studio 2010 Premium SP1(或更高版本)部署“SQL Server 数据层应用程序”项目文件。(例如:“msbuild /Target:Deploy DeploymentDemo.dbproj”)。