问题标签 [sql-server-2005]

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 投票
3 回答
10997 浏览

sql-server - 如何创建 Sql Server 2005 的新实例

我忘记了 Sql Server 2005 的密码。Windows 身份验证未启用,因此我无法登录。如何删除当前实例并创建一个新的数据库实例?还是存在更好的解决方案?

0 投票
4 回答
1184 浏览

database - SQL2005:将一个表链接到多个表并保持参考完整性?

这是我的数据库的简化:

然后我们有其他表分别与QuoteJob表相关。

我现在需要添加一个Message表,用户可以在其中记录客户留下的关于 Jobs 和 Quotes 的电话消息。

我可以创建两个相同的表(QuoteMessageJobMessage),但这违反了 DRY 原则并且看起来很混乱。

我可以创建一个消息表:

但这阻止了我使用约束来强制执行我的参照完整性。我还可以预见它会在以后使用 Linq to SQL 与开发方面产生问题。

这个问题是否有一个优雅的解决方案,或者我最终将不得不一起破解一些东西?

伯恩斯

0 投票
22 回答
28961 浏览

sql-server - 诊断 SQL Server 2005 中的死锁

我们在 Stack Overflow SQL Server 2005 数据库中看到了一些有害但罕见的死锁情况。

我附加了分析器,使用这篇关于故障排除死锁的优秀文章设置了跟踪配置文件,并捕获了一堆示例。奇怪的是,死锁写总是一样的

另一个死锁语句各不相同,但通常是对帖子表的某种琐碎、简单的读取。这个总是在僵局中被杀死。这是一个例子

非常清楚,我们看到的不是写/写死锁,而是读/写。

目前,我们混合使用了 LINQ 和参数化 SQL 查询。我们已添加with (nolock)到所有 SQL 查询中。这可能对一些人有所帮助。我们还有一个(非常)写得很糟糕的徽章查询,我昨天修复了它,每次运行需要超过 20 秒,并且每分钟都在运行。我希望这是一些锁定问题的根源!

不幸的是,大约 2 小时前我又遇到了一个死锁错误。完全相同的症状,完全相同的罪魁祸首。

真正奇怪的是,您在上面看到的锁定写入 SQL 语句是非常具体的代码路径的一部分。它在向问题添加新答案时执行 - 它使用新答案计数和最后日期/用户更新父问题。显然,相对于我们正在进行的大量读取,这并不常见!据我所知,我们并没有在应用程序的任何地方进行大量写入。

我意识到 NOLOCK 有点像一把巨大的锤子,但是我们在这里运行的大多数查询不需要那么准确。你会关心你的用户资料是否过时了几秒钟吗?

正如Scott Hanselman 在这里所讨论的,在Linq 中使用 NOLOCK 有点困难。

我们正在考虑使用

在基本数据库上下文上,以便我们所有的 LINQ 查询都有这个集合。否则,我们将不得不将我们进行的每个 LINQ 调用(嗯,简单的读取调用,其中绝大多数)封装在一个 3-4 行的事务代码块中,这很难看。

我想我有点沮丧,因为 SQL 2005 中的琐碎读取可能会导致写入死锁。我可以看到写/写死锁是一个大问题,但是读吗?我们不是在这里经营银行网站,我们不需要每次都完美准确。

想法?想法?


您是为每个操作实例化一个新的 LINQ to SQL DataContext 对象,还是为所有调用共享相同的静态上下文?

Jeremy,我们大部分时间都在基础控制器中共享一个静态数据上下文:

您是否建议我们为每个控制器、每个页面或......更频繁地创建一个新的上下文?

0 投票
7 回答
81739 浏览

sql - SQL Server 2005 - 以编程方式导出表(运行 .sql 文件来重建它)

我有一个带有表客户的数据库,其中包含一些数据

我在办公室有另一个数据库,一切都相同,但我的客户表是空

的 如何在 SQL Server 2005 (T-SQL) 中创建一个包含所有数据的 sql 文件在第一个数据库的客户表上,创建一个,比如说,buildcustomers.sql,我压缩该文件,通过网络复制它,在我的 SQL Server 中执行它,瞧!我的表客户已满

我怎样才能对整个数据库做同样的事情?

0 投票
6 回答
26247 浏览

sql-server - 如何在不使用本地或临时文件的情况下将存储过程输出直接写入 FTP 上的文件?

我想获取存储过程的结果并将它们放入 CSV 文件中的 FTP 位置。

但问题是我无法创建一个本地/临时文件,然后我可以通过 FTP 访问该文件。

我采用的方法是使用 SSIS 包创建一个临时文件,然后在包中设置一个 FTP 任务来通过 FTP 传输文件,但是我们的 DBA 不允许在任何服务器上创建临时文件。

回复 Yaakov Ellis

我认为我们需要说服 DBA 让我在他们不操作的服务器上至少使用一个共享,或者询问他们将如何做到这一点。

回复凯夫

我喜欢 CLR 集成的想法,但我认为我们的 DBA 甚至不知道这是什么,而且他们可能也不会允许这样做。但我可能能够在可以安排的 SSIS 包中的脚本任务中执行此操作。

0 投票
5 回答
15636 浏览

sql-server - 无法添加 Sql Server 登录

当我尝试通过说创建 SQL Server 登录时

我收到这个错误

服务器主体“ourdomain\SQLAccessGroup”已存在。

但是,当我尝试这段代码时

我收到这个错误

无法删除登录 'ourdomain\SQLAccessGroup',因为它不存在或您没有权限。

我正在执行此代码的用户是系统管理员。此外,该用户ourdomain\SQLAccessGroup未出现在此查询中

有没有人有任何想法?

0 投票
1 回答
6185 浏览

sql-server - 如何在 SQL Server Management Studio 中创建映射表?

我正在学习 SQL 中的表设计,我想知道如何创建映射表以在其他两个表之间建立多对多关系?

我认为映射表需要两个主键 - 但我看不到如何创建它,因为它看起来只能有 1 个主键列?

我正在使用数据库图表功能来创建我的表和关系。

0 投票
12 回答
24386 浏览

sql-server - 是否有开源 SQL Server 数据库比较工具?

我正在开发一个使用 SQL Server 2005 作为数据存储的开源项目。我们需要一个数据库比较工具来生成差异脚本,以便能够将数据库从一个版本升级到另一个版本。

是否有生成转换脚本的开源或免费 SQL Server DB 差异工具?

0 投票
5 回答
1662 浏览

sql - 比较 SQL 中的生效日期

想知道当您需要查看有效的开始日期和结束日期时,在选择记录的 WHERE 子句中是否有更好的原因?

目前这是我过去在 MS SQL Server 上的做法。只是担心日期而不是时间。我正在使用 SQL Server 2005。

0 投票
8 回答
82807 浏览

c# - 在 SQL Server(C# 客户端)中批量插入大量数据的最快方法是什么

我的 C# 客户端将批量数据插入 SQL Server 2005 数据库时遇到了一些性能瓶颈,我正在寻找加快该过程的方法。

我已经在使用 SqlClient.SqlBulkCopy(它基于 TDS)来加快跨线路的数据传输,这很有帮助,但我仍在寻找更多。

我有一个简单的表格,如下所示:

我在平均大约 300 行的块中插入数据,其中 ContainerId 和 BinId 在每个块中是恒定的,并且序列值是 0-n,并且这些值是根据主键预先排序的。

%Disk time 性能计数器在 100% 上花费了大量时间,因此很明显磁盘 IO 是主要问题,但我得到的速度比原始文件副本低几个数量级。

如果我有帮助:

  1. 在我进行插入时删除主键并稍后重新创建它
  2. 插入到具有相同模式的临时表中,并定期将它们转移到主表中,以保持发生插入的表的大小较小
  3. 还要别的吗?

——根据我得到的答复,让我澄清一下:

Portman:我正在使用聚集索引,因为当数据全部导入后,我需要按顺序依次访问数据。导入数据时,我并不特别需要索引。在进行插入时使用非聚集 PK 索引而不是完全删除约束以进行导入有什么好处?

Chopeen:数据是在许多其他机器上远程生成的(我的 SQL 服务器目前只能处理大约 10 个,但我希望能够添加更多)。在本地机器上运行整个过程是不切实际的,因为它必须处理 50 倍的输入数据才能生成输出。

Jason:在导入过程中,我没有对表进行任何并发查询,我会尝试删除主键,看看是否有帮助。