数据库管理员

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


6
有关MS SQL Server监视软件或服务的建议?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为数据库管理员Stack Exchange 的主题。 6年前关闭。 我有一个客户端,其MS SQL Server实例(2000、2005)分布在20到30台服务器中。我一直致力于使事情井井有条,并将定期检查数据库基础结构的状态以进行运行状况检查,测试备份等。我们还计划在2008年之前尽可能多地收集这些数据库。 我知道诸如用于Linux的New Relic堆栈Web应用程序和数据库之类的服务,而我今天才通过Google偶然发现了SQL Monitor产品(RedGate)。任何人都可以就使您自己的客户端能够监视和管理其MS SQL实例的服务或工具(您具有经验)提供一些指导吗?

4
使用复合键识别行的指南
使用一组4列将行标识为唯一的(一种是前键,另一种是float数据类型)是一种好习惯(或者会产生不利影响)吗?我正在尝试构建一个表(链接了4个键),该表将描述表中的唯一条目。我很好奇这是一个好的进攻计划还是有更好的方法。 出于视觉目的,请绘制下表。我们的库存项目的组织方式如下表所示:([K]是主键的象征,线是关系) Sheet_Class Sheet_Type Sheet_Size =========== ========== ========== [K] Sheet_Class-. [K] Sheet_Type--. [K] Sheet_Size '---- Sheet_Class '---- Sheet_Type Length Width Thickness 数据可以通过以下方式呈现,但是为了简洁起见,我不介绍链接的列: Sheet_Class Sheet_Type Sheet_Size (Tables) [Sheet_Class] [Sheet_Type] [Length], [Width], [Thickness] (Column Values) ============= ============ ============================== Aluminum 5052-H32 48, 96, 0.032 48, 96, 0.040 48, 96, 0.063 6061-T6 60, 120,0.032 …

3
优化InnoDB默认设置
我查看了my.ini,并看到了各种默认设置。我的数据库在单个独立PC上运行。我想总体上优化InnoDB和MySQL的性能。磁盘空间没有限制。我应该更改哪些默认设置以优化性能,可靠性和可能的​​时间点备份[高可用性]。 已编辑 目前,每当我通过维护在MySQL Administrator上运行“优化表”时,它就会显示: 表不支持优化,而是执行重新创建+分析 在所有桌子上。我所有的表都是InnoDB,但是为什么它们不支持Optimize?

2
如何在select(SQL Server)中使用变量?
如果我想计算一列并将结果用于多于一列,如何在不进行两次计算的情况下做到这一点? 例: SELECT LOWER(SUBSTRING([NAME], 4, 100)) + '@somedomain.com' as EMail ,hashbytes('SHA1', LOWER(SUBSTRING([NAME], 4, 100)) + '@somedomain.com') as HashedEmail FROM sometable 如何避免在不使用多个选择的情况下写两次?

3
明智地使用触发器来更新另一个表吗?
我有一个Object表,该表是从另一个数据库的集成服务(可以根据需要更改的表)填充的。在某些时候,我们需要手动在另一个表中添加帖子,ObjectObjectGroup (ObjectId, ObjectGroupId)如果帖子中Object.ObjectType有某个整数值,则需要添加。由于集成服务无法处理这种更新,因此我正在考虑向Object表添加一个触发器,该触发器用伪代码如下: if Object.ObjectType = 10 begin if Object.ObjectNumber like '<string pattern>' begin insert into ObjectObjectGroup values... end end 这是明智的设置,还是在性能方面有更好的方法?

5
sql服务器并发性能
我们在生产环境中遇到了一些性能问题。 我们发现,当活动会话数增加到25以上时,CPU的使用率将达到100%,并且花费很长时间才能关闭。 我们拥有的环境: 产品Microsoft SQL Server企业版9.3(sp2) CPU 2(至强2.13) 内存7G 会话详细信息1的快照 活动会话 25 活跃交易 496 空闲会话 289 阻止的交易29 会话详细信息的快照2 活动会话 59 活跃交易 885 空闲会话 267 阻止的交易49 我想知道: PS:我们测试了没有并发请求的情况下,一个事务(可读写5个表)在应用程序级别大约需要1秒,因此2个CPU是否可以很好地处理25个活动会话(500个活动事务)。 PS:被阻止的事务主要是由于2个表上的锁引起的。 解决方案是什么:添加CPU或调整应用程序(java / hibernate)以缩短此事务并减少表上的块?



3
SSMS和@@ variable扩展中的SQLCMD模式
将SQLCMD模式与SSMS一起使用时(不是从命令行使用),是否可以将当前服务器和实例分配给变量?这不同于分配普通的TSQL变量。 问题定义 我想使用SQLCMD的变量扩展功能来替代我们部署脚本中的特定于环境的值,而不是我已经走进的现有tsql字符串构建mash。除了当前环境之外,使用SQLCMD处理部署已经非常顺利。 -- -- define 2 sqlcmd variables that will be expanded in scripts -- :setvar dbServer "DEVA2\DEV2" :setvar dbNotServer @@servername SELECT '$(dbServer)' AS hard_coded_value , @@servername AS [servername] , '$(dbNotServer)' AS dbNotServer 并产生以下结果。 hard_coded_value servername dbNotServer DEVA2\DEV2 DEVA2\DEV2 @@servername Meat Loaf说3分之2不错,但我宁愿3分之3的解决方案。当该脚本被部署到测试服务器上时,我不想信任编辑脚本的部署人员。 如果使用SQLCMD的唯一​​解决方案是完全从命令行调用脚本,那么我可以接受,但由于我对使用SQLCMD持绿色态度,因此想将其抛在这里。 所需的输出 :setvar dbNotServer @@servername SELECT '$(dbNotServer)' …

9
哪个DBMS足够快(足以容纳数千名玩家)进行在线游戏?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 3年前关闭。 我目前正在制作MMORPG游戏,该游戏可能同时有数千名玩家在线(可能不是;只是一厢情愿)。首先,我们想使用MySQL,但是我听说它还不够快。 哪个DBMS足够快?它有多像SQL Server(就像我在学校学到的那样)?

3
使用MySQL触发器或事务?
我想问一下您在网站上使用MySQL触发器或事务的意见。 实际上,我有一个payment带有- 的历史记录表UserId | OperationId | Comment | Credits | Sign (debit or credit)。因此,每个付款操作都会插入此表中。 但是,计算用户每次执行操作时的总信用额度将非常耗时。因此,我认为将每个用户的总信用额保留在用户profile表中可能是一个好主意。 这是问题所在。如何确定表格中的总贷方金额profile与payment历史记录表格中的操作保持同步? 我认为使用2种方法: MySQL触发器或 源代码中编码的交易 哪个更可靠?如果我有大型数据库(超过100.000个用户)怎么办? 您对此有何建议? BD MySQL引擎是InnoDB。

3
Cassandra的“ phpMyAdmin”
是否有类似phpMyAdmin的工具用于Cassandra DB的RDBMS-MySQL? 我知道“运行时”配置可能更少(无法在运行时等编辑列族)。但是,使用GUI检查不同的列族,浏览数据等将非常有帮助。

1
有人可以解释Opendatasource / Openrowset的神奇之处吗?
从excel文件(或ms-access DB)中提取信息时,我通常使用如下所示的内容: SELECT * FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0', 'Data Source=C:\test.xls;Extended Properties=''EXCEL 12.0;HDR=NO;IMEX=1'' ')...[Sheet1$] 有时可以。有时并非如此。 有谁知道设置的指南? 我知道temp文件夹,我知道下载正确的驱动程序,我知道扩展属性,我知道没有打开文件。虽然有时候,我仍然得到- 链接服务器“(null)”的OLE DB提供程序“ Microsoft.ACE.OLEDB.12.0”返回消息“未指定的错误”。 我昨天遇到了这个问题。我重新启动了机器-无法正常工作。然后再次重新启动我的实例,然后重新启动!神奇地奏效了。 因此,这就是我的问题-当出现令人敬畏的“未指定错误”时,您需要检查什么,以确保所有星星都在工作中。


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.