Questions tagged «sql-server»

Microsoft SQL Server是一个关系数据库管理系统(RDBMS)。将此标签用于所有SQL Server版本,包括Compact,Express,Azure,Fast-track,APS(以前称为PDW)和Azure SQL DW。请勿将此标签用于其他类型的DBMS(MySQL,PostgreSQL,Oracle等)。除非该标签与数据库直接相关,否则请勿将其用于软件和移动开发问题。

7
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); 我读到该条款,但我不明白为什么需要它。该功能Over做什么?怎么Partitioning By办?为什么我不能用文字查询Group By SalesOrderID?

5
OPTION(RECOMPILE)总是更快;为什么?
我遇到了一种奇怪的情况 OPTION (RECOMPILE)查询到查询中会使查询在半秒钟内运行,而省略查询会使查询花费超过五分钟的时间。 从Query Analyzer或C#程序通过执行查询时,就是这种情况SqlCommand.ExecuteReader()。打电话(或不打电话)DBCC FREEPROCCACHE或DBCC dropcleanbuffers没有区别;查询结果始终会即时返回OPTION (RECOMPILE)不超过五分钟的情况下。始终使用相同的参数调用该查询(为了进行此测试)。 我正在使用SQL Server 2008。 我对编写SQL相当满意,但以前从未OPTION在查询中使用过命令,并且在扫描此论坛上的帖子之前并不熟悉计划缓存的整个概念。我从帖子中了解到,这OPTION (RECOMPILE)是一项昂贵的操作。显然,它为查询创建了新的查找策略。那么,为什么随后的省略的查询OPTION (RECOMPILE)是如此之慢呢?后续查询是否应该利用上一次包含重新编译提示的调用所计算的查找策略? 是否有一个查询在每次调用时都需要重新编译提示是非常不寻常的吗? 对不起入门级的问题,但我实在无法一字不漏。 更新:我被要求发布查询... select acctNo,min(date) earliestDate from( select acctNo,tradeDate as date from datafeed_trans where feedid=@feedID and feedDate=@feedDate union select acctNo,feedDate as date from datafeed_money where feedid=@feedID and feedDate=@feedDate union select acctNo,feedDate as date from datafeed_jnl where …

4
T-SQL中的IndexOf函数
给定一个电子邮件地址列,我需要找到@符号的位置以进行子字符串化。 indexofT-SQL中的字符串有什么功能? 寻找返回字符串中子字符串位置的东西。 在C#中 var s = "abcde"; s.IndexOf('c'); // yields 2
168 sql  sql-server  tsql  string 


19
SQL Server还原错误-访问被拒绝
我在本地计算机上创建了一个数据库,然后进行了名为tables.baktable 的备份DataLabTables。 我将该备份移到了没有该表的远程计算机上,并试图进行还原,但是出现以下错误: System.Data.SqlClient.SqlError:尝试在c:\ Program Files \ Microsoft SQL Server \ MSSQL.1 \ MSSQL \ DataLabTables上尝试“ RestoreContainer :: ValidateTargetForCreation”时,操作系统返回错误“ 5(访问被拒绝。)” .mdf”。 如果那是问题,我应如何解决我的权利?

9
Visual Studio:ContextSwitch死锁
我收到了我无法解决的错误消息。它源自Visual Studio或调试器。我不确定最终的错误情况是在VS,调试器,我的程序还是数据库中。 这是Windows应用程序。不是网络应用。 VS发出的第一条消息是一个弹出框,上面显示:“没有为任何调用堆栈框架加载任何符号。无法显示源代码。” 单击该按钮后,我得到:“ 检测到ContextSwitchDeadlock ”,以及下面复制的一则长消息。 该错误出现在向下扫描DataTable的循环中。对于每一行,它将表中的键(HIC#)值用作SqlCommand的参数。该命令用于创建返回一行的SqlDataReader。比较数据。如果检测到错误,则将一行添加到第二个DataTable。 该错误似乎与过程运行多长时间(即60秒后)有关,而不是与发现多少错误有关。我不认为这是内存问题。循环内未声明任何变量。唯一创建的对象是SqlDataReaders,它们位于Using结构中。添加System.GC.Collect()无效。 该数据库是同一台便携式计算机上的SqlServer站点。 表单上没有精美的小玩意或小工具。 我不知道此过程中的任何事情与我之前数十次所做的事情有很大不同。我之前已经看过错误,但是从来没有始终如一。 有什么想法吗? 完整错误文本: 60秒钟以来,CLR无法从COM上下文0x1a0b88过渡到COM上下文0x1a0cf8。拥有目标上下文/公寓的线程很可能要么执行非泵送等待,要么处理很长时间运行的操作而不泵送Windows消息。这种情况通常会对性能造成负面影响,甚至可能导致应用程序变得无响应或随着时间的推移不断累积内存使用量。为避免此问题,所有单线程单元(STA)线程都应使用泵送等待原语(例如CoWaitForMultipleHandles),并在长时间运行的操作中定期泵送消息。


13
更新SQL中的多列
有没有一种方法可以像使用插入语句一样更新SQL Server中的多列? 就像是: Update table1 set (a,b,c,d,e,f,g,h,i,j,k)= (t2.a,t2.b,t2.c,t2.d,t2.e,t2.f,t2.g,t2.h,t2.i,t2.j,t2.k) from table2 t2 where table1.id=table2.id 或类似的东西,而不是像这样: update table set a=t2.a,b=t2.b etc 如果您有100多个专栏,那么编写起来可能会很累。

10
如何在不使用MS SQL Server Management Studio的情况下在SQL Server中更改默认数据库?
我从SQL Server删除了一个数据库,但是事实证明,我的登录名设置为使用删除的数据库作为默认数据库。我可以通过使用连接对话框中的“选项”按钮并选择“ master”作为要连接的数据库来连接到SQL Server Management Studio。但是,每当我尝试在对象资源管理器中执行任何操作时,它都会尝试使用默认数据库进行连接并失败。 有谁知道如何在不使用对象资源管理器的情况下设置默认数据库?


8
在WHERE子句中引用列别名
SELECT logcount, logUserID, maxlogtm , DATEDIFF(day, maxlogtm, GETDATE()) AS daysdiff FROM statslogsummary WHERE daysdiff > 120 我懂了 “无效的列名daysdiff”。 Maxlogtm是日期时间字段。是让我发疯的小东西。



15
插入datetime时从字符串转换日期和/或时间时转换失败
我正在尝试如下创建表, create table table1(date1 datetime,date2 datetime); 首先,我尝试如下插入值, insert into table1 values('21-02-2012 6:10:00 PM','01-01-2001 12:00:00 AM'); 它给出了错误的说法, 无法将varchar转换为datetime 然后,我尝试使用以下格式作为我们stackoverflow建议的帖子之一, insert into table1 values(convert(datetime,'21-02-2012 6:10:00 PM',5) ,convert(datetime,'01-01-2001 12:00:00 AM',5)); 但是仍然出现错误, 从字符串转换日期和/或时间时转换失败 有什么建议?
164 sql  sql-server 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.