-->

在VS2010数据库项目设置DefaultDataPath和DefaultLogPath上部署(Se

2019-09-16 10:55发布

要真正下面的查询本来不是我的,但我现在所面临的具体问题,在我的工作。 从而复制问题的陈述,因为它是。 我无法找到任何解决方案。 我真的很感激任何建议或以下的习题集的亮点:

我没有在架构对象的任何硬编码\数据库级对象\存储\文件 - 无论是在数据库和日志文件。

当我点击“部署”从数据库项目获取生成部署脚本已经硬编码:SETVAR与数据库和日志分配到$(DefaultDataPath)和$(DefaultLogPath)文件路径 - 见下文:SETVAR DefaultDataPath“C:\ DB \ Microsoft SQL Server的\ MSSQL10_50.MITCHELL \ MSSQL \ DATA \”:SETVAR DefaultLogPath “C:\ DB \ Microsoft SQL Server的\ MSSQL10_50.MITCHELL \ MSSQL \ DATA \”。

我想部署脚本接受数据输入和日志路径。 但基于当前正被生成的脚本,我必须手动评论上述2行和更改CREATE DATABASE语句如图所示,每一次低于更换任何提及“DefaultDataPath”和“DefaultLogPath”与“InputDefaultDataPath”和“InputDefaultLogPath” CREATE DATABASE [$(数据库名)] ON PRIMARY(NAME = [TEST_DB],FILENAME = '$(InputDefaultDataPath)$(数据库名)的.mdf',> SIZE = 3072 KB,FILEGROWTH = 1024 KB)登录(NAME = [TEST_DB_log],FILENAME => '$(InputDefaultLogPath)$(数据库名)_log.ldf',SIZE = 1024 KB,MAXSIZE = 2097152 MB,FILEGROWTH = 10%)COLLATE SQL_Latin1_General_CP1_CI_AS

  Question 1: How do I prevent db project from scripting the below two lines and also 

防止它subsituting在CREATE DATABASE语句这些变量? :SETVAR DefaultDataPath “C:\ DB \ Microsoft SQL Server的\ MSSQL10_50.MITCHELL \ MSSQL \ DATA \”:SETVAR DefaultLogPath “C:\ DB \ Microsoft SQL Server的\ MSSQL10_50.MITCHELL \ MSSQL \ DATA \”。

问题2:如何使数据库项目automaticaly脚本部署脚本以这样一种方式,它接受用户输入的DefaultDataPath和DefaultLogPath没有我手动更改它包括$(InputDefaultDataPath)和$(InputDefaultLogPath)变量?

Answer 1:

在Visual Studio 2010中,有一个名为“CommentOutSetVarDeclarations”项目设置。 如果选中此选项,你所提到的两个默认SETVAR线将被注释掉。

这使您能够运行从SQLCMD部署脚本时$(DefaultDataPath)和$(DefaultLogPath)在命令行提供值。



文章来源: Setting DefaultDataPath and DefaultLogPath on Deploy in VS2010 Database Project