场景:我们希望在Active Directory域环境中使用SQL Server 2005 Standard版本的数据库镜像以及见证服务器。 数据库是从第三方应用程序服务器提供的,除了数据库连接string之外,该服务器无法修改。 有两个问题与此有关: 我们如何才能使失败变得有点隐蔽(或者至less需要较less的手工工作)到我们的第三方应用程序服务器上,尽可能less花钱? 我的想法是设置DNS“sqlserver.ourdomain”指向主,并在连接string中使用。 那么,如果它失败,我们改变DNS指向镜像,并重新启动应用程序服务器。 不可见或自动,但便宜,似乎应该工作。 我们如何将失败后的交易从中学推回到小学,并重新推动小学? 此过程必须考虑#1中的“撤销”故障切换模式。 很明显,如果我们使用上面的DNS选项,我们会将DNS重新指向主服务器,但是如何使系统恢复到以前的状态 – 主服务器的镜像和镜像已降级为镜像?
对新手问题抱歉 – 我有一个.mdf文件,我不知道如何运行查询。 我已经下载并安装了SQL Server Express 2005,但不知道什么时候开始。 我知道我不打算直接打开文件,但不知道我的意思是做什么。 有人可以一步一步发布如何到达对文件运行SQL查询的点?
我需要创build一个计划任务来备份SQL Server 2005实例中的数据库。 有一个命令行参数,我可以用来实现这个?
这是我在Windows错误日志中看到的: SQL Server检测到基于逻辑一致性的I / O错误:不正确的校验和(预期:0x19fedd20;实际:0x19fed5e3)。 它发生在数据库ID为6的文件'D:\ mssql \ local_repository_pbdiffimport.mdf'中偏移量为0x00000000dc8000的页面(1:1764)的读取期间。 SQL Server错误日志或系统事件日志中的其他消息可能会提供更多详细信息。 这是一个严重的错误条件,威胁数据库的完整性,必须立即纠正。 完成完整的数据库一致性检查(DBCC CHECKDB)。 这个错误可能是由许多因素引起的; 有关更多信息,请参阅SQL Server联机丛书。 我跑了 dbcc checkdb 这告诉我,我应该selectREPAIR_ALLOW_DATA_LOSS恢复,所以我最终跑了 DBCC CHECKDB(my_db_name,REPAIR_ALLOW_DATA_LOSS)WITH NO_INFOMSGS 但是这导致了大约2万行丢失。 我恢复了一个备份,但现在恐怕会再次发生,因为我们在大约两周前在同一个数据库中已经存在一致性问题,但之后它发生在一个索引中(重新创build的索引解决了这个问题)。 我们调查了这些光盘–RAID5看起来不错,没有错误,也没有光盘检查实用程序显示任何硬件问题。 这可能是由操作系统(Windows Server 2003)还是由MSSQL(MSSQL Server 2005)引起的?
我的.bak文件是我公司最近接pipe的一个项目的数据库。 我能够恢复几个.bak文件,但最重要的是失败。 当它失败,我只是得到一个通用的错误,并要求检查日志。 这是发生的错误:消息SQL Server断言:File:,line = 1443 Failed Assertion ='pFile'。 这个错误可能与时间有关。 如果重新运行该语句后错误仍然存在,请使用DBCC CHECKDB检查数据库的结构完整性,或者重新启动服务器以确保内存中的数据结构不被损坏。 我不知道如何在* .bak文件上运行DBCC CHECKDB。 任何帮助将不胜感激。 虽然我有作为开发人员的SQL经验,但我绝对不是DBA。 所以假设我是一个白痴。 🙂 谢谢!
我有一个由10个步骤组成的SQL Server代理作业,每个步骤都定义了许多参数。 现在我需要另一份工作,几乎完全一样,但有一些差异。 由于“复制/粘贴”不是工作的select,我正在寻找什么是build立在第一个基础上的最好的方式来创build一个新的工作的build议。 编辑:我只是注意到,我可以右键单击和“脚本作业为”。 我想一个select就是做这个,并编辑我的更改脚本。 我仍然好奇是否还有其他(更好的)选项。
在SQL Server 2005/2008上设置安全性时更安全的选项是什么? 仅限Windows身份validation模式 混合authentication 如果服务器将被许多桌面客户端(胖客户端)访问,或者一些Web服务器将访问它,这有什么关系? 编辑 为什么它更安全? 使用Windows身份validation意味着我们可以避免将连接string放在configuration文件中。 Windows身份validation还允许我们根据他们的NT凭据来控制谁可以访问,当客户端直接连接到服务器时,我认为这是理想的。 有一件事我总是想知道,当所有的客户端都通过代理(如Web服务)时,NT身份validation是多么有用。
我对SAN很less有经验,所以请原谅这个新手。 我们的一个生产基地有一个带有一堆磁盘的HP EVA8000 SAN(忘记多less)。 它已经被configuration成一堆raid5的,而SQL服务器使用一个RAID卷作为数据,另一个作为Log。 到现在为止还挺好。 或者我想 今天我跑了一些速度testing。 使用rdfc我在主数据磁盘上创build了一个100 MB的文件,同时系统被大量使用。 这表明介于5到20 MB / s的写入吞吐量,我认为是偏低了一点。 然后我拿下维修申请,再次进行testing。 这一次在一个安静的系统上,我获得了50MB / s的写入性能。 这是不是有点偏偏? 我的意思是,我从桌面上的SATA驱动器得到相同的。 然后我试着写500MB到一个驱动器(数据驱动器),同时写500MB到另一个驱动器(日志驱动器)。 这两个写作互相干扰。 这是设置错误的标志吗? 我不知道我的预期是什么,但是我正在审查这个系统,试图找出瓶颈。 所以,我想我的问题是。 使用光纤连接器的(可能)价格昂贵的SAN,您希望(读/写)哪种性能? (不,它不是小networking的东西,它是这个) http://h10010.www1.hp.com/wwpc/ca/en/sm/WF05a/12135568-12135820-12135820-12208992-12208992-12236532.html
我对SQL Server 2005附带的活动监视器并不感到兴奋,但我想它是试图成为一样的东西。 从表名,CPU时间,IO时间,内存分配查询,用户名,数据库名称的片段,可能会获得锁… 设置刷新速度2-3秒,让它运行? 我喜欢分析器 – 对于性能调优非常有用; 但是像Top一样工作的东西有时候对于故障排除来说是很棒的。 编辑:命令行工具,不需要SQL工作室可能会很好。
我正在使用SQL Server 2005,我有一个列需要存储大量的文本(有时超过8000个字符,varchar限制)。 使用“文本”数据types有缺点吗? 我还读了关于使用varchar(MAX) – 如果我存储在那里的大多数数据less于8000个字符,那会更好吗,但是我需要能够支持更多?