Gre*_*Gum 13 sql-server visual-studio-2012
在用于Visual Studio的Sql Server数据工具中,您可以创建Sql Server项目并导入数据库的结构.这非常有效.
是否也可以导入数据?例如,假设我有一个包含多种类型的Type表.我想在Sql Server Project中有这些数据,所以当我发布它时,它也会发布数据.
我能够弄清楚的最接近的是使用Sql Server对象资源管理器为数据创建脚本,然后手动将该脚本添加到项目中.
当我看到Sql Server数据工具的演示时,然后显示发布一个项目,然后使用复制和粘贴将数据导入数据库.当然有更好的方法.
编辑多年以后,我终于搞清楚了:出口有两种类型:1.DACPAK - 仅包括结构,2.BACBAK包括数据和结构.
您可以从SSMS创建:1.DACPAK:选择您的数据库,右键单击Tasks-> Extract Data Tier App.2.选择数据库,右键单击Tasks-> Export Data Tier App.
这与您提出的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
Run Code Online (Sandbox Code Playgroud)
您可以导入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
Run Code Online (Sandbox Code Playgroud)
如果你不想使用SqlPackage.exe,这个文章是旧的,但它有三种解决方法可能工作:
1)使用SSMS对象资源管理器中[服务器] /管理/数据层应用程序/ [应用程序名称]节点下的SSMS"升级数据层应用程序..."向导重新部署相同的.dacpac文件.升级向导提供了礼物复选框选项,用于在.dacpac文件中执行部署前和/或部署后脚本.启用部署前和部署后脚本选项,然后执行升级将产生预期结果.
2)使用SSMS查询窗口,SQLCMD.exe或simliar手动执行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").
多年以后,我终于明白了这一点:出口有两种类型:1.DACPAK - 仅包括结构,2.BACPAK包括数据和结构.
您可以从SSMS创建:1.DACPAK:选择您的数据库,右键单击Tasks-> Extract Data Tier App.2.选择数据库,右键单击Tasks-> Export Data Tier App.
归档时间: |
|
查看次数: |
8334 次 |
最近记录: |