-
sql-server – 如何获取SQL Server表中每行的实际数据大小?
所属栏目:[MsSql教程] 日期:2021-05-25 热度:69
我找到了这个脚本 sql-server-2005-reaching-table-row-size-limit 这似乎返回每个定义的数据类型长度的行大小.我需要一个脚本,它会给我表中的所有行,它们的最大数据大小超过建议的8024(无论MS推荐什么) 解决方法 试试这个脚本: declare @table nvarchar([详细]
-
sql-server – 高效插入具有聚簇索引的表
所属栏目:[MsSql教程] 日期:2021-05-25 热度:146
我有一个SQL语句,它将行插入到TRACKING_NUMBER列上具有聚簇索引的表中. 例如.: INSERT INTO TABL_NAME (TRACKING_NUMBER,COLB,COLC) SELECT TRACKING_NUMBER,COL_B,COL_C FROM STAGING_TABLE 我的问题是 – 在SELECT语句中为聚集索引列使用ORDER BY子句是[详细]
-
sql-server – 在不返回任何行的查询中包含ORDER BY会严重影响性
所属栏目:[MsSql教程] 日期:2021-05-25 热度:159
给定一个简单的三表连接,即使没有返回任何行,当包含ORDER BY时,查询性能也会发生巨大变化.实际问题场景需要30秒才能返回零行,但在不包括ORDER BY时是即时的.为什么? SELECT * FROM tinytable t /* one narrow row */JOIN smalltable s on t.id=s.tinyId /[详细]
-
sql-server – 包含要使用文件流的二进制文件的现有表
所属栏目:[MsSql教程] 日期:2021-05-25 热度:115
我有几个表,我想使用文件流存储. 这些表已包含二进制数据并具有rowguids.但是,在创建它们时,表未添加到启用文件流的文件组中. 这些表在这一点上使用文件流的最佳方法是什么?我是否需要删除重新创建表并迁移数据?有没有更简单的方法? 数据库已启用了文件[详细]
-
sql-server – 资源池“internal”中没有足够的系统内存来运行此
所属栏目:[MsSql教程] 日期:2021-05-24 热度:63
副标题#e# 我们的一个生产服务器报告了日志中的错误 Error: 701,Severity: 17,State: 123. There is insufficient system memory in resource pool ‘internal’ to run this query. 我搜索了这个错误,发现它是一个错误,并且有一个hotfix与Service Pack 2.[详细]
-
sql-server – 收缩数据库和文件有什么区别?
所属栏目:[MsSql教程] 日期:2021-05-24 热度:191
DBCC ShrinkDatabase()DBCC ShrinkFile() 我是否需要运行两个DBCC命令才能缩小数据库? 上面这两个有什么区别? 解决方法 只是… DBCC ShrinkDatabase():收缩所有文件 DBCC ShrinkFile():只有一个文件 例如,您可能遇到日志备份问题,并且它已失控,因此您[详细]
-
sql – 具有Desc / Asc排序的Order By子句的Case语句
所属栏目:[MsSql教程] 日期:2021-05-24 热度:61
SELECT *FROM TableNameWHEREORDER BY CASE @OrderByColumn WHEN 1 THEN Forename WHEN 2 THEN Surname END; 我有一个上面的声明,让我动态选择如何订购查询的结果.但是,如何指定我想要Forename命令DESC和Surname ASC? 解决方法 您需要将ORDER BY拆分为两[详细]
-
sql – 连接空表以返回所有行
所属栏目:[MsSql教程] 日期:2021-05-24 热度:125
我有一个表(Table1),它有一个复合主键(Column1 Column2).我在另一个表中使用它作为外键(表2). 现在我想要一个SELECT语句来选择Table1和Table2中的所有记录. 但它返回0行,因为table2为Empty.我想要table1中的所有记录,如果table2中不存在,Table2中的列值应[详细]
-
sql-server – SQL Server:XPATH查询失败
所属栏目:[MsSql教程] 日期:2021-05-24 热度:183
我在SQL Server Management Studio上的存储过程.有一个包含 XML的列,我试图用XPATH访问但是我收到此错误: Parsing XML with internal subset DTDs not allowed. Use CONVERT with style option 2 to enable limited internal subset DTD support` 我阅读[详细]
-
sql-server – 复制表的完整结构
所属栏目:[MsSql教程] 日期:2021-05-24 热度:84
使用某些方法,当您创建表的副本时,您将丢失索引,PK,FK等.例如,在SQL Server中,我可以说: select * into dbo.table2 from dbo.table1; 这只是表格的简单副本;缺少所有索引/约束.如何复制表结构(不使用备份)? 我主要是想手动执行此操作,但如果不可能,我会[详细]
-
如何在transact sql语句中使用单引号
所属栏目:[MsSql教程] 日期:2021-05-24 热度:109
我想在transact sql语句中使用单引号,然后执行该语句. 例如我的查询是: Select * FROM MyTable WHERE MyTable.Id = '1' 现在我想用这样的: Declare @SQLQuery AS NVarchar(4000)SET @SQLQuery = ' Select * FROM MyTable WHERE MyTable.Id = '1' 'Execut[详细]
-
sql-server – 总是有一个整数列作为主键的缺点是什么?
所属栏目:[MsSql教程] 日期:2021-05-24 热度:97
在我正在处理的一个Web应用程序中,使用在Entity Framework ORM上定义的一些通用存储库抽象所有数据库操作. 但是,为了对通用存储库进行简单设计,所有涉及的表必须定义一个唯一的整数(C#中的Int32,SQL中的int).到目前为止,这一直是桌子的PK和IDENTITY. 外键[详细]
-
sql-server – 将SQL Server实例根目录放在单独的驱动器上是否有
所属栏目:[MsSql教程] 日期:2021-05-24 热度:145
我知道在安装SQL Server时可以更改许多默认路径,通常当我进行安装时,我将数据和日志文件夹更改为在不同的驱动器上(通常是D和E),但是我最近得到了一个预先安装的机器,它运行的实例名称不是默认值,并且它们已将实例根目录配置为D驱动器以及mdf文件.这意味着[详细]
-
sql-server – 在我的本地计算机上通过SQL Server Management St
所属栏目:[MsSql教程] 日期:2021-05-24 热度:174
我确定这是在某个地方,但我找不到它,我的大脑疼. 我在Azure上有一个VM.它上面运行着SQL Server.我可以在VM本地访问它没问题,但我想通过SQL Server Management Studio从我的开发计算机管理它. 这是可能的,我会使用什么信誉? VM登录? 谢谢, [R 解决方法 您[详细]
-
sql-server – 如何在恢复中停止,脱机和删除SQL Server数据库?
所属栏目:[MsSql教程] 日期:2021-05-24 热度:62
我有一个开发数据库,??它在重启时进入恢复模式,并且在过去一小时左右一直在恢复. 我需要停止恢复,或以某种方式杀死它. 我不关心数据库或任何数据,我有部署脚本. 有任何想法吗? 解决方法 停止SQL Server 删除MDF LDF 启动SQL Server 恢复(可能需要首先丢弃[详细]
-
sql-server – 什么时候动态端口“动态”?
所属栏目:[MsSql教程] 日期:2021-05-24 热度:129
我今天和我的一位同事就动态端口进行了讨论,可以使用一些帮助来澄清它们的工作原理. 第一个问题:如果IPALL TCP Dynmaic Ports设置是一个特定的数字(比如说1971)那么这表示你有一个1971的静态端口或一个当前1971的动态端口,并且可能在将来某个时候发生变化[详细]
-
sql-update – 从另一个表更新多个列 – 需要Oracle格式
所属栏目:[MsSql教程] 日期:2021-05-24 热度:60
我有一个我在SQL Server中使用的脚本,但我需要将其转换为Oracle格式.有人可以帮忙吗? UPDATE PERSONS P SET P.JOBTITLE=TE.JOBTITLE,P.LAST_NAME=TE.LAST_NAME,P.FIRST_NAME=TE.FIRST_NAME,P.DBLOGIN_ID=TE.DBLOGIN_ID,P.EMAIL_ID=TE.EMAIL_ID,P.USERLEVE[详细]
-
我可以通过使用参数来避免所有SQL注入攻击吗?
所属栏目:[MsSql教程] 日期:2021-05-24 热度:129
我可以通过使用参数来避免所有SQL注入攻击吗? 在这种情况下,不要担心SQL注入中的任何内容? 或者是否有某些类型的攻击需要程序员更多的关注? 解决方法 不,您无法通过使用参数来避免所有SQL注入攻击.动态SQL是真正的问题,这可能发生在存储过程以及应用程[详细]
-
sql – 返回多个结果集的查询
所属栏目:[MsSql教程] 日期:2021-05-24 热度:111
我有一个查询,它将返回任意数量的结果集,所有结果集都具有相同的列 – 即一个用于Manager,然后一个每个员工都表示Manager负责. 在Mgmt Studio中运行SQL工作正常 – 我的’master’和’details’表成功呈现.但是,如果我只是在SSRS报告向导中的数据集查询中[详细]
-
数据库设计 – 在SQL中,它是复合键还是复合键?
所属栏目:[MsSql教程] 日期:2021-05-23 热度:95
关于SQL(计算/数据库): 当我们在一个表中有两个或多个字段时,它们一起唯一地标识其记录,那么调用它们的正确方法是什么?复合键还是复合键? 我在网上看到过两种用途,所以我不太确定. 解决方法 复合键和复合键都描述具有多个属性的候选键.根据关系数据库字[详细]
-
sql – 使用输出在merge语句中设置变量
所属栏目:[MsSql教程] 日期:2021-05-23 热度:197
我有一个合并声明,应该始终更新或插入单个记录.我想记住变量中该语句的ID.它看起来像这样: DECLARE @int intMERGE dbo.table AS AUSING (SELECT 'stringtomatch' AS string) AS B ON B.string= A.stringWHEN MATCHED THEN UPDATE SET somecolumn = 'somet[详细]
-
sql-server – 根据Sql Server中的选定行生成插入脚本?
所属栏目:[MsSql教程] 日期:2021-05-23 热度:118
在Sql Server 2005中,有没有办法,使用官方GUI或第三方工具,选择表中的行,然后为选定的行生成插入脚本? 解决方法 我不知道哪种工具可以让你使用一个漂亮的GUI,但我知道一个很好的存储过程,您可以使用它来生成基于select语句的插入.该剧本由一位名叫Narayan[详细]
-
sql-server – 我可以在2008服务器上使用SQL Server Management
所属栏目:[MsSql教程] 日期:2021-05-23 热度:117
我的学校正在使用SQL Server 2008.上次我使用它时,我只安装(在家)SQL Server Management Studio 2008部分,并使用VPN连接到学校的服务器. 现在我想再次安装SQL Server Management Studio,但这次2012版本可用. SQL Server Management Studio 2012能否在学校[详细]
-
sql-server – SQL Server 2008 / 2008R2备份兼容性
所属栏目:[MsSql教程] 日期:2021-05-23 热度:136
我想开始使用SQL Server 2008R2,但我还需要能够将我的应用程序与数据库一起部署到SQL Server 2008.我发现我无法备份2008R2来恢复2008.为什么?我有什么选择? 当我们从2005年到2008年,although I still found it annoying时,我可以理解前向唯一兼容性,但我[详细]
-
sql-server – 触发无限期WAITFOR会增加日志文件的大小吗?
所属栏目:[MsSql教程] 日期:2021-05-23 热度:121
在我的应用程序的最后一个版本中,我添加了一个命令,告诉它等待Service Broker队列中的某些内容: WAITFOR (RECEIVE CONVERT(int,message_body) AS Message FROM MyQueue) DBA告诉我,自添加以来,日志大小已经遍及屋顶.这可能是正确的吗?或者我应该在别处寻[详细]