标签: sql-server

什么是命名管道?

它们是什么以及它们如何工作?

上下文恰好是SQL Server

sql-server pipe named-pipes

125
推荐指数
8
解决办法
17万
查看次数

你如何有效地模拟数据库中的继承?

在数据库中建模继承的最佳实践是什么?

权衡取舍(例如可疑性)是什么?

(我对SQL Server和.NET最感兴趣,但我也想了解其他平台如何解决这个问题.)

.net sql-server oop inheritance database-design

124
推荐指数
5
解决办法
5万
查看次数

用于确定最小连续访问天数的SQL?

以下用户历史记录表包含给定用户访问网站的每一天的一条记录(在24小时UTC时间段内).它有数千条记录,但每个用户每天只有一条记录.如果用户当天没有访问过该网站,则不会生成任何记录.

Id      UserId   CreationDate
------  ------   ------------
750997      12   2009-07-07 18:42:20.723
750998      15   2009-07-07 18:42:20.927
751000      19   2009-07-07 18:42:22.283

我正在寻找的是这个表上的SQL查询具有良好的性能,它告诉我哪些用户组连续几天访问了网站而没有错过一天.

换句话说,有多少用户在此表中有(n)个记录,包括顺序(前一天或后一天)日期?如果序列中缺少任何一天,则序列被破坏并应在1处重新开始; 我们正在寻找在这里连续几天没有差距的用户.

此查询与特定Stack Overflow徽章之间的任何相似之处纯属巧合,当然.. :)

sql sql-server date gaps-and-islands

124
推荐指数
5
解决办法
1万
查看次数

更改SQL Server中由架构绑定视图引用的列的大小

我正在尝试使用以下命令更改sql server中列的大小:

ALTER TABLE [dbo].[Address]
ALTER COLUMN [Addr1] [nvarchar](80) NULL
Run Code Online (Sandbox Code Playgroud)

Addr1最初的长度40.

它失败了,引发了这个错误:

The object 'Address_e' is dependent on column 'Addr1'.
ALTER TABLE ALTER COLUMN Addr1 failed because one or more objects access 
this column.
Run Code Online (Sandbox Code Playgroud)

我试图阅读它,似乎因为一些视图引用此列,似乎SQL Server实际上试图删除引发错误的列.

Address_e 是由以前的数据库管理员创建的视图.

有没有其他方法可以改变列的大小?

sql sql-server

124
推荐指数
4
解决办法
45万
查看次数

124
推荐指数
4
解决办法
11万
查看次数

SQL Server SELECT最后N行

这是一个众所周知的问题,但我发现的最佳解决方案是:

SELECT TOP N *
FROM MyTable
ORDER BY Id DESC
Run Code Online (Sandbox Code Playgroud)

我有一张有很多行的桌子.使用该查询不是一种可能性,因为它需要花费大量时间.那么如何在不使用ORDER BY的情况下选择最后N行呢?

编辑

抱歉这个重复的问题

sql sql-server performance sql-server-2008

124
推荐指数
8
解决办法
59万
查看次数

SQL Server:PIVOTing字符串数据的示例

试图找到一些简单的SQL Server PIVOT示例.我发现的大多数例子都涉及计算或总结数字.我只想转动一些字符串数据.例如,我有一个返回以下内容的查询.

Action1 VIEW  
Action1 EDIT  
Action2 VIEW  
Action3 VIEW  
Action3 EDIT  
Run Code Online (Sandbox Code Playgroud)

我想使用PIVOT(如果可能的话)来产生如下结果:

Action1 VIEW EDIT  
Action2 VIEW NULL  
Action3 VIEW EDIT  
Run Code Online (Sandbox Code Playgroud)

PIVOT功能可以实现这一点吗?

t-sql sql-server pivot

123
推荐指数
6
解决办法
19万
查看次数

WITH CHECK ADD CONSTRAINT后跟CHECK CONSTRAINT与ADD CONSTRAINT

我正在查看SQL Server 2008的AdventureWorks示例数据库,我在他们的创建脚本中看到他们倾向于使用以下内容:

ALTER TABLE [Production].[ProductCostHistory] WITH CHECK ADD 
CONSTRAINT [FK_ProductCostHistory_Product_ProductID] FOREIGN KEY([ProductID])
  REFERENCES [Production].[Product] ([ProductID])
GO
Run Code Online (Sandbox Code Playgroud)

紧接着是:

ALTER TABLE [Production].[ProductCostHistory] CHECK CONSTRAINT     
[FK_ProductCostHistory_Product_ProductID]
GO
Run Code Online (Sandbox Code Playgroud)

我看到这个用于外键(如此处),唯一约束和常规CHECK约束; DEFAULT约束使用我更熟悉的常规格式,例如:

ALTER TABLE [Production].[ProductCostHistory] ADD  CONSTRAINT  
[DF_ProductCostHistory_ModifiedDate]  DEFAULT (getdate()) FOR [ModifiedDate]
GO
Run Code Online (Sandbox Code Playgroud)

如果有的话,第一种方式与第二种方式之间有什么区别?

sql t-sql sql-server check-constraints

123
推荐指数
7
解决办法
11万
查看次数

是NOLOCK(Sql Server提示)不好的做法吗?

我的业务是制作关键任务的网站和应用程序- 例如.银行软件,太空飞行,重症监护应用等.你明白了.

那么,有了这个庞大的免责声明,在一些Sql语句中使用NOLOCK提示是不是很糟糕?几年前,一位Sql管理员建议我应该使用NOLOCK,如果我对"脏读"感到满意,这会让我的系统性能提高一些,因为每次读取都没有锁定表/行/不管.

我还被告知,如果我遇到死锁,这是一个很好的解决方案.所以,我开始关注这个想法几年,直到一个Sql大师帮我一些随机代码并注意到我的sql代码中的所有NOLOCKS.我被礼貌地责骂,他试图向我解释(为什么这不是一件好事)而且我迷路了.我觉得他的解释的本质是'它是一个解决更严重问题的创可贴解决方案......特别是如果你遇到了死锁.因此,修复问题的根源.

我最近做了一些谷歌搜索,并发现了这篇文章.

那么,有些sql db guru sensei的请赐教吗?

sql t-sql sql-server nolock sql-server-2008

123
推荐指数
5
解决办法
10万
查看次数

SQL Server 2012列标识增量在第7个条目上从6跳到1000+

我有一个奇怪的情况,我的SQL Server 2012数据库中的自动标识int列没有正确递增.

假设我有一个使用int自动标识作为主键的表,它偶尔会跳过增量,例如:

1,2,3,4,5,1004,1005

这是在随机数量的随机时间表上发生的,无法复制它以查找任何趋势.

这是怎么回事?有办法让它停止吗?

sql sql-server identity sql-server-2012

123
推荐指数
1
解决办法
10万
查看次数