我已将数据库导出为SQL Scripts,使用SQL Management Studio作为单个文件和多个文件。在这两种情况下,当我在VS.net 2015中创建一个空的数据库项目并选择"导入...脚本",然后选择我的一个大脚本,或者多个脚本的文件夹不会创建任何人工制品该项目。
多文件导入文件的日志提供
08/06/2016 15:33:18 This log contains information about the import operation of the script 'dbo.SOMETABLENAME.Table.sql' into project 'MYPROJECTNAME' on computer 'MYCOMPUTER' by user'philliph.
08/06/2016 15:33:33 Started importing file: C:\Users\philliph\AppData\Local\Temp\tmp29BA.tmp
08/06/2016 15:33:33 File name C:\Users\philliph\AppData\Local\Temp\tmp29BA.tmp (size: 5800811)
08/06/2016 15:33:33 Parsing import script
08/06/2016 15:34:07 A summary of the import was saved to the following location: MYSOURCELOCATION\Import Script Logs\dbo_FIRSTTABLENAME__20160608023318.log
08/06/2016 15:34:07 Click Finish to continue...
单个文件导入的日志文件不再提供有用的信息。我尝试使用ASCII或UNICODE格式从SQL Server导出,脚本本身看起来很好。我可以直接从数据库本身导入数据库项目,但不想这样做,因为我有很多SQL Replication数据库文件,我不想放在源代码控制下,脚本Management Studio中的导出允许我过滤掉它们。
有没有人设法成功从脚本导入或者有什么秘密吗?我注意到日志似乎创建了一个大的临时文件,但是一旦工具完成其处理(这需要几分钟)就会删除它,所以我不能告诉它包含什么。
答案 0 :(得分:0)
为了记录,我从未找到过从脚本成功导入的方法。我试图这样做是为了避免从我的实时数据库中导入复制文物。按照http://weblogs.asp.net/gunnarpeipman/using-visual-studio-database-projects-in-real-life中发布的想法,我使用了Schema Compare工具生成我的实时数据库和空数据库项目之间的比较。这个工具允许我在将比较应用到我的数据库项目之前过滤掉我想要的任何数据库对象。
虽然它没有解决我的原始问题,但这种解决方法可能对其他人有用。