数据库管理员

希望提高数据库技能并向社区中的其他人学习的数据库专业人员的问答

1
SQL和树中的链接列表
尽管SQL与表之类的操作更相关,而与递归无关,但说我们想实现链接(或双链接)列表概念(例如我们在C语言中)。 考虑到我们可以使项目从链接列表中的任何位置移动到任何位置,有什么方法可以有效地做到这一点? 一些使用CLR的解决方案? 还是它真的不应该带到SQL Server? 请注意,这个问题也演变成VS链表的讨论 尽管我固定了SQL Server,但这是一个类似学术的问题,因此,即使我们仅得出结论,那就是永远不要将其带入数据库,也可以采用其他解决方案。

1
SQL Server不使用可用内存
Windows 2008R2 Enterprise上的SQL Server 2008 R2标准版(64位) 服务器具有超过300 GB的内存,但控制面板中的总内存使用量永远不会超过86 GB 将SQL配置为使用最大内存量 即使在大量使用的情况下-超过80%的CPU持续数分钟 专用SQL Server 几个大型数据库 一个频繁使用的表的索引大小仅超过10 GB 设置服务帐户以保留内存中的锁 那正常吗? 我可以测试什么? 我可以让SQL Server使用更多的内存吗?


1
应在哪台计算机上禁用TCP Chimney Offload?
我建议某人有关如何禁用Windows Server 2003 SP2默认启用的TCP Chimney Offload。我们正在具有多个服务器机器的环境中工作,即与数据库服务器机器进行通信的应用程序服务器机器。 这可能导致应用程序和数据库之间的通信问题。请参阅KB942861和Windows可伸缩网络包-对SQL Server工作负载的可能的性能和并发影响。 应在哪台计算机上禁用TCP Chimney Offload?应用程序,数据库还是两者?

1
SSIS组织
我对SSMS很熟悉,但是我从未使用过.net,c#或visual studio(曾经做过其他事情:汇编程序,c,unix,vi,oracle等)。 我试图找出基本的2012 SSIS ETL(没有BI或数据仓库),却找不到任何能解释所有这些如何组合的东西: 目录 解决方案 项目 包还有其他吗? 说我只想使用SSIS建立一个简单的测试,将一个文件导入到一个表中,以上哪个是必需的,我按什么顺序创建它们? 另外,您是否具有指向SSIS 2012 ETL基本概述和/或如何撰写文章的良好链接。

1
在MySql中显示每月出勤报告
我正在使用Mysql DB在php中执行学校管理系统。我被困在我的项目中。请任何人提出我做错了什么。 我的数据库中有两个表。一种是存储Students记录,另一种是存储attendance日 现在,我想显示当前月份特定班级所有学生的报告,无论他们是否在场。但是我仅在出勤表中捕获缺席学生的详细信息。 我已经编写了sql查询以在此处显示结果: SELECT tab.class, attend, DATE, ta.rollno, ta.StdNm FROM tbl_absentees tab, tbl_admission ta WHERE ta.Cls = class AND ta.rollno = tab.rollno AND class =22 AND attend = 'A' AND DATE = '2013-06-07'; 结果是: Class Attend RollNo StudentName 但是我想以31天表格的方式显示,如果出席者= A则缺席的日子显示A,否则只显示出勤表中的日期,否则显示剩余天数的'P' 我该如何在mysql中做到这一点?谁能建议/给我一个构想来实现这一目标。 抱歉,我的问题不明确。实际上,我想显示特定月份的出勤报告,其中数据来自两个表: 第一个表由StudentName,RollNo,Class组成 第二个表包含日期,状态,RollNo,类 现在我想显示象报告这样。
8 mysql  pivot 

1
估计行与实际行之间的差异(实际比估计的要小得多)-排序
我正在运行一个查询,该查询正在处理XML文档中的某些节点。我估计的子树成本为数百万美元,这似乎全部来自sql服务器对我通过XPath从xml列提取的某些数据执行的排序操作。排序操作估计的行数约为1900万,而实际的行数约为800。查询本身运行得很好(1-2秒),但是差异让我想知道查询性能以及为什么这样做相差这么大?

2
寻求谓词不使用所有可用列
我有一个奇怪的查询编译问题,很难重现。它仅在高负载下发生,不能轻易重复。 有一个带有列A,B,C,D的表T。 T(A,B,C,D)上存在一个非唯一的聚集索引。 有一个查询SELECT * FROM T WHERE A = @ P1 AND B = @ P2 AND(C = @ P3或C = @ P4)AND D = @ P5。查找条件位于聚集索引的所有列上,第3列具有OR。 问题在于此查询的查询计划仅在A和B上具有Seek谓词!C和D上的谓词是普通谓词,因此这意味着不使用C和D列上的搜索树。 所有参数的数据类型都与列数据类型匹配。 谁能提供暗示为什么会发生这种情况?SQL版本是2008 R2(SP1)-10.50.2789.0(X64)

2
我可以在服务器中添加什么以使SQL恢复更快?
我有一个2.8TB的SQL数据库(主要是数据文件,一些400GB的日志文件),目前大约需要9个小时才能还原。该数据库用于测试目的,必须在每次运行之间从备份中删除和还原该数据库,以确保我们始终从同一点开始。 我的问题是,该服务器当前具有12个核心和92GB的RAM,以及数据库所在的RAID 5磁盘子系统。哪些区域通常会导致SQL还原过程出现瓶颈?是磁盘,内存还是CPU?


2
SQL Server复制替代软件
我们使用SQL Server复制已有很长时间了,有时会遇到一些问题,有时我们需要重新初始化订阅才能解决某些问题,而其他时候则需要销毁整个复制结构并重新构建它! 我们主要担心的是,一旦遇到复制问题,几乎所有时候,简单的解决方案就是重新初始化复制,这对于我们的业务需求是不可接受的。 现在,我们正在准备发布一个新的大型项目,并且正在尝试寻找进行SQL Server复制的第三方软件。 我们的设置包括分布在分支机构(不同国家/地区)中的服务器+移动客户端(具有本地SQL Server数据库的便携式计算机),我们需要在所有这些服务器之间复制数据,并提供文章过滤功能。 有人可以为我们建议一些替代解决方案吗?


1
分离/附加或脱机/在线是否清除特定数据库的缓冲区高速缓存?
今天,我的一个伙伴告诉我,除了启动SQL Server之外,我还可以简单地分离并重新附加数据库,此操作将从缓存中清除给定数据库的页面和计划。我不同意并在下面提供证据。如果您不同意我的意见或有更好的反驳,则绝对不要提供。 我在此版本的SQL Server上使用AdventureWorks2012: 选择@@ VERSION; Microsoft SQL Server 2012-11.0.2100.60(X64) Windows NT 6.1(内部版本7601:Service Pack 1)上的Developer Edition(64位) 加载数据库后,我运行以下查询: 首先,运行在此处找到的乔纳森·K的AW育肥脚本: AW发胖 --------------------------- -步骤1:Bpool Stuff? --------------------------- USE [AdventureWorks2012]; 走 选择 OBJECT_NAME(p.object_id)AS [ObjectName] ,p.object_id ,p.index_id ,COUNT(*)/ 128 AS [缓冲区大小(MB)] ,COUNT(*)AS [buffer_count] 从 sys.allocation_units AS a 内联接sys.dm_os_buffer_descriptors AS b 开启a.allocation_unit_id = b.allocation_unit_id 内部联接系统分区AS p 开启a.container_id …

2
PostgreSQL:在每个架构上执行DDL
我有一个多租户数据库设置,需要添加一些列。我正在使用架构(和search_path)对用户进行分区,因此我正在寻找一种无所不在的方法来对所有数据库应用DDL模式更改。最初,我以为我可以将其作为单个查询(在pg_catalog上为游标)来实现,但是认为命令行调用psql -f可能是首选方法。

2
如何仅从.frm文件提取表架构?
我已经从备份中提取了mysql的数据目录,并且需要从旧表中获取架构,但是它是来自另一台计算机的备份。 我今天已经阅读了很多有关如何执行此操作的教程,但是每次它似乎都失败了,或者由于mysql挂起或崩溃而最终不得不重新安装mysql。我尝试了以下方法: 创建一个不同的数据库 在该数据库中创建具有相同名称的表 替换档案 停止/启动引擎 从.frm文件中恢复 我尝试了各种顺序和组合。 是否有任何外部工具可以从.frm文件中提取模式?如果打开文件,我可以看到列名。我看了一下,但似乎找不到任何能使我做到这一点的东西。 提前致谢。

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.