问题标签 [sql-server]

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 投票
8 回答
69971 浏览

sql - 检查对 SQL Server 表的更改?

如何在不使用触发器或以任何方式修改数据库结构的情况下监视 SQL Server 数据库以了解对表的更改?我首选的编程环境是.NET和 C#。

我希望能够支持任何SQL Server 2000 SP4 或更高版本。我的应用程序是另一家公司产品的附加数据可视化。我们的客户群数以千计,因此我不想要求我们在每次安装时都修改第三方供应商的表格。

对表的更改”是指对表数据的更改,而不是对表结构的更改。

最终,我希望更改触发我的应用程序中的事件,而不是必须每隔一段时间检查更改。


考虑到我的要求(没有触发器或架构修改,SQL Server 2000 和 2005),最好的做法似乎是使用T-SQLBINARY_CHECKSUM中的函数。我计划实施的方式是这样的:

每 X 秒运行一次以下查询:

并将其与存储的值进行比较。如果值已更改,请使用以下查询逐行浏览表:

并将返回的校验和与存储的值进行比较。

0 投票
5 回答
96345 浏览

mysql - 如何将数据从 SQL Server 2005 导出到 MySQL

我一直在反对SQL Server 2005尝试获取大量数据。我得到了一个包含近 300 个表的数据库,我需要将其转换为 MySQL 数据库。我的第一个电话是使用 bcp 但不幸的是它不会产生有效的 CSV - 字符串没有被封装,所以你不能处理任何有一个带有逗号的字符串的行(或者你用作分隔符的任何行)而且我仍然需要手写所有的创建表语句,因为显然 CSV 并没有告诉你任何关于数据类型的信息。

更好的是,如果有一些工具可以同时连接 SQL Server 和 MySQL,然后复制。您会丢失视图、存储过程、触发器等,但将仅使用基本类型的表从一个数据库复制到另一个数据库并不难……是吗?

有人知道这样的工具吗?我不介意它做了多少假设或进行了哪些简化,只要它支持整数、浮点数、日期时间和字符串。无论如何,我必须做很多修剪、规范化等,所以我不关心保留密钥、关系或类似的东西,但我需要快速的初始数据集!

0 投票
29 回答
106854 浏览

sql-server - 如何对 SQL Server 数据库进行版本控制?

我想让我的数据库处于版本控制之下。

我总是希望那里至少有一些数据(正如alumb提到的:用户类型和管理员)。我还经常需要大量生成的测试数据来进行性能测量。

如何将版本控制应用于我的数据库?

0 投票
4 回答
4565 浏览

sql-server - 升级 SQL Server 6.5

是的,我知道。2008 年的运行副本的存在SQL Server 6.5是荒谬的。

6.5那规定,从 迁移到的最佳方式是2005什么?有没有直接的路径?我发现的大多数文档都涉及升级6.57.

我是否应该忘记本机SQL Server升级实用程序,编写所有对象和数据的脚本,然后尝试从头开始重新创建?

我打算在这个周末尝试升级,但服务器问题将其推迟到下一个。因此,任何想法都会在一周内受到欢迎。

更新。这就是我最终这样做的方式:

  • 备份有问题的数据库并在6.5.
  • SQL Server 2000对Master执行instcat.sql6.5这允许SQL Server 2000OLEDB 提供程序连接到6.5.
  • 使用SQL Server 2000'sstandalone"Import and Export Data"创建 DTS 包,OLEDB用于连接 6.5。这成功地将所有的表复制6.5到一个新的2005数据库中(也使用OLEDB)。
  • 使用6.5的企业管理器将所有数据库的索引和触发器脚本化为 .sql 文件。
  • 在 2005 年的 Management Studio 中针对数据库的新副本执行该 .sql 文件。
  • 使用 6.5 的企业管理器编写所有存储过程的脚本。
  • .sql针对2005数据库执行该文件。几十个存储过程存在问题,使它们与2005. 主要是non-ANSI joinsquoted identifier issues
  • 更正了所有这些问题并重新执行了.sql文件。
  • 重新创建了6.5的登录名2005并授予他们适当的权限。

更正存储过程时有一些冲洗/重复(有数百个需要更正),但升级效果很好。

能够使用 Management Studio 而不是Query AnalyzerandEnterprise Manager 6.5是一个如此惊人的区别。一些需要 20-30 秒的报表查询6.5 database现在在 1-2 秒内运行,无需任何修改、新索引或任何东西。我没想到会有这种立竿见影的改善。

0 投票
4 回答
46985 浏览

mysql - SQL Server 2005 执行 MySQL REPLACE INTO?

MySQL 有这个非常有用但专有的REPLACE INTOSQL 命令。

这可以在 SQL Server 2005 中轻松模拟吗?

开始一个新的事务,Select()然后做一个或者UPDATE或者INSERTCOMMIT总是有点痛苦,特别是在应用程序中做它时,因此总是保留两个版本的语句。

我想知道是否有一种简单通用的方法可以在 SQL Server 2005 中实现这样的功能?

0 投票
14 回答
7949 浏览

sql-server - 将 SQL Server 数据库从测试部署到实时

我想知道你们如何管理 2 个 SQL Server 之间的数据库部署,特别是 SQL Server 2005。现在,有一个开发和一个实时的。由于这应该是构建脚本的一部分(标准 Windows 批处理,即使这些脚本的当前复杂性,我可能会切换到 PowerShell 左右),Enterprise Manager/Management Studio Express 不计算在内。

您是否只需复制 .mdf 文件并附加它?在处理二进制数据时我总是有点小心,因为这似乎是一个兼容性问题(即使开发和实时应该始终运行相同版本的服务器)。

或者 - 鉴于 T-SQL 中缺少“EXPLAIN CREATE TABLE” - 您是否会执行将现有数据库导出到可以在目标服务器上运行的 SQL 脚本的操作?如果是,是否有一种工具可以自动将给定的数据库转储到 SQL 查询中并在命令行下运行?(同样,Enterprise Manager/Management Studio Express 不算在内)。

最后 - 鉴于实时数据库已经包含数据这一事实,部署可能不涉及创建所有表,而是检查结构和 ALTER TABLE 实时表的差异,这可能还需要在现有字段更改时进行数据验证/转换。

现在,我听到了很多关于Red Gate产品的好消息,但对于爱好项目,价格有点高。

那么,您使用什么来自动将 SQL Server 数据库从 Test 部署到 Live?

0 投票
8 回答
26180 浏览

sql-server - 由多个用户编辑数据库记录

我设计了数据库表(标准化,在 MS SQL 服务器上),并为一个应用程序创建了一个独立的 Windows 前端,少数用户将使用它来添加和编辑信息。我们将添加一个 Web 界面,以便以后在我们的生产区域进行搜索。

我担心如果两个用户开始编辑相同的记录,那么最后提交更新的用户将是“赢家”,重要信息可能会丢失。我想到了许多解决方案,但我不确定我是否会造成更大的头痛。

  1. 什么都不做,希望两个用户永远不会同时编辑同一个记录。- 可能永远不会发生,但如果发生了怎么办?
  2. 编辑例程可以存储原始数据的副本以及更新,然后在用户完成编辑时进行比较。如果它们不同,则显示用户和确认更新- 需要存储两份数据。
  3. 添加最后更新的 DATETIME 列并在我们更新时检查它是否匹配,如果不匹配则显示差异。- 需要在每个相关表中添加新列。
  4. 创建一个编辑表,在用户开始编辑将要检查的记录时注册并防止其他用户编辑同一记录。- 需要仔细考虑程序流程以防止死锁和记录在用户崩溃程序时被锁定。

有没有更好的解决方案,还是我应该选择其中之一?

0 投票
1 回答
838 浏览

sql-server - 客户端排序规则和 SQL Server 2005

我们正在将现有程序从 升级Win2k/SQL Server 2kWindows 2003 and SQL Server 2005以及购买一个也使用2k3/2k5. 供应商说,为了让我们托管这两个数据库,我们需要获取企业版,因为软件客户端对连接使用不同的排序规则,并且只有企业支持。

我在 MS 的网站上找不到任何支持这一点的东西,老实说,如果标准版有效,我不想为 Enterprise 支付额外费用。我是否遗漏了一些未提及的 SQL Server 功能,或者正如我怀疑的那样,这是一个试图向我追加销售的供应商?

0 投票
2 回答
9039 浏览

sql - 为什么 SQL 全文索引不返回包含 # 的单词的结果?

例如,我的查询使用 SQL Server 2005 如下所示:

我定义了一个全文索引以使用 SearchField 列,该列在使用时返回结果:

我相信 # 是一个特殊的字母,那么如何让 FREETEXT 对上述查询正常工作?

0 投票
6 回答
2138 浏览

sql-server - Windows Server 2008 “Server Core”是否适合 SQL Server 实例?

本周我将在 Windows Server 2008 上设置一个专用的 SQL Server 2005 机器,并希望将其缩减为尽可能准系统,同时仍能完全正常运行。

为此,“服务器核心”选项听起来很吸引人,但我不清楚是否可以在该 SKU 上运行 SQL Server。Microsoft 网站上提供了几项服务,但我没有看到有关 SQL Server 的任何迹象。

有人确切知道吗?