-
sql-server – 为什么查询导致溢出到tempdb?
所属栏目:[MsSql教程] 日期:2021-01-11 热度:122
背景 我正在将具有48gb RAM的Win 2008服务器上的160gb数据库从MSSQL 2008(标准)迁移到Win 2012上运行MSSQL 2012(64位网络版)的新服务器,其中包含64 GB的RAM.旧服务器正在运行且负载不足;新服务器尚未投入生产.新服务器有8个tempdb文件(每个4GB). 问题 在新服[详细]
-
sql-server – 启用SQL调试是否存在任何风险
所属栏目:[MsSql教程] 日期:2021-01-11 热度:67
在我们当前的环境中,不允许开发人员对任何QA服务器使用SQL调试.我不清楚为什么做出决定. 应该考虑哪些因素来决定支持还是禁止启用SQL调试? 我正在寻找不用于生产的QA服务器,但是在十几个从事不相关项目的团队中共享.由于各种原因,我们的开发人员无法运行本地[详细]
-
sql-server – 如何使用SELECT INTO复制表但忽略IDENTITY属性?
所属栏目:[MsSql教程] 日期:2021-01-11 热度:84
我有一张带有标识栏的表说: create table with_id ( id int identity(1,1),val varchar(30)); 众所周知,这一点 select * into copy_from_with_id_1 from with_id; 导致copy_from_with_id_1也带有id身份. 以下stack overflow question提及明确列出所有列. 我[详细]
-
sql-server – WHERE中条件和条件顺序的逻辑运算符OR AND
所属栏目:[MsSql教程] 日期:2021-01-11 热度:178
我们来看看这两个陈述: IF (CONDITION 1) OR (CONDITION 2)...IF (CONDITION 3) AND (CONDITION 4)... 如果条件1为TRUE,是否会检查条件2? 如果条件3为假,将检查条件4吗? WHERE上的条件怎么样?SQL Server引擎是否优化了WHERE子句中的所有条件?程序员是否[详细]
-
sql-server – 有没有办法阻止计算列中的标量UDF抑制并行性?
所属栏目:[MsSql教程] 日期:2021-01-11 热度:150
关于SQL Server中的 perils of Scalar UDFs已经写了很多.随意搜索将返回大量结果. 但是,有些地方标量UDF是唯一的选择. 例如:处理XML时:XQuery不能用作计算列定义. Microsoft记录的一个选项是使用Scalar UDF将XQuery封装在Scalar UDF中,然后在计算列中使用它[详细]
-
数据库设计 – 为什么我们不允许NULL?
所属栏目:[MsSql教程] 日期:2021-01-11 热度:162
我记得读过这篇关于数据库设计的文章,我还记得它说你应该有NOT NULL的字段属性.我不记得为什么会这样. 我可以想到的是,作为应用程序开发人员,您不必测试NULL和可能不存在的数据值(例如,字符串的空字符串). 但是,对于日期,日期时间和时间(SQL Server 2008),您[详细]
-
数据库设计 – 是否有DBMS允许引用视图的外键(而不仅仅是基表)?
所属栏目:[MsSql教程] 日期:2021-01-11 热度:125
灵感来自Django建模问题: Database Modeling with multiple many-to-many relations in Django.db-design类似于: CREATE TABLE Book( BookID INT NOT NULL,BookTitle VARCHAR(200) NOT NULL,PRIMARY KEY (BookID)) ;CREATE TABLE Tag( TagID INT NOT NULL,T[详细]
-
sql-server – DBA对SSAS有什么了解?
所属栏目:[MsSql教程] 日期:2021-01-11 热度:146
我已经看到很多材料涉及SSAS的业务方面,但对管理和管理的重要方面并不是很重要. 从管理SQL Server Analysis Services实例的角度来看,DBA必须了解SSAS如何才能正确有效地管理它? 解决方法 快速概述DBAS的SSAS 所以,你是一个SQL Server DBA,你刚刚继承了一些蓝[详细]
-
sql-server – 在SQL Server中处理对密钥表的并发访问而不会出现
所属栏目:[MsSql教程] 日期:2021-01-11 热度:194
我有一个表,遗留应用程序使用它作为各种其他表中的IDENTITY字段的替代. 表中的每一行都存储IDName中指定的字段的最后使用的ID LastID. 偶尔存储的proc会出现死锁 – 我相信我已经构建了一个合适的错误处理程序;但我有兴趣看看这种方法是否像我认为的那样有效,[详细]
-
sql – 使用表,字段和模式名称查找引用的表名
所属栏目:[MsSql教程] 日期:2021-01-11 热度:75
我有一个要求,我需要通过表中的特定字段(外键表)使用此字段名称,表名(此字段所在的位置)和模式名称(其中)查找引用的表名(主键表名)桌子,因此场地居住) 例如: Schema1.TableA Id (Integer,PK) Name varcharSchema2.TableB Id (integer,PK) A_Id (integer,FK r[详细]
-
sql – 按别名分组
所属栏目:[MsSql教程] 日期:2021-01-11 热度:164
我有以下T-SQL查询: select count(CaseId),(SELECT DATEDIFF(day,CreateDate,LastActivityDate)) AS DiffDatefrom VW_Case_Analysiswhere CaseStatus = 'C' and LastActivityDate between '2013-4-1 00:00:00.000' and '2013-4-30 23:59:59.000'Group By Dif[详细]
-
sql-server – 具有额外字符的唯一标识符仍然在Select中匹配
所属栏目:[MsSql教程] 日期:2021-01-11 热度:134
我们正在使用带有唯一标识符的SQL Server 2012,我们注意到在选择时添加了额外的字符(因此不是36个字符),它仍会返回与UUID的匹配. 例如: select * from some_table where uuid = '7DA26ECB-D599-4469-91D4-F9136EC0B4E8' 使用uuid 7DA26ECB-D599-4469-91D4-F9[详细]
-
schema – Redgate SQL Compare与Visual Studio 2010 Premium /
所属栏目:[MsSql教程] 日期:2021-01-11 热度:93
我目前使用具有数据库项目的Visual Studio Professional Edition作为项目模板,但是它的一些功能不可用,例如Schema Compare工具.架构比较和数据库更新脚本生成仅在Visual Studio 2010 Premium / Ultimate版本中可用. 但是Visual Studio中的模式比较和更新脚本[详细]
-
sql-server – 为什么SQL Server在使用UNPIVOT时要求数据类型长
所属栏目:[MsSql教程] 日期:2021-01-11 热度:141
将 UNPIVOT 函数应用于未规范化的数据时,SQL Server要求数据类型和长度相同.我理解为什么数据类型必须相同,但为什么UNPIVOT要求长度相同? 假设我有以下需要取消的示例数据: CREATE TABLE People( PersonId int,Firstname varchar(50),Lastname varchar(25))[详细]
-
创建触发器以记录受影响的表的SQL?
所属栏目:[MsSql教程] 日期:2021-01-11 热度:147
我正在试图找出更新列值的内容,而我对应用程序知之甚少.快速浏览一下,我注意到大约90%的应用程序业务逻辑都是在数据库上处理的.毋庸置疑,SP,功能和触发器的深度是疯狂的. 我想在有问题的表上创建一个触发器,它将记录影响该表的SQL.可以使用什么SQL在正在更新[详细]
-
sql-server – 如何确定SQL Server数据库中表的大小
所属栏目:[MsSql教程] 日期:2021-01-11 热度:199
是否有任何内置函数/存储过程/查询有助于检索有关SQL Server数据库中MyTable大小的信息? 解决方法 对于单个表,您可以使用 sp_spaceused MyTable 对于数据库中的所有表,您可以将其与sp_msforeachtable一起使用,如下所示 CREATE TABLE #temp (table_name sysna[详细]
-
sql-server – SQL表大小和查询性能
所属栏目:[MsSql教程] 日期:2021-01-10 热度:72
我们有一些来自网络服务的项目;每个项目包含未知数量的属性.我们将它们存储在具有以下Schema的数据库中. 项目 – ItemID – 项目名 属性 – PropertyID – PropertyName – 适当的价值 – PropertyValueType – TransmitTime – ItemID [fk] 每次调用Web服务[详细]
-
sql-server – 在哪里使用外部应用
所属栏目:[MsSql教程] 日期:2021-01-10 热度:171
主表 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-10 热度:161
我们在虚拟 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-10 热度:84
我在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-10 热度:105
这种情况是否可以接受? AND DATEDIFF(month,p.PlayerStatusLastTransitionDate,@now) BETWEEN 1 AND 7) 我的经验法则是左边的一个函数使条件不可思议..但在某些地方我已经读过BETWEEN子句是sargable. 那么任何人都知道吗? 以供参考: What makes a SQL stat[详细]
-
sql-server – 为什么这些字符在SQL Server中都是相同的?
所属栏目:[MsSql教程] 日期:2021-01-10 热度:197
我只是不明白.看到这个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-10 热度:107
我知道我可以使用以下查询返回一个空表: select * from tbFoo where 1=2 但是那段代码对我来说并不好看. 有这种“标准”方式吗? 如果你想知道我为什么要做这么奇怪的事情,那是因为I can’t name the datatables I return from a stored procedure,所以我需[详细]
-
sql-server – 与事务组合触发
所属栏目:[MsSql教程] 日期:2021-01-10 热度:195
假设我们有以下情况: 我们有一个表(比如Table_A),它在INSERT上有一个触发器.触发器作业是根据table_A中插入的值更新table_B中的某些行. 现在,当我们在表中简单地插入一行时,一切正常,但是我们通过事务插入数据的情况呢?触发器是否会等到所有事务语句成功运[详细]
-
sql-server-2005 – 如何停止并重新启动sql server 2005?
所属栏目:[MsSql教程] 日期:2021-01-10 热度:78
是否有命令行甚至通过sql server studio优雅地停止SQL Server 2005? 解决方法 正如mfinni所说,net stop mssqlserver或类似的将从命令行执行.要添加它,从SSMS中的GUI,您可以右键单击实例名称并单击“停止”. 您还可以从SQL Configuration Manager应用程序停止[详细]