标签: sql-server

"exec sp_reset_connection"在Sql Server Profiler中的含义是什么?

试图通过发出"sp_reset_connection"来理解Sql Profiler的含义.

我有以下,"exec sp_reset_connection"行后跟BatchStarting和Completed,

RPC:Completed       exec sp_reset_connection
SQL:BatchStarting   SELECT [c].[TestID] AS [TestID], [c].[Description] AS [Description] FROM [dbo].[Test] AS [c]
SQL:BatchCompleted  SELECT [c].[TestID] AS [TestID], [c].[Description] AS [Description] FROM [dbo].[Test] AS [c]    
Run Code Online (Sandbox Code Playgroud)

基本上第一行"exec sp_reset_connection"意味着整个过程(我的连接被打开,选择stmt运行,然后连接关闭并释放回池)刚刚发生?或者我的联系仍处于开放阶段.

而且,为什么sp_reset_connection在我自己的select语句之前执行,不应该在用户的sql之后复位吗?

我想知道有什么方法可以更详细地了解连接何时打开和关闭?

通过查看"exec sp_reset_connection",这是否意味着我的连接已关闭?

sql-server database-connection sql-server-profiler sp-reset-connection

166
推荐指数
3
解决办法
11万
查看次数

我如何使用ROW_NUMBER()?

我想用它ROW_NUMBER()来...

  1. 得到max(ROW_NUMBER())- >或者我猜这也是所有行的计数

我试过做:

SELECT max(ROW_NUMBER() OVER(ORDER BY UserId)) FROM Users
Run Code Online (Sandbox Code Playgroud)

但它似乎没有工作......

  1. 要获得ROW_NUMBER()使用给定的资料片,即得.如果我有一个名字,我想知道名字来自哪一行.

我认为这将类似于我为#1尝试的东西

SELECT ROW_NUMBER() OVER(ORDER BY UserId) From Users WHERE UserName='Joe'
Run Code Online (Sandbox Code Playgroud)

但这也不起作用......

有任何想法吗?

sql sql-server row-number

166
推荐指数
7
解决办法
80万
查看次数

166
推荐指数
4
解决办法
12万
查看次数

检查SQL Server登录是否已存在

我需要检查SQL Server上是否已存在特定登录,如果不存在,则需要添加它.

我发现以下代码实际上将登录添加到数据库,但我想将其包装在IF语句中(不知何故)以检查登录是否存在.

CREATE LOGIN [myUsername] WITH PASSWORD=N'myPassword', 
DEFAULT_LANGUAGE=[us_english], 
CHECK_EXPIRATION=OFF, 
CHECK_POLICY=OFF 
GO
Run Code Online (Sandbox Code Playgroud)

我知道我需要询问系统数据库,但不知道从哪里开始!

sql-server login

165
推荐指数
9
解决办法
18万
查看次数

如何获得累计金额

declare  @t table
    (
        id int,
        SomeNumt int
    )

insert into @t
select 1,10
union
select 2,12
union
select 3,3
union
select 4,15
union
select 5,23


select * from @t
Run Code Online (Sandbox Code Playgroud)

上面的选择返回以下内容.

id  SomeNumt
1   10
2   12
3   3
4   15
5   23
Run Code Online (Sandbox Code Playgroud)

我如何得到以下内容

id  srome   CumSrome
1   10  10
2   12  22
3   3   25
4   15  40
5   23  63
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2008

165
推荐指数
7
解决办法
29万
查看次数

当未使用EXISTS引入子查询时,只能在选择列表中指定一个表达式

我的查询如下,并在其中包含一个子查询:

 select count(distinct dNum)
 from myDB.dbo.AQ
 where A_ID in 
  (SELECT DISTINCT TOP (0.1) PERCENT A_ID, 
            COUNT(DISTINCT dNum) AS ud 
 FROM         myDB.dbo.AQ
 WHERE     M > 1 and B = 0 
 GROUP BY A_ID ORDER BY ud DESC)
Run Code Online (Sandbox Code Playgroud)

我收到的错误是......

Only one expression can be specified in the select list when the subquery is not
introduced with EXISTS.`
Run Code Online (Sandbox Code Playgroud)

当我单独运行子查询时,它返回正常,所以我假设主查询存在一些问题?

sql t-sql sql-server exists

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

如何在SQL Server中找到外键依赖项?

如何在特定列上找到所有外键依赖项?

有哪些不同的替代方案(图形化在SSMS中,SQL Server中的查询/视图,第三方数据库工具,.NET中的代码)?

.net sql-server foreign-keys

163
推荐指数
7
解决办法
17万
查看次数

SQL OVER()子句 - 何时以及为何有用?

    USE AdventureWorks2008R2;
GO
SELECT SalesOrderID, ProductID, OrderQty
    ,SUM(OrderQty) OVER(PARTITION BY SalesOrderID) AS 'Total'
    ,AVG(OrderQty) OVER(PARTITION BY SalesOrderID) AS 'Avg'
    ,COUNT(OrderQty) OVER(PARTITION BY SalesOrderID) AS 'Count'
    ,MIN(OrderQty) OVER(PARTITION BY SalesOrderID) AS 'Min'
    ,MAX(OrderQty) OVER(PARTITION BY SalesOrderID) AS 'Max'
FROM Sales.SalesOrderDetail 
WHERE SalesOrderID IN(43659,43664);
Run Code Online (Sandbox Code Playgroud)

我读到了那个条款,我不明白为什么需要它.这个功能Over有什么作用?怎么Partitioning By办?为什么我不能写一个查询Group By SalesOrderID

mysql sql sql-server clause aggregate-functions

163
推荐指数
7
解决办法
23万
查看次数

如何删除SQL Server数据库中的所有表?

我正在尝试编写一个完全清空SQL Server数据库的脚本.这是我到目前为止:

USE [dbname]
GO
EXEC sp_msforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT all'
EXEC sp_msforeachtable 'DELETE ?'
Run Code Online (Sandbox Code Playgroud)

当我在Management Studio中运行它时,我得到:

命令已成功完成.

但是当我刷新表格列表时,它们仍然存在.我究竟做错了什么?

sql-server ssms sql-server-2008 sp-msforeachtable

163
推荐指数
12
解决办法
23万
查看次数

如何将表中的所有数据导出为可插入的sql格式?

我在Microsoft SQL Server Management Studio A_table的数据库(称之为A_db)中有一个表(称之为),有10行.

我有另一个数据库(称之为B_db),它有一个表(调用它B_table),它具有与之相同的列设置A_table.但这B_table是空的.

我想要的是:

  • 复制每行从A_tableB_table.

Microsoft SQL Server Management Studio 2012中是否有任何选项可以从表中创建插入SQL?或者还有其他选择吗?

sql sql-server ssms export copy

163
推荐指数
3
解决办法
21万
查看次数