星期六, 七月 15, 2006
[Learning Diary]-Fundemental Skills of T-SQL
Tomorrow I will continue learning SQL Server 2005. I am going to fininsh the book at the end of next week!
星期四, 七月 13, 2006
One Mantain Can't Contain Two Tigers
一山不容二虎,说的是AntiVirus 的事情。我开始用的是Kaprspkey 5.0 personal, then I change to use another software ewido introduced by many people on internet. Then I download it and install it. But later I found that the CPU resourece keeps on 100%. After I checked all the details, I discovered that the are not cooperative. Gosh, I have to delete one, although i like both of them.
星期日, 七月 09, 2006
翻译-SQL Server中的几类数据库
翻译:Ryan Chung 时间:2006-7-9
Master Database
无论哪个版本或者任何客户的修改,每个SQL Server都有master database。这个数据库保存了一个特别的表(系统表)集合,记录整个系统的内容。例如,当你在服务器上创建一个新的数据库的时候,将在master 数据库中的sysdatabase表中添加一个条目。所有扩展的和系统的存储过程,无论他们是用在哪个数据库的,都存储在这个数据库中。显然由于几乎所有描述你服务器的信息都存储在这个数据库中,这个数据库对于你的系统很关键,而且无法删除。在master database中的这些系统表格,当然也十分重要。他们能够决定在执行操作前额的某些对象是否存在。比如,如果你想创建一个对象,它已经存在于每个数据库中,你将得到一个错误。如果你想强制执行,有可以试试,看看是否可以登陆这个数据库中的sysobject表。如果可以,你就可以在创建之前删除这个对象。
The model Database
原型数据库(Model Database)是个合适的名字,某种意义上看来它是基于一个数据库拷贝的原型。原型数据库可以成为任何你创建的新数据库的模板。这意味着只要你愿意,如果你想要改变任何标准新建数据库的情况,你可以通过修改原型数据库实现。比如,你可以在每个你创建的数据库中添加审计表格(Audit Tables)。你也可以将系统中创建的每个新数据库放入一些用户组。注意由于这个数据库是其他数据库的模板,所以它是必不可少的,并且无法必须保存在系统内,无法删除。
当你修改原型数据库的时候,必须牢记一些事情。如果你你将原型数据库修改成100MB大小,你将无法创建小于100MB的数据库了。还有一些其他的缺陷,不便详说。对于90%的安装用户,我不推荐修改这个数据库。
msdb 数据库
msdb数据库是SQL Agent 进程存储系统任务的地方。如果你计划每夜备份一个数据库,那么在msdb中就会有条项目。计划执行一次存储的过程,就会在msdb中留下一条项目。
tempdb 数据库
tempdb是你的服务器中的关键工作区域之一。无论你执行多么复杂,多么冗长的查询,SQL Server都将建立临时表格来处理,这就是在tempdb中实现的。无论什么时候你创建一个你自己的临时表格,都会创建在tempdb中,尽管有会认为你是在当前书库苦中创建的表格。无论什么时候你需要临时存储一些数据,可能都存储在tempdb中。
tempdb 与其他数据库完全不同。不光是它的对象的临时性,还有这个数据库本身的临时性。它的一个显著特征就是,它是你系统中唯一的数据库,在你每次开始运行SQL Server的时候都会完全重建。
pubs 数据库
啊啊啊,pubs 数据库!它真就像一位老朋友。pubs现在只是一个微软网站上单独的下载例子来安装,并且首先可以用来支持培训的文章和书籍,比如本书。Pubs完全与SQL Server无关。它只是提供给你培训和试验的相容的(Consistent)场所。在本书中,你只是偶尔遇到使用pubs的时候。
Northwind 数据库
如果你以前在Access和Visual Basic上拥有变成经验,那么你大概已经熟悉Northwind数据库了。Northwind数据库从SQL Server 7.0 开始加入,但是从SQL Server 2005开始又被去处了。Northwind 很像pubs,必须同基本SQL Server 的安装独立(幸运的是,它是同样的例子的下载和安装)。Northwind是本书着重讨论的数据库之一。
翻译感想:
以前没有系统的学习过SQL Server数据库,现在好好学习一下,发现还有很多东西不知道。很多术语不知道翻译的对不对,比如“entry”我翻译成“项目,条目”,“audit”翻译成审计。希望朋友们可以来指正。
[转载]安装SQL Server 2005 性能计数器错误的解决方法--试过,挺好的

查看安装帮助后,发现有这一段话:1 在 Microsoft Windows 2003 或 Windows XP 桌面上,依次单击“开始”、“运行”,然后在“打开”中键入 regedit.exe,再单击“确定”。在 Windows 2000 中,使用 regedt32.exe 启动注册表编辑器。
2 定位到以下注册表项:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib]
"Last Counter"=dword:00000ed4 (5276)
"LastHelp"=dword:00000ed5 (5277)
3 上一步的“Last Counter”值 (5276) 必须与以下注册表项中“Perflib\009”的“Counter”项的最大值匹配,并且上一步的“Last Help”值 (5277) 必须与以下注册表项中“Perflib\009”的“Help”项的最大值匹配。
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009]
注意 009 是英文中的一个示例。“Last Counter”和“Last Help”值是由 Windows 动态分配的;这两个值会因计算机的不同而不同。
4 如有必要,可修改“\Perflib”项中的“Last Counter”和“Last Help”值的值:在右侧窗格中,右键单击“Last Counter”或“Last Help”,单击“修改”,再单击“Base = "Decimal"”,在“值数据”中设置值,再单击“确定”。如有必要,对另一个项重复以上过程,然后关闭注册表编辑器。
5 再次运行 SQL Server 安装程序。我完全按照以上叙述的步骤修改了注册表,可是始终出现这个问题。后来经过分析,发现原因有两个,即注册表值中的数字与实际数字不符合,还有就是根本不应该修改009这个注册表项中的值。因为我们使用的大多数是简体中文系统。所以修改方式如下:首先打开 “控制面板” --> “管理工具” 后,双击 “性能”,显示出性能分析器界面,在右边的控制台节点中展开 “性能日志和警报”后,用鼠标选择 “性能计数器”。然后双击右边窗口的 “System Overview”,显示 System Overview 属性窗口。
在窗口中的 “添加对象” 和 “添加计数器” 按钮分别单击一次,但单击后显示的窗口不要去动,直接选择取消。分别单击两个按钮后,单击缺定关闭 System Overview 属性窗口,然后关闭性能窗口。然后在 “开始” --> “运行”中输入 regedit,开启注册表编辑器。定位到[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib处,在右边的树形目录下可以看到Perflib目录下有004和009两个子目录。在Sql Server 2005 的安装帮助文件中说的是需要查看009目录的注册表项,而我们大部分人使用的是简体中文的操作系统,所以不能按帮助中说的,而是需要注意004目录中的内容。打开004 目录中的内容,可以看到如下图:
我们分别双击 “Counter” 项 和 “Help” 项,察看其中的最后的数字,如下图:Counter 项的内容:
Helper 项内容

这时候,我们知道,Counter 项的数字是5556,Helper项的内容是5557。然后,操作注册表编辑器的左边的目录树,定位到Perflib目录下,并注意检查右边窗口的 “Laster Counter”项和“Laster Help”项的值,并把Laster Counter的值改成刚才记录下的Counter值5556,把Laster Help 的值改成刚才记下的 Help的值5557。
要注意的是,修改数字的时候,输入的时候必须选则基数是 “十进制”,否则数字将不匹配,Sql Server 2005 检查将再次失败。然后关闭注册表编辑器,开始安装 Sql Server 2005 ,绝对可以安装成功。注意:我上面说的5556和5557的数字,每个人每台计算机的数字都是不同的,所以必须要一步步来,检查出准确的数字填入,而不是直接看到5556/5557填写,这样还不行的。
我自己把上面的值胡乱改了改,就安装成功了。莫明奇妙!














