问题标签 [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.

0 投票
4 回答
1049 浏览

sql-server - 如何将源代码控制的 VS2010 数据库项目的更改合并到本地开发数据库

我们正在尝试使用以下开发周期进行新开发的 VS2010 数据库项目:

  • 使用 Management Studio 在本地数据库实例上开发更改(使用设计器等)
  • 使用 VS2010 模式比较将这些更改同步/导入到 VSDB 项目
  • 签入 VSDB 项目并运行自动构建/测试等

当我想从源代码管理中“获取最新信息”时,我会:

  • 从源代码管理更新 VSDB 项目文件
  • 使用 Schema Compare 将项目中的更改推送到我的本地数据库实例

这是它开始崩溃的地方......因为模式比较试图同步两个版本,它试图撤消我对本地数据库所做的任何更改,作为我自己的功能开发的一部分。

显然,您可以告诉架构比较以跳过对我已修改的对象的更改,但遗憾的是这并不总是正常工作:http ://connect.microsoft.com/VisualStudio/feedback/details/564026/strange-schema-比较-行为-sql-2008-数据库-项目

从根本上说,问题的存在是因为 VSDB 项目中的定义没有自动与我的本地数据库同步;因此,每次我得到更改时,我都需要使用 Schema Compare 进行“可怜的人合并”。

一种可能的解决方案是:

  • 首先使用 Schema Compare 将本地数据库中的任何更改同步到 VSDB 项目
  • 从源代码控制更新 VSDB 项目(因此使用源代码控制工具进行合并,而不是模式比较)
  • 架构比较从源代码管理到我的本地数据库实例的更改

...这远非理想。

RedGate SQL Source Control 在这方面是否更好?

新的“Juneau”SQL 工具集怎么样?

0 投票
1 回答
2553 浏览

sql-server - 在 ISNULL 中包装可空列会导致表扫描吗?

Visual Studio 2010 数据库项目的代码分析规则SR0007指出:

您应该通过在 ISNULL 函数中包装每个可以包含 NULL 值的列来明确指示如何处理比较表达式中的 NULL 值。

但是,在以下情况下违反了代码分析规则SR0006

作为比较的一部分,表达式包含列引用...如果您的代码比较包含列引用的表达式,您的代码可能会导致表扫描。

这是否也适用于 ISNULL,或者 ISNULL 永远不会导致表扫描?

0 投票
1 回答
523 浏览

sql-server - Frequent Setup and Tear Down of SQL Server Replication

I am using the Visual Studio Database Project for my database. I have it setup to auto-build twice a week. When it builds it drops the database and recreates it from scripts.

I really like the tear down and re-build system as it prevents junk from accumulating in my Development databases.

I now need to add a second database to the mix and get it receiving some replicated tables from the first database.

I know that replication is a server level thing, but I am hoping to just add some post deploy scripts to my database and have that script setup the replication publisher and subscriber (for my first and second database respectively).

Is this going to work? I don't really know much of the in depth stuff with replication. If there is an easier way, I would love to hear it.