标签: sql-server

如何在不考虑时间的情况下按日期时间列进行分组

我有一堆产品订单,我正在尝试按日期分组并总结该日期的数量.如何在不考虑时间的情况下按月/日/年进行分组?

3/8/2010 7:42:00 应该与...分组 3/8/2010 4:15:00

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

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

如何创建SQL Server函数以将子查询中的多行"连接"到单个分隔字段?

为了说明,假设我有两个表如下:

VehicleID Name
1         Chuck
2         Larry

LocationID VehicleID City
1          1         New York
2          1         Seattle
3          1         Vancouver
4          2         Los Angeles
5          2         Houston
Run Code Online (Sandbox Code Playgroud)

我想写一个查询来返回以下结果:

VehicleID Name    Locations
1         Chuck   New York, Seattle, Vancouver
2         Larry   Los Angeles, Houston
Run Code Online (Sandbox Code Playgroud)

我知道这可以使用服务器端游标完成,即:

DECLARE @VehicleID int
DECLARE @VehicleName varchar(100)
DECLARE @LocationCity varchar(100)
DECLARE @Locations varchar(4000)
DECLARE @Results TABLE
(
  VehicleID int
  Name varchar(100)
  Locations varchar(4000)
)

DECLARE VehiclesCursor CURSOR FOR
SELECT
  [VehicleID]
, [Name]
FROM [Vehicles]

OPEN VehiclesCursor

FETCH NEXT …
Run Code Online (Sandbox Code Playgroud)

sql sql-server string-concatenation

193
推荐指数
8
解决办法
13万
查看次数

NOLOCK提示在SELECT语句中的作用

我想真正的问题是:

如果我不关心脏读,将添加with(NOLOCK)提示到SELECT语句会影响性能:

  1. 当前的SELECT语句
  2. 针对给定表的其他事务

例:

Select * 
from aTable with (NOLOCK)
Run Code Online (Sandbox Code Playgroud)

sql sql-server locking

193
推荐指数
4
解决办法
33万
查看次数

列出在SQL Server上运行的查询

有没有办法列出当前在MS SQL Server上运行的查询(通过企业管理器或SQL)和/或谁连接?

我想我有一个很长时间运行的查询正在我的一个数据库服务器上执行,我想跟踪它并停止它(或者一直在启动它的人).

sql-server

193
推荐指数
14
解决办法
58万
查看次数

如何解决ASP.NET和SQL Server之间的连接池问题?

最近几天我们在网站上看到这条错误消息:

"超时已到期.在从池中获取连接之前已经过了超时时间.这可能是因为所有池连接都在使用中并且达到了最大池大小."

我们的代码暂时没有改变任何内容.我修改了代码以检查未关闭的打开连接,但发现一切都很好.

  • 我怎么解决这个问题?

  • 我需要编辑此池吗?

  • 如何编辑此池的最大连接数?

  • 高流量网站的推荐值是多少?


更新:

我需要在IIS中编辑某些内容吗?

更新:

我发现活动连接的数量在15到31之间,我发现在SQL Server中配置的最大允许连接数超过3200个连接,31个太多,或者我应该在ASP.NET配置中编辑一些东西?

.net sql-server asp.net sql-server-2005

192
推荐指数
13
解决办法
37万
查看次数

使用SQL Server Server Management Studio导入/导出数据库

我认为这将是微不足道的,但它不是......我确信有一种简单的方法可以做到,但我无法找到它.对我感到羞耻.

我想导入/导出数据库本身,表,约束(外键等).我宁愿不用它来获取数据,但如果没有别的办法,我可以摆脱它.

那么......你如何使用MS SQL Server Management Studio导出数据库?你怎么导入它?

我发现的唯一解决方案是右键单击表格和"脚本创建",但我有100个表格,所以我宁愿避免这种情况.

谢谢!

sql-server import ssms export

192
推荐指数
4
解决办法
33万
查看次数

如何在不丢失数据的情况下更改SQL数据库中的列数据类型

我有SQL Server数据库,我才意识到我可以将其中一个列的类型更改intbool.

如何在不丢失已输入该表的数据的情况下执行此操作?

sql-server alter sql-server-2008

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

SQL:WHERE子句中的IF子句

是否可以在MS SQL中的WHERE子句中使用IF子句?

例:

WHERE
    IF IsNumeric(@OrderNumber) = 1
        OrderNumber = @OrderNumber
    ELSE
        OrderNumber LIKE '%' + @OrderNumber + '%'
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

191
推荐指数
6
解决办法
77万
查看次数

SQL Server 2008无法使用新创建的用户登录

我正在使用Windows Vista,但我无法使用新创建的用户登录.

  1. 我打开SQL Server Management Studio.
  2. 我通过右键单击Security-> Logins来创建一个新的Login.
    检查:SQL Server身份验证
    登录名:tester
    密码:test
    单击"确定"
  3. 我将此用户添加到用户映射到我选择的数据库.
  4. 单击File - > Connect Object Explorer,选择SQL Server Authentication并输入tester/test并单击Connect.

我收到一个错误:

Login failed for user 'tester'. (Microsoft SQL Server, Error: 18456" 
with Severity = 14 and State = 1.
Run Code Online (Sandbox Code Playgroud)

导致此错误的原因是什么?如何使用我的用户登录?

sql-server authentication ssms login

191
推荐指数
2
解决办法
12万
查看次数

如何在SQL Server 2008中使用表别名编写UPDATE SQL?

我有一个非常基本的UPDATE SQL-

UPDATE HOLD_TABLE Q SET Q.TITLE = 'TEST' WHERE Q.ID = 101;
Run Code Online (Sandbox Code Playgroud)

该查询中运行良好Oracle,Derby,MySQL-但它在SQL Server 2008中失败 与以下错误:

"Msg 102,Level 15,State 1,Line 1'Q'附近的语法不正确."

如果我从SQL中删除所有出现的别名"Q",那么它可以正常工作.

但我需要使用别名.

sql sql-server alias sql-server-2008 sql-update

191
推荐指数
2
解决办法
17万
查看次数