数据库管理员

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

3
在对驱动器进行碎片整理之前停止SQL Server服务?
我们生产的SQL Server 2005数据库的数据文件位于单独的物理驱动器上,Microsoft Windows 2003的“磁盘碎片整理程序”工具报告该驱动器碎片为99%。 我们计划在周六上午3:00进行任务以对该驱动器进行碎片整理。40分钟后作业完成,没有明显的错误。但是,驱动器仍然严重碎片化。 进行碎片整理之前,我们是否应该已停止SQL Server服务? 语境 根据上下文请求:我们拥有一个Microsoft SQL Server 2005实例(9.00.5324.00),该实例在2007年左右的Dell PowerEdge 2950硬件上运行32位Windows Server 2003(SP2),具有4GB RAM。PowerEdge 2950具有四个配置为RAID-1的68GB驱动器,用于创建两个68GB虚拟磁盘:(1)C(引导和操作系统)和D(页面文件,其他各种数据);(2)E(SQL数据)。据我所知,IT人员从未对任何这些驱动器进行碎片整理...磁盘碎片整理程序报告文件碎片率分别为66%(C),77%(D)和99%(E)。性能监视器报告以下平均结果:“分页文件:使用百分比” = 〜6.8%;“ SQL Server:缓冲区管理器-页面预期寿命” = 20秒;和“ PhysicalDisk:平均磁盘秒/写入,驱动器E” = 300到1之间。我们需要在几个月内完成急需的硬件和SQL Server升级(即,新硬件,64位Windows Server 2012、64位SQL Server 2012、12GB RAM),但由于用户性能,要尽可能减轻问题。因此,考虑对文件进行碎片整理可能对驱动器E(主SQL数据驱动器)有所帮助。 顺便说一句,上周我们拉出了两个故障驱动器并重建了阵列...不确定这很重要。我们与另一个IT团队签约以维护服务器,因此我们无法直接访问设备...我们的组织只是为服务付费。 我们可以在定期安排的维护时段(每周)中提供停机时间,也可以在必要时在夜间进行带外停机。

1
删除InnoDB数据库时出错
我试图在mysql中删除数据库,但每次遇到此错误 ERROR 2013 (HY000): Lost connection to MySQL server during query 甚至以root用户身份登录。 最初,我有一个无法重新创建的损坏的表,因此我决定重新创建该数据库。我每个表都有innodb文件,不确定是否重要。 如何删除该数据库?
8 mysql  innodb 

1
在PL / pgSQL中声明表类型的变量
我想知道是否有一种方法可以在PL / pgSQL中声明类型表的变量来保存查询结果?例如,我如何表达这样的东西: q1 = select * from foo; q2 = select * from bar; for t1 in q1: for t2 in q2: -- do something with t1 and t2 我研究了return next构造,但似乎只能处理返回值。

1
无法识别的系统进程使CPU饱和
今天,由于主站点“带宽”已消失,我们已切换到备用DC。 最强大的数据库服务器给我们带来了麻烦。它为服务器上的多个数据库产生了以下过程。一个数据库只是用于维护工具的小型临时数据库,因此不能复制或镜像。 有人知道或识别以下代码吗? () select table_id, item_guid, oplsn_fseqno, oplsn_bOffset, oplsn_slotid from [<dbname>].[sys].[filetable_updates_2105058535] with (readpast) order by table_id

4
SQL Server-在SAN上分离数据,日志和TempDB文件
我有一个连接到SAN的SQL Server。我们的新存储供应商建议所有LUN跨越整个磁盘阵列,即RAID5。我通常会向SAN管理员请求3个单独的LUN(数据,日志和TempDB),但是鉴于新供应商的建议,创建单独的LUN有什么意义吗?还是如果所有内容都在一个LUN中,因为它仍然可以覆盖所有磁盘,我是否会看到相同的性能? 很棒的文章在这里,但是并不能完全解决我的确切情况:http : //www.brentozar.com/archive/2008/08/sql-server-on-a-san-dedicated-or-shared-drives/

3
如何将带有数组字段的表类型传递给Postgresql中的函数
我有一张桌子叫书 CREATE TABLE book ( id smallint NOT NULL DEFAULT 0, bname text, btype text, bprices numeric(11,2)[], CONSTRAINT key PRIMARY KEY (id ) ) 和一个功能save_book CREATE OR REPLACE FUNCTION save_book(thebook book) RETURNS text AS $BODY$ DECLARE myoutput text :='Nothing has occured'; BEGIN update book set bname=thebook.bname, btype=thebook.btype,bprices=thebook.bprices WHERE id=thebook.id; IF …

2
SQL Server是否使用指针而不是存储重复的行?
sp_spaceused在我们的软件中执行操作之前和之后,我正在使用内置的存储过程,以查看哪些表具有行插入以及每个表的大小如何变化。 我所看到的是,在所有向其写入行的表中,只有极少数的情况表明该表在一侧增加了。显示行已添加的其他行显示此存储过程的大小没有变化。 这是唯一的不正确的情况是在对所有表执行截断后的第一个事务上。因此,对我来说,似乎SQL Server在存储重复数据时显示的是插入行,但必须仅存储指向先前相同行的指针。 有人可以确认吗?

1
无法授予,拒绝或撤消对sa,dbo,实体所有者,information_schema,sys或您自己的权限
我遇到以下错误: Cannot grant, deny, or revoke permissions to sa, dbo, entity owner, information_schema, sys, or yourself. 当我尝试这些命令时 USE ASPState GO GRANT EXECUTE ON CreateTempTables TO [R2Server\AAOUser] GO GRANT EXECUTE ON DeleteExpiredSessions TO [R2Server\AAOUser] GO GRANT EXECUTE ON GetMajorVersion TO [R2Server\AAOUser] GO GRANT EXECUTE ON GetHashCode TO [R2Server\AAOUser] GO GRANT EXECUTE …

1
使用Oracle XML模式生成XML
我有一些使用DBMS_XMLSCHEMA注册的XML模式定义。我已经使用生成的XMLTypes创建了表。我可以使用XMLQuery创建XML,如果我理解正确,那么如果定义正确,则可以将查询结果插入表中。 最终需要将XML写入文件,但是我不确定的部分是从头开始编写XMLQueries是否是生成XML的最佳方法。有什么方法可以让XML模式生成指南的XML存根或生成模板XMLQuery?目前,数据全部存储在常规Oracle表中,但排列方式却大不相同,因此有关基于特定的一组已注册模式简化向XML导出的任何信息都是有用的。

4
数据库设计-具有共享标签的不同对象
我的背景更多是网络编程而不是数据库管理,所以如果我在这里使用错误的术语,请指正。我正在尝试找出为我要编写的应用程序设计数据库的最佳方法。 情况:我在一个表中有“报告”,在另一表中有“建议”。每个报告可以有许多建议。我还有一个单独的关键字表(用于实施标记)。但是,我只希望将一组关键字同时应用于“报告”和“建议”,以便搜索关键字可以将“报告”和“建议”作为结果。 这是我开始的结构: Reports ---------- ReportID ReportName Recommendations ---------- RecommendationID RecommendationName ReportID (foreign key) Keywords ---------- KeywordID KeywordName ObjectKeywords ---------- KeywordID (foreign key) ReportID (foreign key) RecommendationID (foreign key) 本能地,我觉得这不是最佳选择,应该让我的可标记对象继承自一个公共父对象,并对该注释父对象进行标记,这将给出以下结构: BaseObjects ---------- ObjectID (primary key) ObjectType Reports ---------- ObjectID_Report (foreign key) ReportName Recommendations ---------- ObjectID_Recommendation (foreign key) RecommendationName ObjectID_Report (foreign …

1
MSDB中的dbo.DTA_ *表
我在其中一台生产服务器上运行了Brent Ozar的sp_blitz。IT部门将MSDB数据库中的一些表标记为用户创建。它们都遵循dbo.DTA_ *模式。这些表是MSDB附带的,还是由某人/某人添加的?

2
Oracle中的500+百万行表有显着差异吗?
我在数据仓库环境中的数据库设计师中工作。我习惯于处理最多有100万行的表,现在却面临着超过10亿行的表。“效率工具箱”中的工具是否有显着差异?我是否可以相信我以前对索引,分区等的了解,或者这些特定工​​具中的某些不是对如此大数据的帮助,而是更多的障碍?还有其他处理表格的技巧吗? (已经找到了一篇很棒的文章,关于将7亿行更新为相同的值)

2
完整数据库备份后,SQL Server分发数据库日志文件无法控制地增长
我们有一个合并复制环境,该环境将推动8个订阅者。一切正常。我们的分发数据库是在简单恢复模式下设置的。我们有一个维护计划,该计划将每天00:30备份所有数据库。此过程完成后,分发日志文件将在接下来的30分钟内增长,并占用硬盘驱动器上的所有剩余空间(约90GB) 然后发生的情况是,分发数据库显示为“正在恢复”,直到重新启动计算机,我们才能做任何事情。之后,我可以将日志文件缩小到2MB。 我不知道为什么会这样。日志文件每天运行约10MB。数据库大小为15GB。

5
SQL Server 2008和扩展属性
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 在SQL Server中,你们将扩展属性用于什么?一些文章和博客建议将它们用于数据库及其对象的自文档编制,但我看不到它的使用方式是否正确……大多数人是否会忽略这一点?

3
SQL Server中的聚集索引与Oracle中的索引组织表
作为数据库开发人员,我正在从SQL Server过渡到Oracle,并且已经在这里找到了一些很棒的资源(如何从SQL Server DBA过渡到Oracle?以及作为DBA,我将如何从Oracle过渡到SQL Server。 ?),但是我很难找到有关在Oracle中使用索引组织表的良好信息。 在我的前世中,我们在OLTP-ish数据集市中广泛使用了SQL Server中的聚集索引,并取得了巨大的成功。索引组织表是否可以方便地用作Oracle中的工具?

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.