金锣软件开发组

团队、合作、共享

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  15 随笔 :: 0 文章 :: 16 评论 :: 1 引用

2010年3月22日 #

摘要: 问题:Anthem:ImageButton在IE8下抛出“输入字符串的格式不正确”异常 重现:在页面中加入一个Anthem的ImageButton,创建并编写事件代码。 阅读全文
posted @ 2010-03-22 08:48 新程金锣 阅读(186) 评论(0) 编辑

2009年8月12日 #

(一)SQLS如何访问没有建立索引的数据表
  Heap译成汉语叫做“堆”,其本义暗含杂乱无章、无序的意思,前面提到数据值被写进数据页时,由于每一行记录之间并没有特定的排列顺序,所以行与行的顺序就是随机无序的,当然表中的数据页也就是无序的了,而表中所有数据页就形成了“堆”。可以说,一张没有索引的数据表,就像一个只有书柜而没有索引卡片柜的图书馆,书库里面塞满了一堆乱七八糟的图书。当读者对管理员提交查询请求后,管理员就一头钻进书库,对照查找内容从头开始一架一柜的逐本查找。运气好的话,在第一个书架的第一本书就  找到了,运气不好的话,要到最后一个书架的最后一本书才找到。
  SQLS在接到查询请求时,首先会分析sysindexes表中一个叫做索引标志符(INDID: Index ID)的字段的值,如果该值为0,表示这是一张数据表而不是索引表,SQLS就会使用sysindexes表的另一个字段——也就是在前面提到过的FirstIAM值中找到该表的IAM页链,也就是所有数据页集合。
  这就是对一个没有建立索引的数据表进行数据查找的方式,是不是很没效率?对于没有索引的表,对于一“堆”这样的记录,SQLS也只能这样做,而且更没劲的是,即使在第一行就找到了被查询的记录,SQLS仍然要从头到尾的将表扫描一次。这种查询称为“遍历”,又叫“表扫描”。
  可见没有建立索引的数据表照样可以运行,不过这种方法对于小规模的表来说没有什么太大的问题,但要查询海量的数据效率就太低了。

(二)SQLS如何访问建立了非聚集索引的数据表
  如前所述,非聚集索引可以建多个,具有B树结构,其叶级节点不包含数据页,只包含索引行。假定一个表中只有非聚集索引,则每个索引行包含了非聚集索引键值以及行定位符(ROW ID,RID),他们指向具有该键值的数据行,每一个RID由文件ID、页编号和在页中行的编号组成。
  当INDID的值在2至250之间时,意味着表中存在非聚集索引页。此时,SQLS调用ROOT字段的值指向非聚集索引B树的ROOT,在其中查找与被查询最相近的值,根据这个值找到在非叶级节点中的页号,然后顺藤摸瓜,在叶级节点相应的页面中找到该值的RID,最后根据这个RID在Heap中定位所在的页和行并返回到查询端。
  例如:假定在Lastname上建立了非聚集索引,则执行Select * From Member Where Lastname=’Ota’时,查询过程是:
  ①SQLS查询INDID值为2;
  ②立即从根出发,在非叶级节点中定位最接近Ota的值“Martin”,并查到其位于叶级页面的第61页;
  ③仅在叶级页面的第61页的Martin下搜寻Ota的RID,其RID显示为N∶706∶4,表示Lastname字段中名  为Ota的记录位于堆的第706页的第4行,N表示文件的ID值,与数据无关;
  ④根据上述信息,SQLS立刻在堆的第706页第4行将该记录“揪”出来并显示于前台(客户端)。视表的数据量大小,整个查询过程费时从百分之几毫秒到数毫秒不等。
  在谈到索引基本概念的时候,我们就提到了这种方式:图书馆的前台有很多索引卡片柜,里面分了若干的类别,诸如按照书名笔画或拼音顺序、作者笔画或拼音顺序等,但有两点不同之处:
  ① 索引卡片上记录了每本书摆放的具体位置——位于某柜某架的第几本——而不是“特殊编号”;
  ② 书脊上并没有那个“特殊编号”。管理员在索引柜中查到所需图书的具体位置(RID)后,根据RID直接在书库中的具体位置将书提出来。
  显然,这种查询方式效率很高,但资源占用极大,因为书库中书的位置随时在发生变化,必然要求管理员花费额外的精力和时间随时做好索引更新。

(三)SQLS如何访问建立聚集索引的数据表
  在聚集索引中,数据所在的数据页是叶级,索引数据所在的索引页是非叶级。
查询原理和上述对非聚集索引的查询相似,但由于记录是按照聚集索引中索引键值进行排序,换句话说,聚集索引的索引键值也就是具体的数据页。
  这就好比书库中的书就是按照书名的拼音在排序,而且也只按照这一种排序方式建立相应的索引卡片,于是查询起来要比上述只建立非聚集索引的方式要简单得多。仍以上面的查询为例:
  假定在Lastname字段上建立了聚集索引,则执行Select * From Member Where Lastname=’Ota’时,查询过程是:
  ①SQLS查询INDID值为1,这是在系统中只建立了聚集索引的标志;
  ②立即从根出发,在非叶级节点中定位最接近Ota的值“Martin”,并查到其位于叶级页面的第120页;
  ③在位于叶级页面第120页的Martin下搜寻到Ota条目,而这一条目已是数据记录本身;
  ④将该记录返回客户端。
  这一次的效率比第二种方法更高,以致于看起来更美,然而它最大的优点也恰好是它最大的缺点——由于同一张表中同时只能按照一种顺序排列,所以在任何一种数据表中的聚集索引只能建立一个;并且建立聚集索引需要至少相当于源表120%的附加空间,以存放源表的副本和索引中间页。
  难道鱼和熊掌就不能兼顾了吗?办法是有的。

(四)SQLS如何访问既有聚集索引、又有非聚集索引的数据表
  如果我们在建立非聚集索引之前先建立了聚集索引的话,那么非聚集索引就可以使用聚集索引的关键字进行检索。就像在图书馆中,前台卡片柜中可以有不同类别的图书索引卡,然而每张卡片上都载明了那个特殊编号——并不是书籍存放的具体位置。这样在最大程度上既照顾了数据检索的快捷性,又使索引的日常维护变得更加可行,这是最为科学的检索方法。
  也就是说,在只建立了非聚集索引的情况下,每个叶级节点指明了记录的行定位符(RID);而在既有聚集索引又有非聚集索引的情况下,每个叶级节点所指向的是该聚集索引的索引键值,即数据记录本身。
假设聚集索引建立在Lastname上,而非聚集索引建立在Firstname上,当执行Select * From Member Where Firstname=’Mike’时,查询过程是:
  ①SQLS查询INDID值为2;
  ②立即从根出发,在Firstname的非聚集索引的非叶级节点中定位最接近Mike的值“Jose”条目;
  ③从Jose条目下的叶级页面中查到Mike逻辑位置——不是RID而是聚集索引的指针;
  ④根据这一指针所指示位置,直接进入位于Lastname的聚集索引中的叶级页面中到达Mike数据记录本身;
  ⑤将该记录返回客户端。
  这就完全和我们在“索引的基本概念”中讲到的现实场景完全一样了,当数据发生更新的时候,SQLS只负责对聚集索引的键值加以维护,而不必考虑非聚集索引。只要我们在ID类的字段上建立聚集索引,而在其它经常需要查询的字段上建立非聚集索引,通过这种科学的、有针对性的在一张表上分别建立聚集索引和非聚集索引的方法,我们既享受了索引带来的灵活与快捷,又相对避免了维护索引所导致的大量的额外资源消耗。

索引的优点和不足
  索引有一些先天不足
  1、系统要占用大约为表的1.2倍的硬盘和内存空间来保存索引;
  2、更新数据的时候,系统必须要有额外的时间来同时对索引进行更新,以维持数据和索引的一致性。
  当然建立索引的优点也是显而易见的,在海量数据的情况下,如果合理的建立了索引,则会大大加强SQLS执行查询、对结果进行排序、分组的操作效率。
  实践表明,不恰当的索引不但于事无补,反而会降低系统性能。因为大量的索引在进行插入、修改和删除操作时比没有索引要花费更多的系统时间。
  在如下字段建立索引应该是不恰当的:
  1、很少或从不引用的字段;
  2、逻辑型的字段,如男或女(是或否)等。
  综上所述,提高查询效率是以消耗一定的系统资源为代价的,索引不能盲目的建立,必须要有统筹的规划,一定要在“加快查询速度”与“降低修改速度”之间做好平衡。有得必有失,此消则彼长,这是考验一个DBA是否优秀的很重要的指标

建立索引时一定要在“加快查询速度”与“降低修改速度”之间做好平衡,有得必有失,此消则彼长。那么,SQLS维护索引时究竟怎样消耗资源?应该从哪些方面对索引进行管理与优化?以下从六个方面来回答这些问题。 

一.页分裂 

微软MOC教导我们:当一个数据页达到了8K容量,如果此时发生插入或更新数据的操作,将导致页的分裂(又名页拆分): 

1.有聚集索引的情况下:聚集索引将被插入和更新的行指向特定的页,该页由聚集索引关键字决定; 

2.只有堆的情况下:只要有空间就可以插入新的行,但是如果我们对行数据的更新需要更多的空间,以致大于当前页的可用空间,行就被移到新的页中,并且在原位置留下一个转发指针,指向被移动的新行,如果具有转发指针的行又被移动了,那么原来的指针将重新指向新的位置; 

3.如果堆中有非聚集索引,那么尽管插入和更新操作在堆中不会发生页分裂,但是在非聚集索引上仍然产生页分裂。 

无论有无索引,大约一半的数据将保留在老页面,而另一半将放入新页面,并且新页面可能被分配到任何可用的页。所以,频繁页分裂,后果很严重,将使物理表产生大量数据碎片,导致直接造成I/O效率的急剧下降,最后,不得不停止SQLS的运行并重建索引。 

二.填充因子 

然而在“混沌之初”,就可以在一定程度上避免不愉快出现,在创建索引时,可以为这个索引指定一个填充因子,以便在索引的每个叶级页面上保留一定百分比的空间,将来数据可以进行扩充和减少页分裂。填充因子是从0到100的百分比数值,设为100时表示将数据页填满,只有当不会对数据进行更改时(例如只读表中)才用此设置。值越小则数据页上的空闲空间越大,这样可以减少在索引增长过程中进行页分裂的需要,但这一操作需要占用更多的硬盘空间。 

填充因子只在创建索引时执行,索引创建以后,当表中进行数据的添加、删除或更新时,是不会保持填充因子的,如果想在数据页上保持额外的空间,则有悖于使用填充因子的本意,因为随着数据的输入,SQLS必须在每个页上进行页拆分,以保持填充因子指定的空闲空间。因此,只有在表中的数据进行了较大的变动,才可以填充数据页的空闲空间。这时,可以从容的重建索引,重新指定填充因子,重新分布数据。 

反之,填充因子指定不当,就会降低数据库的读取性能,其降低量与填充因子设置值成反比。例如,当填充因子的值为50时,数据库的读取性能会降低两倍。所以,只有在表中根据现有数据创建新索引,并且可以预见将来会对这些数据进行哪些更改时,设置填充因子才有意义。 

三.两道数学题 

假定数据库设计没有问题,那么是否像上篇分析的那样,当你建立了众多的索引,在查询工作中SQLS就只能按照“最高指示”用索引处理每一个提交的查询呢?答案是否定的。
实际上,SQLS几乎完全是“自主”的决定是否使用索引或使用哪一个索引。 


这是怎么回事呢? 

让我们先来算一道题:如果某表的一条记录在磁盘上占用1000字节(1K)的话,我们对其中10字节的一个字段建立索引,那么该记录对应的索引大小只有10字节(0.01K)。上篇说过,SQLS的最小空间分配单元是“页(Page)”,一个页面在磁盘上占用8K空间,所以一页只能存储8条“记录”,但可以存储800条“索引”。现在我们要从一个有8000条记录的表中检索符合某个条件的记录(有Where子句),如果没有索引的话,我们需要遍历8000条×1000字节/8K字节=1000个页面才能够找到结果。如果在检索字段上有上述索引的话,那么我们可以在8000条×10字节/8K字节=10个页面中就检索到满足条件的索引块,然后根据索引块上的指针逐一找到结果数据块,这样I/O访问量肯定要少得多。 

然而有时用索引比不用索引还快。 

同上,如果要无条件检索全部记录(不用Where子句),不用索引的话,需要访问8000条×1000字节/8K字节=1000个页面;而使用索引的话,首先检索索引,访问8000条×10字节/8K字节=10个页面得到索引检索结果,再根据索引检索结果去对应数据页面,由于是检索全部数据,所以需要再访问8000条×1000字节/8K字节=1000个页面将全部数据读取出来,一共访问了1010个页面,这显然不如不用索引快。 

SQLS内部有一套完整的数据索引优化技术,在上述情况下,SQLS会自动使用表扫描的方式检索数据而不会使用任何索引。那么SQLS是怎么知道什么时候用索引,什么时候不用索引的呢?因为SQLS除了维护数据信息外,还维护着数据统计信息。 

四.统计信息 

打开企业管理器,单击“Database”节点,右击Northwind数据库→单击“属性”→选择“Options”选项卡,观察“Settings”下的各项复选项,你发现了什么? 

从Settings中我们可以看到,在数据库中,SQLS将默认的自动创建和更新统计信息,这些统计信息包括数据密度和分布信息,正是它们帮助SQLS确定最佳的查询策略:建立查询计划和是否使用索引以及使用什么样的索引。 

在创建索引时,SQLS会创建分布数据页来存放有关索引的两种统计信息:分布表和密度表。查询优化器使用这些统计信息估算使用该索引进行查询的成本(Cost),并在此基础上判断该索引对某个特定查询是否有用。 

随着表中的数据发生变化,SQLS自动定期更新这些统计信息。采样是在各个数据页上随机进行。从磁盘读取一个数据页后,该数据页上的所有行都被用来更新统计信息。统计信息更新的频率取决于字段或索引中的数据量以及数据更改量。比如,对于有一万条记录的表,当1000个索引键值发生改变时,该表的统计信息便可能需要更新,因为1000 个值在该表中占了10%,这是一个很大的比例。而对于有1千万条记录的表来说,1000个索引值发生更改的意义则可以忽略不计,因此统计信息就不会自动更新。 

五.索引的人工维护 

上面讲到,某些不合适的索引将影响到SQLS的性能,随着应用系统的运行,数据不断地发生变化,当数据变化达到某一个程度时将会影响到索引的使用。这时需要用户自己来维护索引。 

随着数据行的插入、删除和数据页的分裂,有些索引页可能只包含几页数据,另外应用在执行大量I/O的时候,重建非聚聚集索引可以维护I/O的效率。重建索引实质上是重新组织B树。需要重建索引的情况有: 

1.数据和使用模式大幅度变化; 

2.排序的顺序发生改变; 

3.要进行大量插入操作或已经完成; 

4.使用I/O查询的磁盘读次数比预料的要多; 

5.由于大量数据修改,使得数据页和索引页没有充分使用而导致空间的使用超出估算; 

6.dbcc检查出索引有问题。

六.索引的使用原则 

接近尾声的时候,让我们再从另一个角度认识索引的两个重要属性----惟一性索引和复合性索引。 

惟一性索引保证在索引列中的全部数据是惟一的,不会包含冗余数据。如果表中已经有一个主键约束或者惟一性约束,那么当创建表或者修改表时,SQLS自动创建一个惟一性索引。但出于必须保证惟一性,那么应该创建主键约束或者惟一性键约束,而不是创建一个惟一性索引。 

复合索引就是一个索引创建在两个列或者多个列上。在搜索时,当两个或者多个列作为一个关键值时,最好在这些列上创建复合索引。当创建复合索引时,应该考虑这些规则:最多可以把16个列合并成一个单独的复合索引,构成复合索引的列的总长度不能超过900字节;在复合索引中,所有的列必须来自同一个表中,不能跨表建立复合列;在复合索引中,列的排列顺序是非常重要的,原则上,应该首先定义最惟一的列,例如在(COL1,COL2)上的索引与在(COL2,COL1)上的索引是不相同的,因为两个索引的列的顺序不同;为了使查询优化器使用复合索引,查询语句中的WHERE子句必须参考复合索引中第一个列。 

综上所述,我们总结了如下索引使用原则: 

1.逻辑主键使用惟一的成组索引,对系统键(作为存储过程)采用惟一的非成组索引,对任何外键列采用非成组索引。考虑数据库的空间有多大,表如何进行访问,还有这些访问是否主要用作读写; 

2.不要索引memo/note 字段,不要索引大型字段(有很多字符),这样作会让索引占用太多的存储空间; 

3.不要索引常用的小型表; 

4.一般不要为小型数据表设置过多的索引,如果经常有插入和删除操作就更不要设置索引,因为SQLS对插入和删除操作提供的索引维护可能比扫描表空间消耗的时间更多。 

查询是一个物理过程,表面上是SQLS在东跑西跑,其实真正大部分压马路的工作是由磁盘输入输出系统(I/O)完成,全表扫描需要从磁盘上读表的每一个数据页,如果有索引指向数据值,则I/O读几次磁盘就可以了。但是,在随时发生的增、删、改操作中,索引的存在会大大增加工作量,因此,合理的索引设计是建立在对各种查询的分析和预测上的,只有正确地使索引与程序结合起来,才能产生最佳的优化方案。 

SQLS是一个很复杂的系统,让索引以及查询背后的东西真相大白,可以帮助我们更为深刻的了解我们的系统。一句话,索引就像盐,少则无味多则咸。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/arrow_gx/archive/2008/05/22/2469555.aspx

posted @ 2009-08-12 14:35 新程金锣 阅读(59) 评论(0) 编辑

安装SQL SERVER 2008时,安装到80%进度时,提示“服务SQLBrowser启动请求失败”。几次重试安装都是这个错误。看来现在用SQL SERVER 2008的人还不是很多,在网上搜到的答案寥寥无几,终于在下面的文章中找到了答案:
sql2008安装问题-----sql browser 无法启动终极解决办法 

这几天在几台不同的服务器上安装 sql2008 ,其中一台服务器安装顺利,其他几台都安装不上,都是提示 sql browser 无法启动,这几台机器硬件配置一模一样,系统都是比较单纯的,没有安装什么软件,研究N久,一点头绪都找不到,简直要抓狂啊 

冷静,冷静,碰到这样的问题一定要冷静,仔细分析,还好有一台成功装上了,有可对比分析的对象 

狂查几台机器的差异,服务、端口、防火墙、IP安全策略、已安装的软件、补丁..

等等,好像在检查已安装补丁的时候发现有点差异
msxml6补丁??已安装上的服务器没有这个补丁???. 再检查其他几台没装上的服务器


呵呵,后来详细对比了能安装上的机器,发现它和其他机器的区别就只是一个微软的安全补丁没安装,其他的都安装上了,试着把这个补丁删掉,再重装一次 sql2008 ,竟然顺利成功了,再试另外几台,也同样成功了,郁闷啊,原来是微软自己的东西在打架 

这个对于 sql2008安装来说,罪恶的补丁就是 KB954459 ,删掉就好, 

安装好 sql2008 以后,再重新安装一次就好 

因为这个 KB954459 是今年较早时候的补丁了,所以这个问题估计今后很多人会碰到,

不敢独享,发出来让大家分享



本文来自CSDN博客,转载请标明出处:http:
//blog.csdn.net/arrow_gx/archive/2009/06/01/4232335.aspx

完成后,重新安装KB954459补丁:
http://www.microsoft.com/downloads/details.aspx?FamilyID=59914795-60c7-4ebe-828d-f28cb457e6e3&DisplayLang=zh-cn

由于前几次安装不成功,在安装SQL SERVER 2008 SP1时提示错误:
------------------------------

标题: SQL Server 安装程序失败。
------------------------------

SQL Server 安装程序遇到以下错误:


A failure was detected for a previous installation, patch, or repair during configuration for features [Connectivity_Full,SDK_Full,Tools_Legacy_Full,]. In order to apply this patch package (KB968369), you must resolve any issues with the previous operation that failed. View the summary.txt log to determine why the previous operation failed.

错误代码 0x84B20001。

------------------------------
按网上的说法是做一次修复安装,在修复安装时提示:
试图读取文件 F:\x64\setup\SSCERuntime-chs.msi 时出现网络错误
后来看到这篇文章:

昨天安裝SQL Server 2008 SP1竟然折騰到3點多,安裝的時候出現如下錯誤: SQL 2008 SP1 Fails with error code 0x84B20001,具體消息如下: 
  Message: 
        
        A failure was detected 
for a previous installation, patch, or repair for instance 'MSSQLSERVER' during configuration for features [Analysis_Server_Full,]. In order to apply this patch package (KB968369), you must resolve any issues with the previous operation that failed. View the summary.txt log to determine why the previous operation failed.

  這個錯誤是說你以前安裝的時候發生過錯誤,一部分組件沒有安裝成功,所以它不讓你安裝SP1,消息裏會明確指出有問題的組件 [Analysis_Server_Full,],我是因爲安裝的時候人走開了,Mcafee攔截了對系統修改,在沒有確認的情況下安裝程序超時錯誤,所以這個組件沒有安裝成功。

  解決方法重新安裝錯誤的相應組件。這裡需要注意的是不要進行修復安裝,因爲Sql Server 2008的修復安裝有一個BUG,會在修復的時候報如下錯誤

  产品: Microsoft SQL Server Compact 
3.5 SP1 - 简体中文版 -- 错误 1316。试图读取文件 F:\x64\setup\SSCERuntime-chs.msi 时出现网络错误

  这个错误应该是安装包的bug,所以直接将问题组件删除后,重新安装即可,不要进行修复安装,这样只能使错误越来越多。

  最後附上Sql Server 
2008 Service Pack 1修復的錯誤列表

  http:
//support.microsoft.com/kb/968369

忠告:如果在安装SQL SERVER 2008时出错,这时可能已经安装上了部分组件,下次安装时不会重新安装这些组件,那么在安装SP1补丁时,很有可能出现上面的错误提示。所以最好如果安装不成功,则把已安装的组件全部删除,保证在安装时选择组件的复选框没有一个是灰色的。这样就可以顺利打SP1补丁了。

posted @ 2009-08-12 14:19 新程金锣 阅读(2197) 评论(0) 编辑

2009年7月8日 #

 

  • .NET 1.1与.NET 2.0网站不能使用同一个应用程序池。由于IIS中创建网站时,默认使用的是“DefaultAppPool”应用程序池,在这儿很容易出错。建议分别创建“.NET 1.1”与“.NET 2.0”两个应用程序池,然后将网站设置为相应版本的应用程序池。
posted @ 2009-07-08 16:55 新程金锣 阅读(56) 评论(0) 编辑

在触发器中需要更新远程服务器的数据,更新时报错:
来自 OLE DB 提供程序 'SQLOLEDB')。 提供程序未能支持行查找位置。 提供程序指出与其它属性或要求发生了冲突。
[OLE/DB provider returned message: 多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成。]


如果要更新的表没有没有主键,就会出现这个提示。

posted @ 2009-07-08 16:43 新程金锣 阅读(272) 评论(1) 编辑

2009年6月27日 #

说明:对于现在的数据库服务器来说,如果使用默认配置的话,和坦克拉着一辆婴儿车差不多。本来想根据自己的体会写一下,但博客园中Mason已经写了一篇很详细的文章,所以直接转过来了,感谢Mason的总结。

原文地址:http://www.cnblogs.com/mason/archive/2006/02/14/330376.html

 

Code

 

posted @ 2009-06-27 10:18 新程金锣 阅读(76) 评论(0) 编辑

公司的两台数据库服务器前期因群集出现故障,所以将SQL SERVER重装了,并修改了实例名称。当时是直接用备份的msdb数据库覆盖了新装的数据库,并还原了master数据库。今天在修改作业时,提示:

错误 14274: 无法添加、更新或删除从 MSX 服务器上发起的作业(或其步骤或调度)。

 

网上的解决办法是:

计算机名称更改以后,无法添加、更新或删除从msx服务器上发起的作业(或其步骤或调度)

--解决方法如:在查询分析器中执行下面的语句就好了:   
    
  
use   msdb   
  
go   
    
  SP_CONFIGURE   
'ALLOW UPDATES',1   RECONFIGURE   WITH   OVERRIDE   
  
GO   
    
  
update   sysjobs   set   originating_server=@@servername   
  
go   
    
  SP_CONFIGURE   
'ALLOW UPDATES',0   RECONFIGURE   WITH   OVERRIDE   
  
GO   



本文来自CSDN博客,转载请标明出处:http:
//blog.csdn.net/feng2112/archive/2009/02/16/3896749.aspx

 

但实际上这样更新后,@@servername还是原来的名称,更新之后还是无法修改。需要将实际的数据库实例名称替换上面@@servername,如:服务器名称\\实例名称。

另外可以通过select * from msdb.dbo.sysjobs查看当前服务器的作业列表。新建一个作业,其对应的originating_server值就是正确的,可以根据它修改其它作业。

posted @ 2009-06-27 07:57 新程金锣 阅读(290) 评论(0) 编辑

2008年9月19日 #

摘要: 程序员每天应该做的事 1、总结自己一天任务的完成情况 最好的方式是写工作日志,把自己今天完成了什么事情,遇见了什么问题都记录下来,日后翻看好处多多 2、考虑自己明天应该做的主要工作 把明天要做的事情列出来,并按照优先级排列,第二天应该把自己效率最高的时间分配给最重要的工作 3、考虑自己一天工作中失误的地方,并想出避免下一次再犯的方法 出错不要紧,最重要的是不要重复犯相同的错误,那是愚蠢 4、考虑自己一天工作完成的质量和效率能否还能提高 一天只提高1%,365天你的效率就能提高多少倍你知道吗? (1+0.01)^365 = 37 倍 5、看一个有用的新闻网站或读一张有用的报纸,了解业界动态 闭门造车是不行的,了解一下别人都在做什么,对自己能带来很多启示 6、记住一位同事的名字及其特点 你认识公司的所有同事吗?你了解他们吗? 7、清理自己的代码 今天完成的代码,把中间的调试信息,测试代码清理掉,按照编码风格整理好,注释都写好了吗? 8、清理自己的桌面 当日事当日毕,保持清洁干劲的桌面才能让你工作时不分心,程序员特别要把电脑的阅读全文
posted @ 2008-09-19 09:28 新程金锣 阅读(112) 评论(2) 编辑

2008年9月12日 #

摘要: 今天IE6出现问题,页面布局出现了混乱。表现为DataGrid的表格线不是按原格式显示,TextBox原来设置为隐藏的,现在全部显示出来了。按照以往经验,安装上IE7后再卸载就会恢复正常。但在用VS2003调试网站项目时,提示:---------------------------Microsoft 开发环境---------------------------项目“WebSite&#...阅读全文
posted @ 2008-09-12 16:24 新程金锣 阅读(497) 评论(0) 编辑

2008年7月14日 #

摘要: 职位名称:软件美工设计师(1人)工作地址:临沂新程金锣肉制品有限公司信息工程部工作性质:全职工资待遇:面议招聘范围:公司内部及对外招聘职位要求:1)对色彩有深刻的把握力、设计风格大方简洁、有独到的创意视点;2)热爱设计,善于沟通,能够清晰合理地向客户阐述创意理念;3)熟练使用PHOTOSHOP,FLASH,DREAMWEAVER等设计软件;4)了解HTML、javascript、CSS等网页设计语...阅读全文
posted @ 2008-07-14 19:38 新程金锣 阅读(640) 评论(9) 编辑