问题标签 [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 投票
5 回答
3988 浏览

sql-server - 复制数据库的最佳方法是什么?

当我想复制一个数据库时,我总是创建一个新的空数据库,然后将现有数据库的备份恢复到其中。但是,我想知道这是否真的是最不容易出错、最不复杂和最有效的方法?

0 投票
8 回答
80506 浏览

sql-server - 我可以对表中的列进行逻辑重新排序吗?

如果我向 Microsoft SQL Server 中的表添加列,我可以控制该列在查询中的逻辑显示位置吗?

我不想弄乱磁盘上列的物理布局,但我想尽可能在​​逻辑上将列分组在一起,以便 SQL Server Management Studio 等工具以方便的方式列出表的内容。

我知道我可以通过 SQL Management Studio 执行此操作,方法是进入表的“设计”模式并拖动列的顺序,但我希望能够在原始 SQL 中执行此操作,以便我可以执行排序从命令行编写脚本。

0 投票
10 回答
8142 浏览

sql-server - 如何对持久性进行单元测试?

作为一名实践测试驱动开发的新手,我经常陷入困境,即如何对数据库的持久性进行单元测试。

我知道从技术上讲这将是一个集成测试(不是单元测试),但我想找出以下最佳策略:

  1. 测试查询。
  2. 测试插入。如果插入失败,我怎么知道插入出错了?我可以通过插入然后查询来测试它,但是我怎么知道查询没有错呢?
  3. 测试更新和删除——与测试插入相同

做这些的最佳实践是什么?


关于测试 SQL:我知道这可以完成,但是如果我使用像 NHibernate 这样的 O/R 映射器,它会在用于输出查询的别名中附加一些命名疣,因为这有点不可预测,我不确定我可以对此进行测试。

我应该放弃一切并简单地信任NHibernate吗?我不确定这是否谨慎。

0 投票
7 回答
146851 浏览

sql - 将 HashBytes 转换为 VarChar

0 投票
8 回答
10203 浏览

sql-server - 您是否遇到过 SQL Server 因为引用了太多表而无法执行的查询?

您是否见过任何错误消息?

-- SQL Server 2000

无法为视图或函数解析分配辅助表。
已超出查询中的最大表数 (256)。

-- SQL Server 2005

查询中的表名过多。允许的最大值为 256。

如果是,你做了什么?

放弃了?说服客户简化他们的需求?非规范化数据库?


@(希望我发布查询的每个人):

  1. 我不确定是否可以在答案编辑窗口中粘贴 70 KB 的代码。
  2. 即使我可以这样做,这也无济于事,因为这 70 KB 的代码将引用 20 或 30 个我也必须发布的视图,否则代码将毫无意义。

我不想听起来像我在这里吹嘘,但问题不在于查询。查询是最佳的(或至少几乎是最佳的)。我花了无数个小时优化它们,寻找可以删除的每一列和每一个表。想象一个包含 200 或 300 列的报表,必须用单个 SELECT 语句填充(因为几年前它还是一个小型报表时就是这样设计的)。

0 投票
8 回答
31675 浏览

sql-server - 适用于 SQL Server 的 Windows O/S 页面文件大小

有没有人知道运行 SQL Server 的 Windows 2003 服务器的适当页面文件大小的良好经验法则?

0 投票
46 回答
899839 浏览

sql - 如何拆分字符串以便访问项目 x?

使用 SQL Server,如何拆分字符串以便可以访问项目 x?

取一个字符串“Hello John Smith”。如何按空格拆分字符串并访问索引 1 处应返回“John”的项目?

0 投票
3 回答
3436 浏览

sql-server - 确定 SQL Server 中是否存在临时表的最佳方法是什么?

在编写我计划重新运行的 T-SQL 脚本时,我经常使用临时表来存储临时数据。由于临时表是动态创建的,因此我希望仅在该表存在时才能删除该表(在我创建它之前)。

我将发布我使用的方法,但我想看看是否有更好的方法。

0 投票
5 回答
48936 浏览

sql - 如何使用 T-SQL 分组依据

我知道我需要(尽管我不知道为什么)GROUP BY在使用任何聚合函数(如count, sum,avg等)的 SQL 查询末尾有一个子句:

还有GROUP BY什么时候有用,性能影响是什么?

0 投票
3 回答
4018 浏览

sql-server - 我需要知道一个表在 SQL Server 中使用了多少磁盘空间

我认为大多数人都知道如何通过 GUI(右键单击表、属性)来执行此操作,但在 T-SQL 中执行此操作完全很困难。