问题标签 [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.
sql-server - 复制数据库的最佳方法是什么?
当我想复制一个数据库时,我总是创建一个新的空数据库,然后将现有数据库的备份恢复到其中。但是,我想知道这是否真的是最不容易出错、最不复杂和最有效的方法?
sql-server - 我可以对表中的列进行逻辑重新排序吗?
如果我向 Microsoft SQL Server 中的表添加列,我可以控制该列在查询中的逻辑显示位置吗?
我不想弄乱磁盘上列的物理布局,但我想尽可能在逻辑上将列分组在一起,以便 SQL Server Management Studio 等工具以方便的方式列出表的内容。
我知道我可以通过 SQL Management Studio 执行此操作,方法是进入表的“设计”模式并拖动列的顺序,但我希望能够在原始 SQL 中执行此操作,以便我可以执行排序从命令行编写脚本。
sql-server - 如何对持久性进行单元测试?
作为一名实践测试驱动开发的新手,我经常陷入困境,即如何对数据库的持久性进行单元测试。
我知道从技术上讲这将是一个集成测试(不是单元测试),但我想找出以下最佳策略:
- 测试查询。
- 测试插入。如果插入失败,我怎么知道插入出错了?我可以通过插入然后查询来测试它,但是我怎么知道查询没有错呢?
- 测试更新和删除——与测试插入相同
做这些的最佳实践是什么?
关于测试 SQL:我知道这可以完成,但是如果我使用像 NHibernate 这样的 O/R 映射器,它会在用于输出查询的别名中附加一些命名疣,因为这有点不可预测,我不确定我可以对此进行测试。
我应该放弃一切并简单地信任NHibernate吗?我不确定这是否谨慎。
sql-server - 您是否遇到过 SQL Server 因为引用了太多表而无法执行的查询?
您是否见过任何错误消息?
-- SQL Server 2000
无法为视图或函数解析分配辅助表。
已超出查询中的最大表数 (256)。-- SQL Server 2005
查询中的表名过多。允许的最大值为 256。
如果是,你做了什么?
放弃了?说服客户简化他们的需求?非规范化数据库?
@(希望我发布查询的每个人):
- 我不确定是否可以在答案编辑窗口中粘贴 70 KB 的代码。
- 即使我可以这样做,这也无济于事,因为这 70 KB 的代码将引用 20 或 30 个我也必须发布的视图,否则代码将毫无意义。
我不想听起来像我在这里吹嘘,但问题不在于查询。查询是最佳的(或至少几乎是最佳的)。我花了无数个小时优化它们,寻找可以删除的每一列和每一个表。想象一个包含 200 或 300 列的报表,必须用单个 SELECT 语句填充(因为几年前它还是一个小型报表时就是这样设计的)。
sql-server - 适用于 SQL Server 的 Windows O/S 页面文件大小
有没有人知道运行 SQL Server 的 Windows 2003 服务器的适当页面文件大小的良好经验法则?
sql - 如何拆分字符串以便访问项目 x?
使用 SQL Server,如何拆分字符串以便可以访问项目 x?
取一个字符串“Hello John Smith”。如何按空格拆分字符串并访问索引 1 处应返回“John”的项目?
sql-server - 确定 SQL Server 中是否存在临时表的最佳方法是什么?
在编写我计划重新运行的 T-SQL 脚本时,我经常使用临时表来存储临时数据。由于临时表是动态创建的,因此我希望仅在该表存在时才能删除该表(在我创建它之前)。
我将发布我使用的方法,但我想看看是否有更好的方法。
sql - 如何使用 T-SQL 分组依据
我知道我需要(尽管我不知道为什么)GROUP BY
在使用任何聚合函数(如count
, sum
,avg
等)的 SQL 查询末尾有一个子句:
还有GROUP BY
什么时候有用,性能影响是什么?
sql-server - 我需要知道一个表在 SQL Server 中使用了多少磁盘空间
我认为大多数人都知道如何通过 GUI(右键单击表、属性)来执行此操作,但在 T-SQL 中执行此操作完全很困难。