问题标签 [datadude]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - VSDBCMD 与 SQLCMD
在使用数据库项目(VS 2010)时,这是部署数据库 VSDBCMD 或 SQLCMD 的更好选择。除了默认变量(数据库名、数据路径和日志路径)之外,还有其他主要缺点吗?
visual-studio-2010 - 有没有办法抑制VS2010数据库项目中的SQL03006错误?
首先,我知道我得到的错误可以通过创建参考项目(数据库服务器类型)然后在我的数据库项目中引用它来解决......但是,我发现这有点过头了,特别是对于小型团队来说开发人员和数据库管理员之间没有特定的角色分离..但是,让我们再讨论一下...... DAC 也是如此......不能使用受支持的有限对象的 DAC b/c......
问题 现在,问题是:我可以(以及如何)在构建我的数据库项目时禁用 SQL03006 错误。就我而言,之所以会生成此错误,是因为我正在创建一些登录名“未解决”的用户......我认为这应该是可能的,因为我“知道”在部署脚本之前登录名将存在于服务器上...... .我也不想维护数据库服务器项目,这样我就可以保持解析(除了服务器级别的登录之外我什么都没有)......
解决方法 使用部署前/部署后脚本,让脚本正常工作很简单......
解决方法问题 您必须注释掉用户脚本(使用登录引用)才能解决...一旦您这样做,.sqlpermissions 就会爆炸,说没有引用的用户...然后您必须注释掉权限并将它们放在部署后脚本中...此解决方法的主要缺点是您无法充分利用架构(您必须指定忽略用户/登录名/权限)
再说一次,我想要的只是 1. 只维护 DB 项目(不引用 DB Server 项目) 2. 禁用/抑制 SQL03006 错误 3. 能够在我的 DB 项目中使用模式比较
我要求不可能吗?:)
干杯
PS 如果有人知道更好的 VS2010 数据库项目模板/工具(适用于 SQL Server 2008 R2),请分享...
database - 很好的datadude演练
谁能指出我对 Datadude(Visual Studio 数据库项目)和注意事项的一个很好的演练,重点是远程部署?我们一直在使用它进行版本控制和更新我们自己的测试环境。我现在的问题是,必须升级客户的测试和生产环境时该怎么办?我一直在编写少量脚本并使用 vsdbcmd 和 dbschema 并直接在生产环境中创建更新脚本,但我对这种方法不太满意。理想情况下,从我的角度来看,我需要将数据库升级打包为“安装程序”(或安装的一部分,但我们现在不要进入 - WiX 叹息*),在“现场”执行数据库比较,生成更新脚本,调用和回滚错误。
所以有什么想法,我可能错过的好博客文章,我需要阅读的演练吗?
提前致谢!
/碧玉
sql-server - RedGate SQL 工具 v Microsoft Visual Studio Team System Database Edition (Data Dude)
我一直在研究用于测试和持续集成环境的 RedGate 的 SQL 工具和 Microsoft 的 Visual Studio Team System Database Edition(以前称为 Data Dude)。
我们需要能够做的是:
- 源代码控制下的模式和数据
- 使用 TeamCity(命令行)进行自动化持续集成
- 将更改(和数据)推送到环境(暂存、生产、测试),而不是从 Visual Studio
哪种解决方案最适合我们的需求,人们对这两种产品的看法、观点和经验是什么。你会/会选择哪个?为什么?有没有我错过的替代方案?
database-project - vsdbcmd 可能会发生数据丢失,但是在哪里呢?
使用 vsdbcmd 部署我的数据库时:
我得到:
SQL01268 .Net SqlClient Data Provider: Msg 50000, Level 16, State 127, Line 6 Rows were detected. The schema update is terminating because data loss might occur.
SQL01268 An error occurred while the batch was being executed.
这很好,但它并没有告诉我数据丢失会发生在哪里。为了找出我必须使用<DeployToScript>True</DeployToScript>
,然后加载脚本来查看:
IF EXISTS (select top 1 1 from [dbo].[MyTable])
RAISERROR ('Rows were detected. The schema update is terminating because data loss might occur.', 16, 127) WITH NOWAIT
有没有办法让 vsdbcmd 在直接部署到数据库时显示此信息而不必先生成 sql?
谢谢
database - Vs2010 数据生成计划失败并显示“由于以下异常导致数据生成失败:列“xyz”不允许 DBNull.Value”
我对 Vs Data 功能还很陌生,这是我的第一个数据生成计划。我已经使用 Vs2010 数据库项目实现了一个数据库,并用它来部署到 sql server express 2008 数据库。所有的表都使用标识列作为它们的主键,并且它们通过外键相互关联。
我设置了一个数据生成计划,但是当我尝试用它生成数据时,表格只是按字母顺序填充,这当然会失败。唯一正确填充的表是查找表和其他类型的没有 FK 约束的独立实体。第一个表失败后将跳过其余部分。
假设生成计划根据 FK 依赖关系确定填充顺序。发生了什么?
编辑:拥有代表的人应该制作一个visual-studio-data-tools标签,因为DBPro不再是(也不是真的)产品名称。
database-project - 使用 vsdbcmd 部署数据库项目时,出现错误“为数据库启用了 Vardecimal 支持,但为项目禁用了”
我得到:SQL01265 Vardecimal support is enabled for the database but disabled for the project
我尝试将 .sqlsettings 文件更改为 have:"<VardecimalStorageFormatOn>True</VardecimalStorageFormatOn>"
并将 .sqldeployment 文件更改为 have:"<DeployDatabaseProperties>True</DeployDatabaseProperties>"
但我仍然收到错误消息。
这是VS2010 DB Project,项目设置为2005,正在升级的数据库是2008。
我们还有另一个 2005 数据库项目,它将更新 2008 数据库,即使在 .sqlsettings 文件中将 VardecimalStorageFormatOn 设置为 false 并且不部署数据库属性也是如此。
知道为什么一个会工作而另一个不会吗?
谢谢
visual-studio-2010 - 在 Visual Studio 2010 数据库项目中编写服务器对象脚本
部署前脚本 (Script.PreDeployment.sql) 是放置创建服务器级对象(特别是在我的情况下是登录)的 sql 命令的最佳位置吗?
我需要为项目中的数据库用户创建服务器登录名,这似乎是唯一一个模糊逻辑的地方,因为项目结构中的所有其他内容(通过反转我们的开发数据库创建)都是特定于数据库的。因此,我只想检查其他人在使用 Visual Studio 数据库项目时将其服务器级命令存储在何处。
非常感谢。
visual-studio - Schema Compare and Update 注释掉未使用的代码
我有一个 Visual Studio 2010 数据库项目。它适用于大多数东西。
然而有一件事很烦人。假设我有一个名为 dbo.MyCoolTable 的表。如果我去数据库并将其重命名为 dbo.MyKindaCoolTable 它在数据库中工作正常。
但是,当我进行架构比较并将更改写回我的数据库项目时,它会将旧文件留在项目中。所以我最终得到了两个文件(dbo.MyCoolTable.Table.sql 和 dbo.MyKindaCoolTable.Table.sql)。
一次或两次这不是问题,但随着时间的推移,这确实会增加。遍历项目并手动删除这些“剩余”文件中的每一个是很乏味的。
当我从模式比较写入我的数据库项目时,有没有办法删除“剩余的文件”?
visual-studio-2010 - VS2010 部分数据库项目,它们对我的场景有帮助吗?
我可以在以下场景中使用部分数据库项目吗?
我有许多相互依赖的数据库。Database2 在 Database1 和 Database3 上执行 SP,Database3 在 Database2 上执行 SP。例如:
数据库 1 可以定义为:
数据库 2 可以定义为:
数据库 3 可以定义为:
因为 Database2 依赖于 Database3 和 Database2 上的 Database3,所以存在循环引用。我不确定部分项目在这里对我有什么帮助,因为如果我将 Database2 在基础对象和外部对象之间分开,我仍然会对外部项目进行循环引用。据我了解,这是不允许的。
为解释道歉,数据库也让我头疼。如果需要,我会尝试更详细。