我有一个查询,在交易中需要很长时间。 当我得到进程的wait_type时,它是PAGEIOLATCH_SH 。 这种等待types意味着什么?如何解决?
在SQL Server中,我在表上有一个新列: ALTER TABLE t_tableName ADD newColumn NOT NULL 这失败了,因为我指定了NOT NULL而没有指定默认约束。 该表不应该有一个默认的约束。 为了解决这个问题,我可以使用默认约束创build表,然后删除它。 然而,似乎没有什么办法可以指定默认的约束应该被命名为这个语句的一部分,所以我唯一的方法是摆脱它的存储过程,它在sys.default_constraints表。 这对于可能发生的操作来说有点麻烦/冗长。 有没有人有更好的解决scheme呢?
我正在使用SQL Server 2005.我想约束列中的值是唯一的,同时允许NULLS。 我目前的解决scheme涉及一个独特的索引,如下所示: CREATE VIEW vw_unq WITH SCHEMABINDING AS SELECT Column1 FROM MyTable WHERE Column1 IS NOT NULL CREATE UNIQUE CLUSTERED INDEX unq_idx ON vw_unq (Column1) 任何更好的想法?
有人可以解释TSQL中的COALESCE函数是如何工作的吗? 语法如下 COALESCE(x,y) 这个函数的MSDN文档非常含糊
有没有什么“简单”的方法来做到这一点,或者我需要通过与“OUTPUT … INTO”语法的表variables传递? DECLARE @someInt int INSERT INTO MyTable2(AIntColumn) OUTPUT @SomeInt = Inserted.AIntColumn VALUES(12)
我有一个大桌子,说10列。 其中4个大部分时间都是空的。 我有一个查询,空值取任何大小或没有字节大小。 我读了几篇文章,其中一些是说: http://www.sql-server-citation.com/2009/12/common-mistakes-in-sql-server-part-4.html 有一个误解,如果我们有一个表中的NULL值,它不会占用存储空间。 事实上,一个NULL值占用的空间 – 2个字节 SQL:使用NULL值与默认值 数据库中的NULL值是一个系统值,占用一个字节的存储空间,并指示值不存在,而不是空格或零或任何其他默认值。 你可以请指导我关于空值所采取的大小。
我正在尝试在T-SQL中创build一些脚本variables,如下所示: /* Deployment script for MesProduction_Preloaded_KLM_MesSap */ GO SET ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS, ARITHABORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER ON; SET NUMERIC_ROUNDABORT OFF; GO :setvar DatabaseName "MesProduction_Preloaded_KLM_MesSap" 但是,当我运行这个时,我得到一个错误,说明'不正确的语法附近':'。 我究竟做错了什么?
每次查询运行时,是否可以编写按照随机顺序返回表行的SQL查询?
我似乎无法连接到我的数据库从一个网站。 我得到这个错误: 命名pipe道提供程序,错误:40 – 无法打开连接到SQL Server 我尝试使用本地IP地址连接以及公共之一。 我试过了: 是的,该网站可以与服务器通信 命名pipe道/ TCP已启用。 远程连接是允许的。 Windows防火墙已closures 在Windows防火墙中为端口1433创build了一个例外。 启用SQL Serverconfigurationpipe理器中的所有内容。 我还能在这里做什么?
我想指定在两个整数之间进行除法的小数位数,例如: select 1/3 目前返回0 。 我希望它返回0,33 。 就像是: select round(1/3, -2) 但是这不起作用。 我怎样才能达到预期的效果?