-
sql-server – 来自不同进程中相同临时表的锁的死锁
所属栏目:[MsSql教程] 日期:2021-01-10 热度:161
我发现了一个似乎显示出我认为不可能的事情的僵局.死锁涉及两个进程: 1. process8cf948 SPID 63 在临时表#PB_Cost_Excp_Process_Invoices_Work上执行ALTER TABLE. 拥有表上的IX锁#BB_Cost_Excp_Process_Invoices_Work,对象ID为455743580 2. process4cb3708 S[详细]
-
sql-server – 将每日时间表分组为[开始日期;结束日期]与工作日
所属栏目:[MsSql教程] 日期:2021-01-10 热度:113
我需要在两个系统之间转换数据. 第一个系统将日程表存储为日期的简单列表.计划中包含的每个日期都是一行. 日期顺序(周末,公众假期和更长的停顿)可能存在各种差距,一周中的某些日子可能会被排除在日程表之外.根本没有差距,甚至可以包括周末.时间表最长可达2年.[详细]
-
sql-server – NOLOCK总是坏的吗?
所属栏目:[MsSql教程] 日期:2021-01-10 热度:51
我是一名报告开发人员,希望尽可能提高我的查询效率.我曾经和DBA一起工作,他告诉我 – 我相信因为我一直在处理生产服务器上的报告 – 在每个查询中使用NOLOCK. 现在,我与一位在任何情况下都禁止NOLOCK的DBA合作 – 即使我的报告(由于几张表上相当缺乏索引)正在[详细]
-
SQL 2使用不同的过滤器计数
所属栏目:[MsSql教程] 日期:2021-01-10 热度:189
我有一个表,我需要在一个语句中计算两个具有不同条件的聚合函数.我怎样才能做到这一点? 下面的伪代码: SELECT count(CoumntA) * 0*,count(CoumntA) * 0*FROM dbo.TableA 解决方法 这与tombom的答案相同,但使用SQL Server语法: SELECT SUM(CASE WHEN Coumnt[详细]
-
sql-server – SELECT语句中的OPTION FAST有什么作用?
所属栏目:[MsSql教程] 日期:2021-01-10 热度:179
我已经做了一些挖掘OPTION(FAST XXX)查询提示在SELECT语句中做了什么,并且仍然对它感到困惑.根据MSDN: Specifies that the query is optimized for fast retrieval of the first number_rows. This is a nonnegative integer. After the first number_rows a[详细]
-
sql-server – SQL Server使用与定义不匹配的数据填充PERSISTED
所属栏目:[MsSql教程] 日期:2021-01-10 热度:66
我正在跟踪 this question关于PERSISTED计算列中的奇怪值.那里的答案会对这种行为如何产生一些猜测. 我问以下问题:这不是一个彻头彻尾的错误吗?是否允许PERSISTED列以这种方式运行? DECLARE @test TABLE ( Col1 INT,Contains2 AS CASE WHEN 2 IN (Col1) TH[详细]
-
sql-server – SQL Server位列真的使用整个字节的空间吗?
所属栏目:[MsSql教程] 日期:2021-01-10 热度:132
我正在寻找SSMS并注意到我的INT列的“大[详细]
-
sql-server – 父子树分层ORDER
所属栏目:[MsSql教程] 日期:2021-01-10 热度:117
我必须在SQL Server 2008 R2中关注数据. SQLFiddle 架构: CREATE TABLE [dbo].[ICFilters]( [ICFilterID] [int] IDENTITY(1,1) NOT NULL,[ParentID] [int] NOT NULL DEFAULT 0,[FilterDesc] [varchar](50) NOT NULL,[Active] [tinyint] NOT NULL DEFAULT 1,C[详细]
-
数据库设计 – 轮询是从数据库更新应用程序数据的唯一方法吗?
所属栏目:[MsSql教程] 日期:2021-01-10 热度:198
应用程序需要尽可能从数据库中更新数据.在这种情况下,除了基于请求(轮询)数据库的计时器之外,还有其他任何获取数据的方法吗? 我使用MS SQL Server 2008(和.NET应用程序实体框架),但我也想了解其他类型的数据库. 解决方法 Service Broker for SQL Server 2005[详细]
-
sql-server-2005 – 移动SQL 2000 32位数据库
所属栏目:[MsSql教程] 日期:2021-01-10 热度:92
我可以将SQL 2000 32位数据库移动到SQL 2005 64位数据库服务器 解决方法 是的你可以.有两种简单的方法可以做到这一点: 创建数据库备份并将其还原到新服务器上. 分离数据库,然后将.mdf和.ldf移动到新服务器并将它们附加到它. 我更喜欢使用备份方法,因为顾名思[详细]
-
还有哪些其他数据库具有与Oracle的闪回查询类似的功能?
所属栏目:[MsSql教程] 日期:2021-01-10 热度:145
我很想知道其他数据库有哪些类似于 Oracle’s Flashback Query的功能.似乎任何支持 MVCC的数据库都可以拥有该功能,但是哪个? SO有 this question for SQL Server,但这似乎更合适. 解决方法 PostgreSQL目前没有它.但你是对的,MVCC在理论上应该是可能的.事实上[详细]
-
sql-server – 如何查找包含进程ID,进程名称,登录时间,用户,开始
所属栏目:[MsSql教程] 日期:2021-01-10 热度:180
任何人都可以帮我找到长期运行查询的下面给出的详细信息. ProcessID,进程名称,数据库,主机,用户,进程登录时间,查询开始时间和查询持续时间. 我正在寻找一个查询或SP给我这个数据. 解决方法 正如评论所述,最好的工具是 sp_whoIsActive到 Adam Machanic.它可以[详细]
-
如何简化MS SQL服务器数据库还原?
所属栏目:[MsSql教程] 日期:2021-01-10 热度:117
我必须每天多次恢复各种SQL服务器数据库(用于开发目的).在SSMS接口中,它需要永远,并且使用它的所有路径键入RESTORE DATABASE命令甚至更长.理想情况下,我想在 Windows资源管理器中双击一个BAK文件并运行一些东西来恢复它.我该怎么做? 解决方法 免费软件 One-C[详细]
-
iis – 如何隐藏DMZ中的连接字符串
所属栏目:[MsSql教程] 日期:2021-01-10 热度:107
我们在 Windows Server 2012上在DMZ中设置IIS服务器,在域外运行.此服务器需要访问我们域内防火墙另一侧的SQL Server 2005. 我们计划使用SQL Server身份验证来实现这一点,这意味着我们的ASP.NET应用程序需要知道用户ID和密码.在IIS服务器上隐藏此信息的最佳方[详细]
-
sql-server – 对表的大改动有什么好处:每次DELETE和INSERT或UP
所属栏目:[MsSql教程] 日期:2021-01-10 热度:180
我正在制作一个项目,我需要每天在一张桌子上更改大约36K记录.我想知道什么会更好: 删除行并插入新行,或 更新已存在的行 对我来说,删除所有行并插入新行更容易,但如果要将表和索引分段并影响性能,那么我希望尽可能进行更新,并在必要时删除/插入. 这将是一个夜[详细]
-
sql-server – 在运行性能比较之前清除缓存的SQL Server命令
所属栏目:[MsSql教程] 日期:2021-01-10 热度:183
在比较两个不同查询的执行时间时,清除缓存以确保第一个查询的执行不会改变第二个查询的性能非常重要. 在Google搜索中,我可以找到以下命令: DBCC FREESYSTEMCACHEDBCC FREESESSIONCACHEDBCC FREEPROCCACHE 事实上,我的查询在几次执行之后比以前更加真实.但是,[详细]
-
编写Postgres获取或创建SQL查询
所属栏目:[MsSql教程] 日期:2021-01-10 热度:182
我想编写一个Postgres SQL语句,说明寻找具有颜色X和亮度Y的用户.如果该用户存在,则返回其所有行数据.如果没有,请创建一个新行并传递其他信息.两个单独的语句将执行以下操作: Select (color,brightness,size,age) FROM mytable WHERE color = 'X' AND brightn[详细]
-
sql-server – 从备份失败的SQL Server 2005还原
所属栏目:[MsSql教程] 日期:2021-01-10 热度:65
我有.bak文件,用于我公司最近接管的项目数据库. 我能够恢复几个.bak文件,但最重要的是失败. 当它失败时,我只是得到一般错误,并要求检查日志. 这是发生的错误: 信息 SQL Server断言:文件:,行= 1443失败断言=’pFile’.此错误可能与时间有关.如果在重新运行[详细]
-
sql-server – SQL表大小和查询性能
所属栏目:[MsSql教程] 日期:2021-01-09 热度:117
我们有一些来自网络服务的项目;每个项目包含未知数量的属性.我们将它们存储在具有以下Schema的数据库中. 项目 – ItemID – 项目名 属性 – PropertyID – PropertyName – 适当的价值 – PropertyValueType – TransmitTime – ItemID [fk] 每次调用Web服务[详细]
-
sql-server – 在哪里使用外部应用
所属栏目:[MsSql教程] 日期:2021-01-09 热度:117
主表 x------x--------------------x| Id | Name |x------x--------------------x| 1 | A || 2 | B || 3 | C |x------x--------------------x 详细信息表 x------x--------------------x-------x| Id | PERIOD | QTY |x------x--------------------x-------x|[详细]
-
sql-server – 分配更多CPU和RAM后,SQL Server性能降低
所属栏目:[MsSql教程] 日期:2021-01-09 热度:110
我们在虚拟 Windows 2008 R2服务器上运行SQL Server 2008 R2(10.50.1600).在将CPU从1核升级到4并将RAM从4 gb升级到10 gb后,我们发现性能更差. 我看到一些观察结果: 花费5秒运行的查询现在花费 200秒. CPU被钉在100,sqlservr.exe是罪魁祸首. 具有460万行的表[详细]
-
sql – 访问2007中的switch的默认值
所属栏目:[MsSql教程] 日期:2021-01-09 热度:153
我在access 2007中使用switch语句,我想知道如何指定默认值 select switch ( MyCol = 1,'Value is One',MyCol = 2,'Value is Two' ) from MyTable 谢谢 解决方法 SELECTSwitch(MyTable.[MyCol]='1','Terrestrial',MyTable.[MyCol]='2','Value is two',MyTable.[详细]
-
这个日期比较条件在SQL中是否可以SARG?
所属栏目:[MsSql教程] 日期:2021-01-09 热度:119
这种情况是否可以接受? AND DATEDIFF(month,p.PlayerStatusLastTransitionDate,@now) BETWEEN 1 AND 7) 我的经验法则是左边的一个函数使条件不可思议..但在某些地方我已经读过BETWEEN子句是sargable. 那么任何人都知道吗? 以供参考: What makes a SQL stat[详细]
-
sql-server – 为什么这些字符在SQL Server中都是相同的?
所属栏目:[MsSql教程] 日期:2021-01-09 热度:125
我只是不明白.看到这个SQL查询: select nchar(65217) -- ?select nchar(65218) -- ?select nchar(65219) -- ?select nchar(65220) -- ?if nchar(65217) = nchar(65218) print 'equal'if nchar(65217) = nchar(65219) print 'equal'if nchar(65217) = nchar(6[详细]
-
在SQL中返回空表的首选方法是什么?
所属栏目:[MsSql教程] 日期:2021-01-09 热度:103
我知道我可以使用以下查询返回一个空表: select * from tbFoo where 1=2 但是那段代码对我来说并不好看. 有这种“标准”方式吗? 如果你想知道我为什么要做这么奇怪的事情,那是因为I can’t name the datatables I return from a stored procedure,所以我需[详细]