【发布时间】:2012-04-10 07:57:20
【问题描述】:
确实,以下查询最初不是我的,但我在工作中遇到了确切的问题。从而照原样复制问题陈述。我找不到任何解决方案。我非常感谢以下问题集的任何建议或亮点:
我在 Schema Objects\Database Level 中没有任何硬编码 Objects\Storage\Files - 在数据库和日志文件中。
当我点击“部署”时生成的部署脚本 db 项目在 :SETVAR 中使用数据库和日志文件路径进行硬编码 分配给 $(DefaultDataPath) 和 $(DefaultLogPath) - 见下文: :setvar DefaultDataPath "C:\DB\Microsoft SQL 服务器\MSSQL10_50.MITCHELL\MSSQL\DATA\" :setvar DefaultLogPath "C:\DB\Microsoft SQL Server\MSSQL10_50.MITCHELL\MSSQL\DATA\"。
我希望部署脚本接受数据和日志路径的输入。 但根据当前正在生成的脚本,我将不得不 手动注释以上 2 行并修改 CREATE DATABASE 如下所示的声明,以替换任何引用 "DefaultDataPath" 和 "DefaultLogPath" 与 "InputDefaultDataPath" 和 "InputDefaultLogPath" 创建数据库 [$(DatabaseName)] 在 PRIMARY(NAME = [TEST_DB], FILENAME = '$(InputDefaultDataPath)$(DatabaseName).mdf', >SIZE = 3072 KB, 文件增长 = 1024 KB) 登录(名称 = [TEST_DB_log],文件名 = >'$(InputDefaultLogPath)$(DatabaseName)_log.ldf',大小 = 1024 KB, MAXSIZE = 2097152 MB,文件增长 = 10 %) 整理 SQL_Latin1_General_CP1_CI_AS
Question 1: How do I prevent db project from scripting the below two lines and also防止它用这些变量代入 创建数据库语句? :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:如何使 db 项目自动进行脚本部署 以接受用户输入 DefaultDataPath 的方式编写脚本 和 DefaultLogPath 无需我手动将其更改为包含 $(InputDefaultDataPath) 和 $(InputDefaultLogPath) 变量?
【问题讨论】:
标签: .net visual-studio-2010 sql-server-2008 sql-server-2005 database-project