有没有一种方法可以在事先没有提前设置的情况下识别被其他进程阻塞或阻塞的进程? 我每周的维护工作(重build索引,更新统计)运行时间非常长。 我在想,它正在试图做某些事情,并遇到阻止,以阻止它继续,但我不知道这可能是什么。 谢谢!
我有一些SQL 2005作业运行夜间数据库备份到本地驱动器。 作业运行正常(嗯,我可以看到他们正在做什么),因为我可以看到一个新的备份文件,每天晚上写。 当我右键点击工作和查看历史时,什么也没有。 其他工作确实显示历史,一般而言,历史比我感兴趣的工作要早(即日志没有被清理掉)。 除非备份由另一个进程运行(因此它会有一些历史logging) – 我不相信这是 – 我的历史在哪里? 我想我错过了一些非常简单的事情(这是一个星期五的下午)。
我们拿了一个SQL 2000数据库。 做了一个速度备份。 在SQL 2008主动/被动群集上还原。 然后设置复制将数据复制回SQL 2000.所以2008年是发行商/分销商,2000年正在做订阅。 一切正常,execpt我们有时在用户的varchar /文本字段中损坏的数据。 例如,我们有一个有4500条logging的表格。 当我们运行这个语句时: update MedstaffProvider set Notes = 'Cell Phone: 360.123.4567 Answering Service: 360.123.9876' where LastName = 'smith' 2008年数据库中的logging按预期更新。 但是在子数据库中,我们会在注释字段中看到乱码: óPÌ[1] T $Oé[1] ð²ñ. K 以下是我们所知道的: 这是可重复的,这意味着我们可以整天运行相同的查询并获得相同的乱码。 如果你稍微改变了更新语句,那么数据就会被复制得很好。 两个数据库的sorting规则是一样的。 到目前为止,我们只检测到text / varchar字段的问题。 (上面的注释字段是文本)。 表中只有一个或两个logging受到影响。 表格结构在2000/2008年看起来相同。 我们没有做任何改变。 我们find了解决这个问题的一个解决scheme。 基本上如果我们在2008年重新创build表格(比如MedStaffProvider2),然后插入所有的数据。 放下原来的桌子。 将表重命名为它的原始名称。 再次设置复制。 并运行完全相同的更新声明,按预期工作。 有没有人有任何想法可能发生在这里? 或者有没有其他技术可以用来排除故障? 我find了一个解决scheme,但真的想要解决这个问题。
如何启用Windows Server 2003上的端口1433来启用SQL连接? 我没有任何硬件防火墙只是简单的Windows 2003与SP2
我已经使用SQL,数据和日志的LUN构build了主动/主动SQL 2005集群。 不幸的是,我试图使用本地存储(这两台机器都有一个本地B :)进行备份 – 嘿,共享存储是昂贵的,这只是一个临时的位置,等待另一个例程,将SQL备份移动到磁带。 无论如何,SQL似乎不喜欢本地B:在集群中。 有没有办法使用本地驱动器? UNCpath? 恐怕很明显,我是新来的 – 请教育我。 谢谢! 编辑:我很困惑。 看来当地的B:毕竟还在工作 – DBA说由于完整性检查,之前是失败的。 那么本地驱动器是否可用? 我试图首先访问UNCpath,但是肯定失败了。 在B中键入:…似乎正在工作,你只是无法浏览到它。 所以我不确定如何用下面标记的Massimo的经验来解决这个问题。
我的Sql服务器在本地计算机上,我想通过Internet访问它。 我为远程访问configuration了sqlserver 2005的Suracepipe理器和configurationpipe理器。 我的sqlserver运行在端口:1433 我正在使用端口转发,我可以访问其他端口的服务, 我的连接string是:数据源= 190.190.200.100,1433;networking库= DBMSSOCN;初始目录= myDataBase;用户ID = myUsername;密码= myPassword; 但是,当我试图通过互联网连接sql服务器时,出现以下错误: 与SQL Serverbuild立连接时发生networking相关或特定于实例的错误。 服务器未find或无法访问。 validation实例名称是否正确,并将SQL Serverconfiguration为允许远程连接。 (提供程序:TCP提供程序,错误:0 – 连接尝试失败,因为连接方在一段时间后没有正确响应,或者由于连接的主机未能响应而build立的连接失败。
我对SQL Server报告服务和报告pipe理器是比较新的,对于SSRS的订阅来说是全新的。 我们正在运行SSRS 2008。 开箱即用,具有浏览器angular色的用户似乎可以创build订阅到报告并安排它在任何时候运行。 作为pipe理员,我设置了一个名为“隔夜报告”的时间表,并从凌晨1点起每天晚上运行。 我希望这样,当普通用户创build他们的订阅时,他们只能使用我的共享日程表中的一个,以便他们的订阅只能在一夜之间运行。 这可能吗? 谢谢 -Matt
这里是给予的: 你会想要尖叫这个问题 这是一个Oracle商店,并将继续 目前所有的环境都是MSSQL 2000标准版 答案将有助于进行升级的商业案例 select将是64位和企业版(留给我!) 生命终结意味着什么 – 他们有我(吓人,不是吗?) 没有针对SQL Server的开发 MS Access(最近的2007)有(广泛的)开发,只是在胁迫下转移到SQL Server Windows Server 2003操作系统,没有2008年的考虑 没有数据仓库 没有商业智能 访问/支持的应用程序绝大部分是第三方商用的现成的 数据库大小和使用的规模否定了16个节点群集MSSQL 2008而不是MSSQL 2005的8个节点的事实 这里是一个问题, 无视MSSQL2008中的新function (我相信有这个function),MSSQL2008在MSSQL2005中,而不是在MSSQL2000中的function有什么重大的改进?
过去一年我们一直在使用SSSB 2008,这真是太好了。 (好吧,与MSMQ相比)不过,我们只使用相同的数据库排队,而不是路由function。 我们的应用程序中的一些变化现在需要我们路由消息。 到目前为止,我们一直在做“火,忘了” – 发送一条消息,并结束谈话。 我并不担心接收应用程序失败的数据库configuration错误之一。 如果有人弄虚作假,那么我们会从SSSB收到错误信息。 当我们得到这些错误时,有没有办法获得原始的消息对象? 当消息仍然在传输队列中时,立即发生错误,这很容易。 但是在经过networking之后,看起来消息已经“消失”了。 如果是这样的话,处理它的常用方法是什么? 我正在考虑将消息和ID写入“QueuedMessages”表,然后在发送队列中激活一个过程,以便在接收到EndDialog时删除消息,或者在收到错误时设置标记/日志logging。 或者,如果我可以放宽业务需求,我可能只能将发送项目保存在发送进程的RAM中,然后让队列检查Error / EndDialog。 (对于内存的动机就是性能 – 我们计划在运行SQL Express的情况下,只需很less的资源即可出站400个消息/秒。) 任何意见一般?
脚本 它的相当涉及解释,但我有一个过程更新实例1上的两个数据库中的数据,并作为进程的一部分(其相关的原因光标)它需要更新实例2的数据库,其中满足特定条件。 如果引用instance2的代码行被更改为本地实例,则该过程将在不到一分钟的时间内运行。 如果它被设置为参考实例2上的正确位置,则该过程每个logging需要30-40秒(我们从未让它完成)。 历史 (今天早上) 查看估计的执行计划,在实例2上进行单个logging更新的代码正在对logging深度为100k的表使用远程扫描。 我改变了这个 Update C set col1 = @val1, col2 = @val2 where col2 = @ID 至 Execute ('Update C set col1 = @val1, col2 = @val2 where col2 = @ID') as user1 at Instance2 其中Instance2是链接服务器,user1是在连接服务器上模拟启用的sqllogin名。 这是因为更新过程可以利用col2上的聚集索引,从而避免表扫描。 问题 我们现在正在获取安全/身份validation错误,脚本失败 消息15274,级别16,状态1,程序“procname”,行263 对远程服务器的访问被拒绝,因为当前的安全上下文不受信任。 任何人都可以告诉我什么,我需要configuration允许此更新执行吗? 或者,有没有更好的方法,我可以得到更新使用Instance2上的表上的索引? 从我的知识表提示不允许在远程查询…? 非常感谢 乔纳森