<?xml version='1.0' encoding='UTF-8'?>
<rss version='2.0' xmlns:dc='http://purl.org/dc/elements/1.1/'>
<channel>
<title>CSDN技术网摘 -- wz.csdn.net(数据库)</title>
<description>CSDN技术网摘 -- wz.csdn.net(数据库)</description>
<link>http://wz.csdn.net/tag-rss/数据库/</link>
<generator>CSDN网摘 (http://wz.csdn.net)</generator>
<language>zh-cn</language>
<docs>CSDN网摘 包罗技术精华</docs>
<item>
<title>SQL语句大全</title>
<link>http://topic.csdn.net/u/20080930/00/03d54a0f-67c4-465d-bbfa-0092b3216bb6.html</link>
<guid isPermaLink="true">http://topic.csdn.net/u/20080930/00/03d54a0f-67c4-465d-bbfa-0092b3216bb6.html</guid>
<category>数据库</category>
<pubDate>Tue, 07 Oct 2008 03:01:30 GMT</pubDate>
<description><blockquote></blockquote></description>
<dc:creator>chenlixuan0772</dc:creator>
</item>
<item>
<title>触发器综述</title>
<link>http://topic.csdn.net/u/20081005/11/57061a18-c234-40ee-ba4b-1f4c3bc7f09a.html</link>
<guid isPermaLink="true">http://topic.csdn.net/u/20081005/11/57061a18-c234-40ee-ba4b-1f4c3bc7f09a.html</guid>
<category>数据库</category>
<pubDate>Mon, 06 Oct 2008 06:44:52 GMT</pubDate>
<description><blockquote>传下昨天晚上上传的博文：</blockquote></description>
<dc:creator>yangchao_713</dc:creator>
</item>
<item>
<title>触发器综述 - Haiwer的专栏 - CSDNBlog</title>
<link>http://blog.csdn.net/Haiwer/archive/2008/10/04/3016333.aspx</link>
<guid isPermaLink="true">http://blog.csdn.net/Haiwer/archive/2008/10/04/3016333.aspx</guid>
<category>数据库</category>
<pubDate>Mon, 06 Oct 2008 06:44:31 GMT</pubDate>
<description><blockquote></blockquote></description>
<dc:creator>yangchao_713</dc:creator>
</item>
<item>
<title>SQL语句大全</title>
<link>http://topic.csdn.net/u/20080930/00/03d54a0f-67c4-465d-bbfa-0092b3216bb6.html</link>
<guid isPermaLink="true">http://topic.csdn.net/u/20080930/00/03d54a0f-67c4-465d-bbfa-0092b3216bb6.html</guid>
<category>数据库</category>
<pubDate>Mon, 06 Oct 2008 06:43:56 GMT</pubDate>
<description><blockquote></blockquote></description>
<dc:creator>yangchao_713</dc:creator>
</item>
<item>
<title>数据库中索引原理 - LiXianlin''s Spaces - CSDNBlog</title>
<link>http://blog.csdn.net/lixianlin/archive/2008/04/21/2312049.aspx</link>
<guid isPermaLink="true">http://blog.csdn.net/lixianlin/archive/2008/04/21/2312049.aspx</guid>
<category>数据库</category>
<pubDate>Sun, 05 Oct 2008 13:42:31 GMT</pubDate>
<description><blockquote></blockquote></description>
<dc:creator>shanghaif</dc:creator>
</item>
<item>
<title>SQL语句大全</title>
<link>http://topic.csdn.net/u/20080930/00/03d54a0f-67c4-465d-bbfa-0092b3216bb6.html</link>
<guid isPermaLink="true">http://topic.csdn.net/u/20080930/00/03d54a0f-67c4-465d-bbfa-0092b3216bb6.html</guid>
<category>数据库</category>
<pubDate>Sun, 05 Oct 2008 13:25:56 GMT</pubDate>
<description><blockquote></blockquote></description>
<dc:creator>condor888</dc:creator>
</item>
<item>
<title>基于MySQL的数据库集群系统的实现 - LinuxSir.Org</title>
<link>http://www.linuxsir.org/bbs/thread48608.html</link>
<guid isPermaLink="true">http://www.linuxsir.org/bbs/thread48608.html</guid>
<category>Linux,数据库</category>
<pubDate>Mon, 29 Sep 2008 03:34:04 GMT</pubDate>
<description><blockquote></blockquote></description>
<dc:creator>everspring2008</dc:creator>
</item>
<item>
<title>实例之Visual C#中实现DB2数据库的编程</title>
<link>http://tech.it168.com/a2008/0902/202/000000202781.shtml</link>
<guid isPermaLink="true">http://tech.it168.com/a2008/0902/202/000000202781.shtml</guid>
<category>数据库</category>
<pubDate>Sun, 28 Sep 2008 11:05:31 GMT</pubDate>
<description><blockquote>来源：比特网 
在Visual Studio.NET Beta 1版本中访问IBM DB2等非SQL Server数据库通常是使用ADO.NET的ODBC方法，而在Beta 2中则改用OLE DB方式存取数据库。 

 Beta1中连接字符串主要需声明数据库的ODBC的DNS名字，但Beta 2中的OLE DB连接的字符串就较复杂了，使用的类也不相同。由于DB2等数据库在大型机等应用中使用非常广泛，.NET自然会全力支持此类编程开发，为此，下文将逐步阐述OLE DB的DB2开发。 

 OLE DB for DB2驱动 

首先，Visual Studio.NET和Windows 2000 Server中并未直接提供DB2的OLE DB驱动，因此需下载Microsoft Host Integration Server 2000软件，该软件包中含OLE DB Provider and ODBC driver for DB2，需下载Server端软件包，并在安装时选择安装Data Integration，安装完成后就可使用其OLE DB的DB2驱动了。 

设置数据库连接 

首先，我们需配置好DB2的客户端设置，打开视图选单项中的服务器资源管理器，在其数据连接中新增一个连接，指定程序选项时选择Microsoft OLE DB Provider for DB2，下一步连接选项中，填写如下信息： 

 Data Source: QCDB（请酌情修改）
            Network：TCP/IP
            IP Address：数据库服务器地址
            Network Port：DB2服务端口
            Username：数据库访问权限的用户名
            Password：该用户口令
            Database initial Catalog：QCDB
            Package collection：QCDB
            default schema：Userid 


下一步高级选项中选各自国家语言对应的code page及CCSID，最后按确认键完成创建连接。 

 假设QCDB这个DB2数据库中有一名为address的新数据表，其包含四个字段：name、email、age和address，我们可用服务器资源管理器打开上述连接及该数据表，可输入数条中文记录，确定中文字符能否正常显示。 

 为项目增加数据库连接 

用Visual Studio新建一个ASP.NET项目，激活服务器资源管理器的上述连接，用鼠标将该连接拖至新建的Web Form上，则OLE DB需要的连接字符参数全部自动写入Web Form程序中，上述连接生成的语句如下： 

 

this.oleDbConnection1.ConnectionString
            = @Provider=DB2OLEDB; 
            Cache Authentication=False; 
            Integrated Security=; 
            Password=freebsd9; 
            Persist Security Info=True; 
            User ID=userid; Initial Catalog=qcdb; 
            Data Source=qcdb; Mode=ReadWrite; 
            Extended Properties=; 
            APPC Remote LU Alias=; 
            APPC Local LU Alias=; 
            APPC Mode Name=QPCSUPP; 
            Network Transport Library=TCPIP; 
            Host CCSID=37; PC Code Page=1282; 
            Network Address=172.23.169.1; 
            Network Port=4444; Package Collection=qcdb; 
            Default Schema=userid; Alternate TP Name=; 
            Process Binary as Character=False; 
            Units of Work=RUW 

用服务器资源管理器工具生成连接可避免错写各种参数，从而可快速地实现数据库连接。 

 Web Form显示数据库数据 

为Web Form新增一个OleDbDataAdapter类的对象oleDbDataAdapter1，为其选择数据连接时选上面建立的连接如：qcdb.qcdb.userid，选择使用SQL语句，生成SQL语句如：Select ?from address，最后提示完成。再为Web Form新增一个DataSet并命名为dataSet1用来放查询得到的数据。新增一个显示数据用的DataGrid命名为DataGird1，最后在Web Form的程序段中的Page_Init部分中增加如下代码： 

 oleDbConnection1.Open(); 
            //打开数据库连接
            oleDbDataAdapter1.Fill(dataSet1,Address); 
            //将得来的数据填入dataSet
            DataGrid1.DataBind(); 
            //绑定数据
            oleDbConnection1.Close(); 
            //关闭连接 


编译运行后，可见address表中内容被显示于Web Form的DataBrid中。OleDbConnection1等属性设置都在生成的Web Form设计代码中。 

 增加数据库数据 

在Web Form上新增对应字段数量个数的TextBox，及一个button，为该按键增加Click响应事件代码如下： 

  this.oleDbInsertCommand1.CommandText
            = INSERT INTO ADDRESS(NAME, EMAIL, AGE, ADDRESS) VALUES (+TextBox1.Text+,+TextBox2.Text+,
            +TextBox3.Text+,+TextBox4.Text+); 
            oleDbInsertCommand1.Connection.Open(); 
            //打开连接
            oleDbInsertCommand1.ExecuteNonQuery(); 
            //执行该SQL语句
            oleDbInsertCommand1.Connection.Close(); 
            //关闭连接 


实际编程中，我们需注意SQL语句的单引号问题以及数字和字符串处理问题。 

 

删除数据库数据 

在Web Form上新增一个TextBox5及一个按键，要执行删除时，在TextBox5中填入要删除记录的name字段的值，然后按该按键执行删除。该按键代码如下： 

 

System.Data.OleDb.OleDbCommand oleDeleteCommand1
            new System.Data.OleDb.OleDbCommand(); 
            this.oleDbDataAdapter1.DeleteCommand
            = oleDeleteCommand1; 
            //声明为oleDb命令
            oleDeleteCommand1.CommandText
            =DELETE FROM ADDRESS WHERE NAME=+TextBox5.Text+; 
            oleDeleteCommand1.Connection
            = this.oleDbConnection1; 
            //指明连接
            oleDeleteCommand1.Connection.Open(); 
            //打开连接
            oleDeleteCommand1.ExecuteNonQuery(); 
            //执行SQL语句
            oleDeleteCommand1.Connection.Close(); 
            //关闭连接 

对于增加、更新和删除操作后的DataGrid刷新，可执行类似的Select SQL语句即可。 

 上述代码可供各种非SQL Server数据库编程参考和使用，微软为此提供了如OLE DB Provider for Oracle、AS/400和VSAM等众多驱动，OLE DB方式确实提供了较ODBC方式更为广泛的数据存取范围，如可存取Access库中的数据、邮件系统中的数据、Web上的文本及图形、目录服务等等，符合ODBC标准的数据源就是符合OLE DB标准的数据存储的子集，而且OLE DB的API是符合COM标准和基于对象的API，这些都是较原ODBC方式有大幅改进，从而为综合的数据集成处理提供了更广泛的支持。 

 

通过以上讲解，笔者希望使读者初步了解在Visual Studio.NET中，以DB2为后台数据库时应用系统的开发步骤，也希望读者举一反三，领会思想和方法，以便更好地应用到自己的系统开发中。  

上述程序在中文Windows 2000 Server、IBM DB2和Visual Studio.NET Beta 2环境中编译并正常运行。</blockquote></description>
<dc:creator>y307445352</dc:creator>
</item>
<item>
<title>实例之Visual C#中实现DB2数据库的编程</title>
<link>http://tech.it168.com/a2008/0902/202/000000202781.shtml</link>
<guid isPermaLink="true">http://tech.it168.com/a2008/0902/202/000000202781.shtml</guid>
<category>数据库</category>
<pubDate>Sat, 27 Sep 2008 06:49:38 GMT</pubDate>
<description><blockquote>来源：比特网 
在Visual Studio.NET Beta 1版本中访问IBM DB2等非SQL Server数据库通常是使用ADO.NET的ODBC方法，而在Beta 2中则改用OLE DB方式存取数据库。 

 Beta1中连接字符串主要需声明数据库的ODBC的DNS名字，但Beta 2中的OLE DB连接的字符串就较复杂了，使用的类也不相同。由于DB2等数据库在大型机等应用中使用非常广泛，.NET自然会全力支持此类编程开发，为此，下文将逐步阐述OLE DB的DB2开发。 

 OLE DB for DB2驱动 

首先，Visual Studio.NET和Windows 2000 Server中并未直接提供DB2的OLE DB驱动，因此需下载Microsoft Host Integration Server 2000软件，该软件包中含OLE DB Provider and ODBC driver for DB2，需下载Server端软件包，并在安装时选择安装Data Integration，安装完成后就可使用其OLE DB的DB2驱动了。 

设置数据库连接 

首先，我们需配置好DB2的客户端设置，打开视图选单项中的服务器资源管理器，在其数据连接中新增一个连接，指定程序选项时选择Microsoft OLE DB Provider for DB2，下一步连接选项中，填写如下信息： 

 Data Source: QCDB（请酌情修改）
            Network：TCP/IP
            IP Address：数据库服务器地址
            Network Port：DB2服务端口
            Username：数据库访问权限的用户名
            Password：该用户口令
            Database initial Catalog：QCDB
            Package collection：QCDB
            default schema：Userid 


下一步高级选项中选各自国家语言对应的code page及CCSID，最后按确认键完成创建连接。 

 假设QCDB这个DB2数据库中有一名为address的新数据表，其包含四个字段：name、email、age和address，我们可用服务器资源管理器打开上述连接及该数据表，可输入数条中文记录，确定中文字符能否正常显示。 

 为项目增加数据库连接 

用Visual Studio新建一个ASP.NET项目，激活服务器资源管理器的上述连接，用鼠标将该连接拖至新建的Web Form上，则OLE DB需要的连接字符参数全部自动写入Web Form程序中，上述连接生成的语句如下： 

 

this.oleDbConnection1.ConnectionString
            = @Provider=DB2OLEDB; 
            Cache Authentication=False; 
            Integrated Security=; 
            Password=freebsd9; 
            Persist Security Info=True; 
            User ID=userid; Initial Catalog=qcdb; 
            Data Source=qcdb; Mode=ReadWrite; 
            Extended Properties=; 
            APPC Remote LU Alias=; 
            APPC Local LU Alias=; 
            APPC Mode Name=QPCSUPP; 
            Network Transport Library=TCPIP; 
            Host CCSID=37; PC Code Page=1282; 
            Network Address=172.23.169.1; 
            Network Port=4444; Package Collection=qcdb; 
            Default Schema=userid; Alternate TP Name=; 
            Process Binary as Character=False; 
            Units of Work=RUW 

用服务器资源管理器工具生成连接可避免错写各种参数，从而可快速地实现数据库连接。 

 Web Form显示数据库数据 

为Web Form新增一个OleDbDataAdapter类的对象oleDbDataAdapter1，为其选择数据连接时选上面建立的连接如：qcdb.qcdb.userid，选择使用SQL语句，生成SQL语句如：Select ?from address，最后提示完成。再为Web Form新增一个DataSet并命名为dataSet1用来放查询得到的数据。新增一个显示数据用的DataGrid命名为DataGird1，最后在Web Form的程序段中的Page_Init部分中增加如下代码： 

 oleDbConnection1.Open(); 
            //打开数据库连接
            oleDbDataAdapter1.Fill(dataSet1,Address); 
            //将得来的数据填入dataSet
            DataGrid1.DataBind(); 
            //绑定数据
            oleDbConnection1.Close(); 
            //关闭连接 


编译运行后，可见address表中内容被显示于Web Form的DataBrid中。OleDbConnection1等属性设置都在生成的Web Form设计代码中。 

 增加数据库数据 

在Web Form上新增对应字段数量个数的TextBox，及一个button，为该按键增加Click响应事件代码如下： 

  this.oleDbInsertCommand1.CommandText
            = INSERT INTO ADDRESS(NAME, EMAIL, AGE, ADDRESS) VALUES (+TextBox1.Text+,+TextBox2.Text+,
            +TextBox3.Text+,+TextBox4.Text+); 
            oleDbInsertCommand1.Connection.Open(); 
            //打开连接
            oleDbInsertCommand1.ExecuteNonQuery(); 
            //执行该SQL语句
            oleDbInsertCommand1.Connection.Close(); 
            //关闭连接 


实际编程中，我们需注意SQL语句的单引号问题以及数字和字符串处理问题。 

 

删除数据库数据 

在Web Form上新增一个TextBox5及一个按键，要执行删除时，在TextBox5中填入要删除记录的name字段的值，然后按该按键执行删除。该按键代码如下： 

 

System.Data.OleDb.OleDbCommand oleDeleteCommand1
            new System.Data.OleDb.OleDbCommand(); 
            this.oleDbDataAdapter1.DeleteCommand
            = oleDeleteCommand1; 
            //声明为oleDb命令
            oleDeleteCommand1.CommandText
            =DELETE FROM ADDRESS WHERE NAME=+TextBox5.Text+; 
            oleDeleteCommand1.Connection
            = this.oleDbConnection1; 
            //指明连接
            oleDeleteCommand1.Connection.Open(); 
            //打开连接
            oleDeleteCommand1.ExecuteNonQuery(); 
            //执行SQL语句
            oleDeleteCommand1.Connection.Close(); 
            //关闭连接 

对于增加、更新和删除操作后的DataGrid刷新，可执行类似的Select SQL语句即可。 

 上述代码可供各种非SQL Server数据库编程参考和使用，微软为此提供了如OLE DB Provider for Oracle、AS/400和VSAM等众多驱动，OLE DB方式确实提供了较ODBC方式更为广泛的数据存取范围，如可存取Access库中的数据、邮件系统中的数据、Web上的文本及图形、目录服务等等，符合ODBC标准的数据源就是符合OLE DB标准的数据存储的子集，而且OLE DB的API是符合COM标准和基于对象的API，这些都是较原ODBC方式有大幅改进，从而为综合的数据集成处理提供了更广泛的支持。 

 

通过以上讲解，笔者希望使读者初步了解在Visual Studio.NET中，以DB2为后台数据库时应用系统的开发步骤，也希望读者举一反三，领会思想和方法，以便更好地应用到自己的系统开发中。  

上述程序在中文Windows 2000 Server、IBM DB2和Visual Studio.NET Beta 2环境中编译并正常运行。</blockquote></description>
<dc:creator>xuejinyoulan</dc:creator>
</item>
<item>
<title>利用typeperf工具收集SQL Server性能数据</title>
<link>http://database.ctocio.com.cn/tips/308/8319808.shtml</link>
<guid isPermaLink="true">http://database.ctocio.com.cn/tips/308/8319808.shtml</guid>
<category>数据库</category>
<pubDate>Sat, 27 Sep 2008 06:47:27 GMT</pubDate>
<description><blockquote>出处:IT专家网
通常DBA在监控和优化SQL Server数据库DBA，都想利用命令行工具。其中经常要做的一件事情，就是收集服务器性能数据，包括CPU ，内存和磁盘利用率以及SQL Server特定数据。这时你就可以利用TypePerf.exe这个命令行工具来帮你捕获这些性能数据。

　　TypePerf.exe是一个命令行工具，包括把Windows操作系统的性能计数器数据输出到命令窗口或写入到支持该功能的日志文件格式中。

　　Windows操作系统以对象及其相关联的计数器的形式，提供了非常多的性能数据。例如， SQL Server提供了sqlserver统计对象的详细报告，包括了登录、注销、数据库连接等信息; 有些对象摆脱了计数器方式，转化为特定的实例。还是以sqlserver为例：数据库对象详细提供了每一个数据库的数据文件和事务日志文件大小，已使用事务日志的百分比，活动事务等。您可以指定一个单一的数据库或所有数据库结合在一起，作为该实例。

　　需要提醒的是，在SQL Server实例有个特殊的含义，即命名实例。

　　作为是典型的命令行工具，typeperf也有许多参数供选择，让您根据实际需要进行调整。打开一个命令提示符并输入以下命令：


　　typeperf -? 


　　您会看到下面的输出：

用法: 
typeperf {  

                                | -cf  

                                | -q [object] 

                                | -qx [object] 

                                } [选项]

参数:

         要监视的性能计数器。 

选项:

  -?                        显示跟上下文相关的帮助。 

  -f        输出文件格式。默认值是 CSV。 

  -cf                含有监视的性能计数器的文件，一个计数器一行。 

  -si &lt;[[hh:]mm:]ss&gt;           示例间的时间。默认值是 1 秒。 

  -o                输出文件或 SQL 数据库的路径。默认值为 STDOUT。 

  -q [object]                 列出已安装的计数器(无范例)。要列出某个对象的计数器，
                           包括对象名，如 Processor。 

  -qx [object]               列出已安装的计数器(带范例)。要列出某个对象的计数器，
                          包括对象名，如 Processor。 

  -sc              要收集的示例数量。默认值为，在 CTRL+C 之前都进行采样。 

  -config           含有命令选项的设置文件。 

  -s        在计数器路径中没有指定服务器的情况下要监视的服务器。 

  -y                       不用提示对所有问题都回答 yes。 
 

使用typeperf的最终目标，是采用一种可重复的方式来捕捉性能数据。例如：指定您选择在一个批处理文件，执行特定操作; 默认情况下该命令执行后，性能数据将输出到命令窗口，您也可以使用- f选项指定一个CSV文件(逗号分隔值) ， TSV文件(制表符分隔值)将性能数据输出到指定文件中。

　　使用typeperf捕捉性能数据之前，我们需要明确哪些性能对象时可用的。采用以下两个选项，您可以获得指定的机器上的性能对象列表：

　　-q [object] 列出已安装的计数器(无范例)。 
　　-qx [object] 列出已安装的计数器(带范例)。
　　在上述两个选项中，[object]是可选的参数，如果指定了该参数，将对对象列表进行过滤。默认是显示当前机器上的性能对象，你可以用-s 来指定其他的机器。

　　输入以下命令可以获得SQL Server缓冲管理器对象的所有技术器列表：


　　TYPEPERF -q &quot;SQLServer:Buffer Manager&quot; 


　　你可以看到类似以下的输出内容：


　　\SQLServer:Buffer Manager\Buffer cache hit ratio 
　　\SQLServer:Buffer Manager\Page lookups/sec 
　　\SQLServer:Buffer Manager\Free list stalls/sec 
　　\SQLServer:Buffer Manager\Free pages 
　　\SQLServer:Buffer Manager\Total pages 
　　\SQLServer:Buffer Manager\Target pages 
　　\SQLServer:Buffer Manager\Database pages 
　　\SQLServer:Buffer Manager\Reserved pages 
　　\SQLServer:Buffer Manager\Stolen pages 
　　\SQLServer:Buffer Manager\Lazy writes/sec 
　　\SQLServer:Buffer Manager\Readahead pages/sec 
　　\SQLServer:Buffer Manager\Page reads/sec 
　　\SQLServer:Buffer Manager\Page writes/sec 
　　\SQLServer:Buffer Manager\Checkpoint pages/sec 
　　\SQLServer:Buffer Manager\AWE lookup maps/sec 
　　\SQLServer:Buffer Manager\AWE stolen maps/sec 
　　\SQLServer:Buffer Manager\AWE write maps/sec 
　　\SQLServer:Buffer Manager\AWE unmap calls/sec 
　　\SQLServer:Buffer Manager\AWE unmap pages/sec 
　　\SQLServer:Buffer Manager\Page life expectancy 


　　输入以下命令可以获得tempdb这个数据库实例所有的计数器列表：

TYPEPERF -qx &quot;SQLServer:Databases&quot; | FIND &quot;tempdb&quot; 


　　你可以看到类似以下的输出内容：


　　\SQLServer:Databases(tempdb)\Data File(s) Size (KB) 
　　\SQLServer:Databases(tempdb)\Log File(s) Size (KB) 
　　\SQLServer:Databases(tempdb)\Log File(s) Used Size (KB) 
　　\SQLServer:Databases(tempdb)\Percent Log Used 
　　\SQLServer:Databases(tempdb)\Active Transactions 
　　\SQLServer:Databases(tempdb)\Transactions/sec 
　　\SQLServer:Databases(tempdb)\Repl. Pending Xacts 
　　\SQLServer:Databases(tempdb)\Repl. Trans. Rate 
　　\SQLServer:Databases(tempdb)\Log Cache Reads/sec 
　　\SQLServer:Databases(tempdb)\Log Cache Hit Ratio 
　　\SQLServer:Databases(tempdb)\Bulk Copy Rows/sec 
　　\SQLServer:Databases(tempdb)\Bulk Copy Throughput/sec 
　　\SQLServer:Databases(tempdb)\Backup/Restore Throughput/sec 
　　\SQLServer:Databases(tempdb)\DBCC Logical Scan Bytes/sec 
　　\SQLServer:Databases(tempdb)\Shrink Data Movement Bytes/sec 
　　\SQLServer:Databases(tempdb)\Log Flushes/sec 
　　\SQLServer:Databases(tempdb)\Log Bytes Flushed/sec 
　　\SQLServer:Databases(tempdb)\Log Flush Waits/sec 
　　\SQLServer:Databases(tempdb)\Log Flush Wait Time 
　　\SQLServer:Databases(tempdb)\Log Truncations 
　　\SQLServer:Databases(tempdb)\Log Growths 
　　\SQLServer:Databases(tempdb)\Log Shrinks 


　　上面这个实例( - x选项)报告了每个SQL Server数据库所包含的所有的SQLServer:Databases对象(所有与数据库相关联的所有实例)的性能计数器。上面的输出结果，通过FIND管道命令对结果进行过滤，只包含了tempdb数据。

　　当您正在使用一个命名的SQL Server实例，性能对象将反映的SQL Server实例的名称。例如我的计算机运行的一个实例的SQL Server 2000 Enterprise Edition的是名为sql2000ee ; 则性能对象就被命名为mssql$sql2000ee,而不是上面所示的sqlserver。

　　使用- Q或- qx选项，可以获得性能计数器列表，可以将该列表重定向到一个文本文件(如MyCounters.txt)，如果你只想捕获其中几个性能计数器，可以编辑该文件。


　　TYPEPERF -qx &quot;SQLServer:Databases&quot; | FIND &quot;tempdb&quot; &gt;&gt;MyCounters.txt 


　　本例中我们对MyCounters.txt 文件进行编辑，编辑后的计数器列表如下图所示：

\SQLServer:Databases(_Total)\DBCC Logical Scan Bytes/sec
\SQLServer:Databases(tempdb)\Percent Log Used
\SQLServer:Buffer Manager\Buffer cache hit ratio
\SQLServer:General Statistics\User Connections
\SQLServer:Locks(_Total)\Lock Requests/sec
\SQLServer:SQL Statistics\Batch Requests/sec 


　　执行typeperf命令行时，带上- CF选项，这样该命令执行时，就将从制定的文本文件中读取计数器列表了。上面这个命令将从MyCounters.txt这个文本文件中读取计数器信息，并显示技术器数值，每隔一秒钟刷新一次。该命令将一直重复执行，直至用户按下了Ctrl+C快捷键。


　　TYPEPERF -f CSV -o MyCounters.csv -si 15 -cf MyCounters.txt -sc 60 


　　上面这个例子，从MyCounters.txt这个文本文件中读取计数器信息，将技术器数值写入到MyCounter.csv文件中，每隔15秒钟执行一次，共执行60次(15分钟后执行完)。</blockquote></description>
<dc:creator>xuejinyoulan</dc:creator>
</item>
<item>
<title>SQL 2008 FileStream数据类型 </title>
<link>http://tech.it168.com/a2008/0923/206/000000206142.shtml</link>
<guid isPermaLink="true">http://tech.it168.com/a2008/0923/206/000000206142.shtml</guid>
<category>数据库</category>
<pubDate>Sat, 27 Sep 2008 06:34:28 GMT</pubDate>
<description><blockquote>在SQL Server 2008 中，新的FILESTREAM 数据类型，允许像文件和图片这种大型的二进制数据可以直接在NTFS文件系统中进行存储；文档或图片将作为数据库的一部分整体进行维护，并可以维护事务的一致性。FILESTREAM允许大型二进制数据的存储，通常都是由数据库进行管理，并以单独文件的方式在数据库外面进行存储，它可以使用NTFS文件流的API进行访问。使用NTFS文件流API使得文件的访问更加高效，并且可以保持数据库整体的安全性性与备份等特性。

在本实验中，我们将使用FileStream数据类型存储视频文件，并使用代码访问该文件，从而发布在Web上，并使用一个客户端工具进行访问。

创建FILESTREAM存储区

打开C:\SQLHOLS 文件夹，然后打开FILESTREAM目录当中的 “FILESTREAM.ssmssln”文件。
此时，将打开SSMS窗口，并提示连接到服务器，在Server Type中选择“Database Engine”， Server Name中指定”(local)”，然后点击Connect按钮。

返回刚才打开的Windows Explorer 窗口，然后双击DB Data 文件夹。
返回SQL Server Management Studio。

在View 菜单中，选择Solution Explorer。
在Solution Explorer 面板中，双击CREATE DB.sql文件。
查看STEP 1下面的T-SQL语句，选中所有代码，然后点击Execute。

返回Windows Explorer 窗口。
10. 浏览C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA目录，此时，将会看到一个名为‘filestream1’的目录，这是SQL Server 2008 创建出来，用来存储FILESTREAM 数据类型的数据目录。

创建FILESTREAM数据类型

返回SQL Server Management Studio 窗口。
在Solution Explorer 面板中，双击CREATE TABLE.sql文件。
在查询窗口中，选择STEP 2下面的T-SQL语句，然后点击Execute执行代码。
注意，FILESTREAM数据列实际上就是在VARBINARY(MAX)上添加了FILESTREAM属性，并且存储这种数据需要一个uniqueidentifier的数据列作为ID。
选择STEP 3 下面的T-SQL代码，然后执行。

查询FILESTREAM数据

返回Windows Explorer 窗口，并点击工具条上的返回按钮，返回到最开始的FILESTREAM目录。
双击 UploadVideos.bat。
等待上传的结束，然后点击任意键退出命令提示窗口。
返回SQL Server Management Studio 窗口。
选择STEP 4 下面的T-SQL 语句然后执行，将可以看到在数据表中已经有了一些数据，并已经存在FILESTREAM数据。 

显示FILESTREAM数据

返回Windows Explorer 窗口。
双击MediaLibrary.sln链接，此时，将打开一个解决方案。
在Solution Explorer中，右键单击default.aspx，点击”View in Browser”。
此时，可以看到一个Web页面，它可以将数据库中刚刚上传的视频加载出来，以列表的方式呈现出来。
点击任意项中的Play 链接。
结束视频播放，关闭Internet Explorer 窗口，返回到视频列表页面中。
点击工具条中的Refresh 按钮。

上传FILESTREAM数据

点击Media Library 页面底部的Browse 按钮。
浏览My Documents -&gt; My Videos ，并选择PGR3_E32005_Xbox360_Video.wmv。
点击Open。
在Comment 文本框中随便输入一些注释。
点击Upload Media按钮。
这时，在列表中将可以看到刚刚上传的视频文件。点击Play 按钮可以查看这个文件。
关闭新打开的Windows Media Player 窗口。
关闭Media Library Internet Explorer 窗口。

 
查看操作FileStream的程序代码

在Windows Explorer中，双击MediaLibrary.sln。
如果Default.aspx.cs 没有在编辑区域打开，则在Solution Explorer 面板中，右击Default.aspx 文件，然后选择View Code菜单项。
浏览StoreUploadedMediaFile 方法中的9个步骤。
关闭Microsoft Visual Studio 2008。</blockquote></description>
<dc:creator>xuejinyoulan</dc:creator>
</item>
<item>
<title>自定义用于ASP Web站点的 SQL 7.0 数据库</title>
<link>http://school.zzit.com.cn/Web/ASP/20070322/32493.html</link>
<guid isPermaLink="true">http://school.zzit.com.cn/Web/ASP/20070322/32493.html</guid>
<category>数据库</category>
<pubDate>Sat, 27 Sep 2008 06:31:17 GMT</pubDate>
<description><blockquote>来源：cndw
本文将演示如何使用SQL 7.0服务器的Enterprise Manager创建、配置一个示例数据库。我们还会演示如何增加具有合适权限的用户，以便可以从Web服务器上访问数据。

要做的第一件事是创建一个新的SQL数据库。操作是：从SQL Server 7.0菜单中启动Enterprise Manager，展开SQL服务器组节点，展开要增加数据库的指定SQL服务器，单击数据库图标，然后从Action(动作)菜单项中选择New Database （新建数据库）。

从Action(动作)菜单项中选择New Database在Database Properties（数据库属性）对话框中，输入新数据库的名称，我们把这个示例数据库命名为 WEBPAGES。 该对话框中可以看到SQL 7.0的一个最强大：不用指定数据库的大小，只需指定初始大小。SQL 7.0会在数据库需要扩大时自动扩展数据库文件，扩展的依据是按照指定的增长尺寸或按当前数据库大小的一定百分比。我们接受系统的缺省值，单击OK，新数据库就创建成功了。

下一步，必须配置这个新数据库，以便使用户能够访问它。至少要给两个用户访问权限：管理这台Web服务器的用户和Webmaster(Web站点管理员)。因为不同的用户对数据库有不同的访问需求，所以我们合理配置数据库的用户以反映不同需求。

要增加新用户，首先需要创建服务器登录。操作是：在选定的服务器节点下，单击Login(登录)图标，从Action(动作)菜单中选择New Login(新建登录)，所示，弹出SQL 服务器的登录属性－新建登录对话框。

从Action(动作)菜单中选择New Login(新建登录)在这个对话框中，首先选择 Windows NT 认证单选钮，从下拉列表框中选择你所在的域，然后，在名称编辑框中输入用户名。因为不能浏览查找用户，所以要知道Web服务器的用户名。缺省情况下，微软IIS服务器使用的用户名是IUSR_ServerName（在IUSER_后跟所在服务器的名称）。我们例子中的服务器用户名是IUSR_EARTH ，SQL服务器名称是EARTH 。

输入完用户名后，要指定用户的默认数据库和语言。我们要单击Database Access（数据库访问）选项卡以授予该用户对 WEBPAGES 数据库的访问权，并且检查图5中所示的选项。最后，单击OK，完成用户登录的创建。

指定用户的默认数据库和语言

重复以上过程，创建 Webmaster 帐户。因为没有默认的 Webmaster 用户，所以在创建这个登录前，还要确定哪个用户有权管理Web页面。创建Webmaster登录和创建Web服务器登录的区别在于，除了分配给Web服务器登录的public（公用）数据库角色外，还要给Webmaster用户分配db_owner （数据库所有者）服务器角色。</blockquote></description>
<dc:creator>xuejinyoulan</dc:creator>
</item>
<item>
<title>甲骨文推出HP Oracle数据库机系统</title>
<link>http://tech.it168.com/a2008/0925/206/000000206533.shtml</link>
<guid isPermaLink="true">http://tech.it168.com/a2008/0925/206/000000206533.shtml</guid>
<category>数据库</category>
<pubDate>Sat, 27 Sep 2008 06:28:41 GMT</pubDate>
<description><blockquote>来源：IT168
北京，2008年9月25日——今天，甲骨文公司首席执行官Larry Ellison在美国旧金山召开的甲骨文全球大会上，面对43,000名参会者揭开了HP Oracle数据库机系统的神秘面纱，这是一款为体现极致高速性能而打造的数据仓库。

     这款HP Oracle数据库机系统（HP Oracle Database Machine）把支持网格计算的Oracle数据服务器群和最新的Oracle&#174; Exadata 存储服务器组合在一个机柜内。

  HP Oracle数据库机系统的推出得益于甲骨文与惠普之间的长期精诚合作。由于采用更大的管道来传输更少数据，Oracle Exadata存储服务器突破了存在于数据库服务器和传统存储技术上的瓶颈。

     对用户而言，要达到大型Oracle数据仓库的极致性能运行效果，并不需要改变现有的查询或商务智能应用环境。

其它Oracle Exadata 产品系列

该产品系列包括两个部分：
     HP Oracle数据库机系统已有预置和预先调优，并且已获得Oracle商务智能套件企业版工具和Oracle真正应用集群（Oracle Real Application Clusters）的认证。 客户可以从甲骨文定购完整配置的产品，包括由惠普提供的硬件支持。HP-Oracle数据库机系统是一款专为数据仓库打造的高性能计算机系统，包括由8个数据库服务器组成的网格集群，配备有64个英特尔处理器核心、Oracle 企业版Linux（Oracle Enterprise Linux）和14个Oracle Exadata存储服务器，数据存储容量达到168 TB，与数据库服务器之间的通信带宽达到14GB/秒。

    HP Oracle Exadata存储服务器是数据库机系统的关键性能配置，客户可单独购买HP Oracle Exadata存储服务器，并可将存储服务器独立地配置到现有的数据仓库中。HP Oracle Exadata存储服务器拥有行业标准的组件，包括两个英特尔处理器，拥有高达12TB的存储容量，能为每个存储服务器每秒提供1GB数据量的InfiniBand连接率，客户利用它能创建数据仓库解决方案。

     HP Oracle Exadata存储服务器使用海量并行处理架构，把查询处理中的数据密集部分从Oracle数据库服务器上分离出来，大大提高了Oracle数据仓库的处理速度。

     在数据密集的查询处理上，HP Oracle Exadata存储服务器比现行的Oracle数据仓库快十倍以上，而且有不受限制的I/O可扩展性，数据仓库的优化也变得更加容易，关键任务处理的可用性和可靠性也大大提高。

产品信息

     HP Oracle数据库机系统和HP Oracle Exadata存储服务器已于今天上市，客户可以从甲骨文定购完整配置的产品。甲骨文公司负责产品的销售与系统支持，惠普公司则负责硬件的交付与服务。</blockquote></description>
<dc:creator>xuejinyoulan</dc:creator>
</item>
<item>
<title>数据库各厂商的发展历史(2. DB2 of IBM) - iihero@csdn(自由人生) - CSDNBlog</title>
<link>http://blog.csdn.net/iihero/archive/2008/09/26/2985141.aspx</link>
<guid isPermaLink="true">http://blog.csdn.net/iihero/archive/2008/09/26/2985141.aspx</guid>
<category>数据库</category>
<pubDate>Sat, 27 Sep 2008 03:20:43 GMT</pubDate>
<description><blockquote></blockquote></description>
<dc:creator>hongmin1234</dc:creator>
</item>
<item>
<title>尼克技术博客</title>
<link>http://www.ineeke.cn</link>
<guid isPermaLink="true">http://www.ineeke.cn</guid>
<category>软件开发,软件测试,数据库,java,j2ee,asp,asp.net,信息安全,黑客</category>
<pubDate>Thu, 25 Sep 2008 17:59:14 GMT</pubDate>
<description><blockquote>专注于j2ee,asp.net的web开发技术,数据库技术以及互联网信息安全技术。</blockquote></description>
<dc:creator>understandwho</dc:creator>
</item>
<item>
<title>经典短小代码收集</title>
<link>http://topic.csdn.net/u/20080920/15/424c77bf-7610-4888-be85-9a43e70f55c6.html</link>
<guid isPermaLink="true">http://topic.csdn.net/u/20080920/15/424c77bf-7610-4888-be85-9a43e70f55c6.html</guid>
<category>数据库</category>
<pubDate>Thu, 25 Sep 2008 09:44:47 GMT</pubDate>
<description><blockquote>数据库</blockquote></description>
<dc:creator>lili0610</dc:creator>
</item>
<item>
<title>如何实现数据的实时处理,使用数据库！！！ Oracle / 基础和管理 - CSDN社区 community.csdn.net</title>
<link>http://topic.csdn.net/t/20030108/17/1339562.html</link>
<guid isPermaLink="true">http://topic.csdn.net/t/20030108/17/1339562.html</guid>
<category>数据库</category>
<pubDate>Thu, 25 Sep 2008 06:55:14 GMT</pubDate>
<description><blockquote></blockquote></description>
<dc:creator>wuyijc</dc:creator>
</item>
<item>
<title>MSSQL学习资料整理【最新】</title>
<link>http://topic.csdn.net/u/20080919/13/D137F9C5-9589-4344-977C-B6ECEECF3BC1.html</link>
<guid isPermaLink="true">http://topic.csdn.net/u/20080919/13/D137F9C5-9589-4344-977C-B6ECEECF3BC1.html</guid>
<category>mysql,数据库</category>
<pubDate>Wed, 24 Sep 2008 07:52:42 GMT</pubDate>
<description><blockquote>数据库 MSSQL</blockquote></description>
<dc:creator>AmyXu1983</dc:creator>
</item>
<item>
<title>国际：Oracle TopLink 11g发布</title>
<link>http://news.csdn.net/n/20080924/119338.html</link>
<guid isPermaLink="true">http://news.csdn.net/n/20080924/119338.html</guid>
<category>数据库</category>
<pubDate>Wed, 24 Sep 2008 07:17:03 GMT</pubDate>
<description><blockquote>据国外媒体报道，9月23日消息，Oracle宣布发布Oracle TopLink 11g版本。新版本包括支持JPA的Eclipse1.0.1、MOXy和SDO，TopLink Grid与Oracle JPA的集成。如需查看详细资料或新版本的功能特性，点击TopLink pages on OTN。

Oracle TopLink 11g是一个先进的对象-关系型(object-relational)持久性框架，以EclipseLink开源项目为基础。该软件与Oracle Coherence无缝集成、引入了灵活的对象-XML(Object-XML)绑定并实现了与Oracle WebLogic服务器以及包括Oracle应用开发框架(ADF)11g在内的Java框架的开箱即用性兼容。

Oracle TopLink 11g的突出特点包括：

1) 基于JPA的数据网格：实现与Oracle Coherence的无缝集成，使应用能够通过标准JPA编程模型利用内存数据网格功能，而且开发人员不必学习新的编程模型，就可实现极高的性能。

2) 灵活的对象-XML绑定：通过采用JAXB的Java域模型支持高效率XML操作，并能够通过服务数据对象与非结构化数据交互，从而减少了集成多点解决方案的需求。

3) 可提供热插拔：

• 在Oracle WebLogic服务器上支持由应用或容器管理的JPA应用、JAXB和服务数据对象，持续支持Oracle应用服务器以及IBM WebSphere和红帽JBoss；

• 实现了与Oracle应用开发框架11g以及Oracle Spring Framework的开箱即用性兼容，从而可降低培训成本并实现快速应用开发；

• 率先与Oracle数据库11g的高级功能集成，包括支持虚拟专有数据库、代理身份验证、XDB、对象-关系型功能、空间功能、PL/SQL、存储过程/功能以及先进的查询展开；

• 持续支持种类繁多的商用和开源数据库，其中包括IBM DB/2、Sybase、Microsoft SQL Server、MySQL、Java DB以及其他数据库。</blockquote></description>
<dc:creator>villa123</dc:creator>
</item>
<item>
<title>MSSQL学习资料整理【最新】</title>
<link>http://topic.csdn.net/u/20080919/13/D137F9C5-9589-4344-977C-B6ECEECF3BC1.html</link>
<guid isPermaLink="true">http://topic.csdn.net/u/20080919/13/D137F9C5-9589-4344-977C-B6ECEECF3BC1.html</guid>
<category>数据库</category>
<pubDate>Wed, 24 Sep 2008 06:49:05 GMT</pubDate>
<description><blockquote></blockquote></description>
<dc:creator>shn11160</dc:creator>
</item>
<item>
<title>谢谢大家帮忙~如何将一个INT数姐存入到SQL数据库中</title>
<link>http://topic.csdn.net/u/20070506/09/7cdaf4d9-ae03-45bd-8476-095214ca39e4.html</link>
<guid isPermaLink="true">http://topic.csdn.net/u/20070506/09/7cdaf4d9-ae03-45bd-8476-095214ca39e4.html</guid>
<category>数据库</category>
<pubDate>Wed, 24 Sep 2008 03:58:34 GMT</pubDate>
<description><blockquote>如何将一个数组存入数据库的Binary字段中
假设该数组为T类型

存入
用blob来更新到二进制字段里去
读出
预设一个buff将它读出来后，用memcpy复制到T数组中去</blockquote></description>
<dc:creator>soliddream66</dc:creator>
</item>
<item>
<title>InfoQ: HBase的领导人探讨Hadoop、BigTable和分布式数据库</title>
<link>http://www.infoq.com/cn/news/2008/05/hbase-interview</link>
<guid isPermaLink="true">http://www.infoq.com/cn/news/2008/05/hbase-interview</guid>
<category>bigtable,数据库</category>
<pubDate>Wed, 24 Sep 2008 02:59:56 GMT</pubDate>
<description><blockquote>Google最近关于Google Application Engin的介绍再一次引起了大家对备选数据库技术的兴趣。几星期前InfoQ访谈Hypertable项目的创始人之一Doug Judd，该项目受到了Google的BigTable数据库的启发。本周InfoQ很乐意给大家奉献对HBase领导人——im Kellerman、Michael Stack和Bryan Duxbury的专访。HBase是一个开源的、分布式的、仿效BigTable的面向列存储系统</blockquote></description>
<dc:creator>jiangtao</dc:creator>
</item>
<item>
<title>ASP.NET 2.0数据库入门经典（�?版） - - CSDN读书频道,IT图书讨论专业社区 - book.csdn.net</title>
<link>http://club.book.csdn.net/book/109085.html</link>
<guid isPermaLink="true">http://club.book.csdn.net/book/109085.html</guid>
<category>数据库</category>
<pubDate>Wed, 24 Sep 2008 01:48:48 GMT</pubDate>
<description><blockquote>第1章 ASP.NET 2.0和ADO.NET简介 
1.1 技术概述 
1.2 建立本书所需的环境 
1.3 安装 
1.4 演示 
1.5 本章小结 
1.6 练习题 
第2章 连接Access数据库 
2.1 Microsoft Access和JET Database Engine 
2.2 在Visual Web Developer中连接至Microsoft Access数据库 
2.3 AccessDataSource控件 
2.4 处理文件访问许可 
2.5 处理Access连接失败
2.6 在Web应用程序中使用Access的一些提示 
2.7 使用AccessDataSource控件的常见错误
2.8 本章小结 
2.9 练习题 
第3章 连接SQL Server和SQLServer Express
3.1 SQL Server和连接字符串 
3.2 使用SqlDataSource控件 
3.3 了解SQL Server中的安全性 
3.4 在Web.config文件中保存连接字符串
3.5 数据库的结构 
3.6 处理SqlDataSource的连接失败
3.7 常见错误 
3.8 本章小结
3.9 练习题 
第4章 连接其他关系型数据库 
4.1 带提供程序的连接
4.2 当使用密码时连接Access 
4.3 连接Oracle 
4.4 连接MySQL
4.5 连接其他数据库
4.6 常见错误 
4.7 本章小结
4.8 练习题 
第5章 在表中显示数据 
5.1 在ASP.NET 2.0中显示数据 
5.2 GridView控件
5.3 将GridView与数据连接 
5.4 定制GridView的列
5.5 DetailsView控件 
5.6 常见错误 
5.7 本章小结 
第6章 定制表的外观 
6.1 定制外观
6.2 定制独特的样式
6.3 使用层叠样式表 
6.4 样式的优先级 
6.5 主题和皮肤 
6.6 在Visual Studio中使用Auto Format
6.7 常见错误 
6.8 本章小结 
6.9 练习题 
第7章 数据的分页和排序
7.1 排序 
7.2 分页 
7.3 分页理论和替代方法
7.4 排序、分页和选择三者的关系 
7.5 常见错误 
7.6 本章小结 
7.7 练习题
第8章 在列表中显示数据 
8.1 简介 
8.2 列表控件的一般概念 
8.3 数据绑定列表控件 
8.4 DropDownList控件 
8.5 处理列表中的选择
8.6 常见错误 
8.7 本章小结
第9章 筛选和主从数据
9.1 使用QueryString筛选GridView记录
9.2 使用TextBox筛选GridView记录
9.3 使用SQL的LIKE操作符 
9.4 选择的理论和ControlParameters
9.5 使用列表控件筛选GridView记录
9.6 使用GridView和DetailsView在同一页面上显示详细信息 
9.7 使用GridView和DetailsView在不同页面上显示详细信息 
9.8 层叠DropDownLists 
9.9 常见错误 
9.10 本章小结 
9.11 练习题 
第10章 在模板化控件中显示数据 
10.1 GridView和DetailsView模板字段
…… 
第11章 数据的更新与删除
第12章 插入新记录 
第13章 作为数据源的业务对象
第14章 XML和其他分层数据 
第15章 数据缓存 
第16章 处理数据控件的事件
附录A SQL语句的简单实用的介绍
附录B 练习答案</blockquote></description>
<dc:creator>sinry234</dc:creator>
</item>
<item>
<title>经典短小代码收集，越短越好，但要经典</title>
<link>http://topic.csdn.net/u/20080920/15/61bf31bf-518c-41be-9e4a-b166c878dcaf.html</link>
<guid isPermaLink="true">http://topic.csdn.net/u/20080920/15/61bf31bf-518c-41be-9e4a-b166c878dcaf.html</guid>
<category>数据库</category>
<pubDate>Tue, 23 Sep 2008 14:38:40 GMT</pubDate>
<description><blockquote></blockquote></description>
<dc:creator>suifeng08</dc:creator>
</item>
<item>
<title>经典短小代码收集</title>
<link>http://topic.csdn.net/u/20080920/15/424C77BF-7610-4888-BE85-9A43E70F55C6.html</link>
<guid isPermaLink="true">http://topic.csdn.net/u/20080920/15/424C77BF-7610-4888-BE85-9A43E70F55C6.html</guid>
<category>数据库</category>
<pubDate>Tue, 23 Sep 2008 04:39:33 GMT</pubDate>
<description><blockquote>SELECT * FROM TABLENAME 
绝对经典,最常用的查询</blockquote></description>
<dc:creator>yangchao_713</dc:creator>
</item>
<item>
<title>MSSQL学习资料整理【最新】</title>
<link>http://topic.csdn.net/u/20080919/13/D137F9C5-9589-4344-977C-B6ECEECF3BC1.html</link>
<guid isPermaLink="true">http://topic.csdn.net/u/20080919/13/D137F9C5-9589-4344-977C-B6ECEECF3BC1.html</guid>
<category>MYSOL,数据库</category>
<pubDate>Mon, 22 Sep 2008 22:56:30 GMT</pubDate>
<description><blockquote></blockquote></description>
<dc:creator>xhweiwei</dc:creator>
</item>
<item>
<title>微软完成DATAllegro收购交易 展开数据仓库发展蓝图</title>
<link>http://news.csdn.net/n/20080918/119142.html</link>
<guid isPermaLink="true">http://news.csdn.net/n/20080918/119142.html</guid>
<category>数据库</category>
<pubDate>Thu, 18 Sep 2008 05:09:47 GMT</pubDate>
<description><blockquote>来自：IT专家网

微软收购DATAllegro的交易事宜已经尘埃落定。业界普遍认为微软收购DATAllegro的举措是将SQL Server深度扩展到数据仓库的水平，以便能够为超大容量的数据提供支持。尽管微软对未来将要推出的基于DATAllegro技术的软件其确切特性始终守口如瓶，但还是确认了产品开发的时间表，那就是该产品计划将在2010年问世。

今年7月下旬微软宣布收购数据仓库设备供应商DATAllegro，两个多月后，微软官方宣布已经顺利完成了整个交易事宜，并开始正式描画双方合作的开发蓝图。

微软已经计划在2010年推出以DATAllegro技术为基础开发的软件，而该软件的社区技术预览版会在接下来的12个月内和大家见面。虽然微软官方对产品的具体特性细节问题避而不谈，但还是给出的具体计划表，希望利用DATAllegro的技术帮助微软将SQL Server服务器的规模扩展至数百TB。

微软的SQL Server产品主管Fausto Ibarra在接受国外媒体采访时称，微软早就在SQL Server 2005和2008的数据仓库可扩展性开发上投入非常大的力度，这次的收购将进一步全面完善微软的商业智能技术，让不同规模的企业在使用SQL Server时都能有效的利用商业智能。

微软这次收购DATAllegro事件曾引发了业内人士的广泛猜测，大家都在想会不会导致数据仓库领域新一轮收购战的出现，也有人发出微软是否要进军硬件产业的疑问。不过Ibarra称微软的收购并不是对硬件战略的追求，微软的核心业务还是软件。虽然微软也有像Xbox这样的硬件设备，但并非专业的硬件供应商。DATAllegro的加入让微软扩大了原本就已经相当豪华的硬件供应商合作圈，也给微软带来了可以投放市场的新软件。</blockquote></description>
<dc:creator>xuejinyoulan</dc:creator>
</item>
<item>
<title>Mu 数据库分析! - blade2001的专栏 - CSDNBlog</title>
<link>http://blog.csdn.net/blade2001/archive/2007/10/20/1834343.aspx</link>
<guid isPermaLink="true">http://blog.csdn.net/blade2001/archive/2007/10/20/1834343.aspx</guid>
<category>网游,数据库,mu,分析</category>
<pubDate>Wed, 17 Sep 2008 10:13:18 GMT</pubDate>
<description><blockquote>网游 数据库 mu 分析</blockquote></description>
<dc:creator>renwd1122</dc:creator>
</item>
<item>
<title>50个Sql语句，仅供学习！</title>
<link>http://topic.csdn.net/u/20080916/10/b82330f6-d33f-416b-b06a-7ff4cf6fa287.html</link>
<guid isPermaLink="true">http://topic.csdn.net/u/20080916/10/b82330f6-d33f-416b-b06a-7ff4cf6fa287.html</guid>
<category>数据库</category>
<pubDate>Wed, 17 Sep 2008 04:00:58 GMT</pubDate>
<description><blockquote></blockquote></description>
<dc:creator>yangchao_713</dc:creator>
</item>
<item>
<title>一个比较好用的SQL分页查询 - ojlovecd的专�?- CSDNBlog</title>
<link>http://blog.csdn.net/ojlovecd/archive/2008/09/16/2936960.aspx</link>
<guid isPermaLink="true">http://blog.csdn.net/ojlovecd/archive/2008/09/16/2936960.aspx</guid>
<category>数据库</category>
<pubDate>Tue, 16 Sep 2008 09:22:32 GMT</pubDate>
<description><blockquote></blockquote></description>
<dc:creator>c83128</dc:creator>
</item>
<item>
<title>SQL Server与Oracle实施成本上的差异</title>
<link>http://database.ctocio.com.cn/analysis/488/8307988.shtml</link>
<guid isPermaLink="true">http://database.ctocio.com.cn/analysis/488/8307988.shtml</guid>
<category>数据库</category>
<pubDate>Tue, 16 Sep 2008 07:00:05 GMT</pubDate>
<description><blockquote>出处:IT专家网
SQL Server 与Oracle这两个数据库，除了在一些技术上有明显的差异外，在实施成本上也有比较大的差别。下面笔者就这方面内容发表一些自己的观点，希望能够跟大家一起交流。

　　一、Oracle基于JAVA开发，具有很多开源的工具支持。

　　SQL Server 与Oracle数据库两者一个最大的区别，就是其应用平台的差异。现在SQL Server数据库只能够部署在微软的操作系统上。而Oracle数据库其不但可以支持微软的操作系统，而且还可以支持开源的操作系统，如Linux等等。正是因为Oracle数据库是在JAVA技术平台上开发的，所以，让其在跨平台的操作系统上运行成为了可能。

　　而因为JAVA程序本身就是免费开源的，如此，很多程序爱好者就可以在这个JAVA平台上开发一些免费的跟Oracle数据库结合很好的辅助工具，如一些报表工具等等。这些免费的开源工具，我们数据库开发人员可以直接拿过来使用，可以为我们节省很多开发时间与开发成本。

　　但是，由于SQL Server的开发架构不是基于开源平台的，所以，一些支持SQL Server数据库的第三方工具，往往需要收费的。这无形中就增加了部署SQL Server数据库的成本。

　　现在很多Oracle数据库开发人员，在开发数据库系统的时候，都会或多或少的采用一些开源工具。如在报表的设计、菜单的设计方面，都有一些功能性比较强的开源工具。在这些开源工具的帮助下，我们数据库管理人员可以成倍的降低开发时间，从而达到降低开发成本的目的。从这一方面来说，由于Oracle数据库其天然的优势，在第三方工具应用上，从成本的角度考虑，取得了比较大的优势。

　　二、Oralce提供了很多收费的工具。

　　若单从数据库的价格来说，这两个数据库区别不是很大。但是，在利用Oracle数据库进行开发的时候，往往还需要购买一些其提供的工具才行。如PL*SQL等等。这些都是Oracle数据库提供的收费的数据库开发工具。

　　不过，话说回来，这些数据库开发工具虽然需要收费，而且，费用还不低。但是对于大部分数据库开发人员来说，这些工具还真是少不了。因为这些工具的可用性非常的高，可以从很大幅度上减少数据库开发的时间，降低数据库开发的成本。如笔者在开发数据库应用的时候，已经离不开PL*SQL这个工具了。他在笔者做数据库维护、数据库开发、报表制作等方面，都起了很大的帮助。可以说，大部分的数据库开发工作，都可以在这个工具上完成，而且，效率要比在其他工具上高得多。

　　而对于SQL Server数据库来说，要在这个数据库系统上开发应用系统的话，一般只需要购买这个数据库软件即可。在数据库软件中，本身就集成了一些免费的数据库开发工具。这就使得我们在开发数据库应用的时候，不需要再花额外的钱去购买其他开发工具。从这一方面来说，SQL Server数据库占优势。

　　三、Oracle相关的技术人员比较值钱。

　　在人才市场上，企业若要招纳同个档次的Oracle数据库开发或者维护人才的话，往往要比其他数据库管理人员付出更高的人力成本。或者说，同个档次的数据库管理人员，在应聘的时候，Oracle数据库管理人员往往的开价比较高。

　　一方面，Oracle数据库设计相对来说比较复杂。这也就导致了Oracle数据库管理员无论是在数据库开发，还是在后续的数据库维护，都需要比其他数据库管理员付出更多。而且，其涉及到的知识也更广泛。

　　第二，Oracle数据库管理人员或者开发人员，在掌握Oracle数据库的同时，往往还需要掌握一些Linux等开源操作系统的相关知识。这主要是因为很多大型的Oralce数据库都是在Linux等操作系统上运行的。若光光懂得Oracle数据库，往往是不够的。简单来说，在Linux系统上安装Oralce数据库软件，就比在微软的操作系统上安装要困难，环境变量、系统内核参数等等都要自己进行配置。因此，Oralce数据库管理专家就要比其他数据库管理员值钱。

　　第三.从数据库优化方面来讲，Oracle数据库比较复杂，但是，优化的效果比较好。数据库优化是数据库开发与管理人员的一项比较重要的工作。对数据库进行优化后，数据库以及应用软件的执行效率会有一个质的提高。当数据库设计得越复杂，其提高的效果也就越明显。相对于其它数据库来说，Oralce数据库提供了相对较复杂的优化内容。如可以对表空间以及存储文件进行合理规划，以提高输入输出效率; 如针对一些大容量的表格，Oralce数据库提供了大表管理模型; 在约束、数据类型、查询优化方面，Oracle数据库也提供了一些数据库优化的建议。可见，在数据库优化方面，我们可以看出，Oralce数据库要比其他数据库复杂。所以，对于数据库管理人员的要求也比较高。               

正是由于以上原因，所以一般来说，Oralce数据库管理员要比其他数据库管理员值钱一点。

　　综上所述，Oracle数据库的实施成本相对于其他数据库来说，可能要高一些。不过，有一个值得我们安慰的就是，若我们能够充分利用现有的一些开源工具，则可以大大的节省我们数据库开发与管理的成本。

　　另外，这没有考虑一些隐形的成本。如Oralce数据库加上Linux服务器系统，比起SQL Server数据库加上Windows服务器系统来说，稳定性与安全性较前者好。当然，前期条件是两者都进行合理的配置。若把这些隐性的风险考虑进去，这两个数据库系统部署的时候，谁更加便宜就不好说了。因为数据库应用的安全与稳定性，对于不同的企业来说，其价值往往是不同的。</blockquote></description>
<dc:creator>xuejinyoulan</dc:creator>
</item>
<item>
<title>详解database link的设置和使用</title>
<link>http://database.ctocio.com.cn/tips/449/8307949.shtml</link>
<guid isPermaLink="true">http://database.ctocio.com.cn/tips/449/8307949.shtml</guid>
<category>数据库</category>
<pubDate>Tue, 16 Sep 2008 06:58:34 GMT</pubDate>
<description><blockquote>出处:blog

database link，它是用来更方便的一个数据库中访问另一个数据库(包括本地和远程的，道理一样)在本地建立的。即数据库连接只是连到别的数据库的快捷方式。

　　一、设置具体有两种

　　第一种:

　　根据远端的信息用Net Manager设置好能连接远端的服务及监听程序。　

      create public database link fwq12 
　　connect to fzept identified by neu 

　　using’fjept’//fjept为刚刚配置好的服务名

　　第二种:

　　直接建立链接:　　

      create database link linkfwq 
　　connect to fzept identified by neu 
　　using ’(DESCRIPTION = 
　　(ADDRESS_LIST = 
　　(ADDRESS = (PROTOCOL = TCP)(HOST = 10.142.202.12)(PORT = 1521)) 
　　) 
　　(CONNECT_DATA = 
　　(SERVICE_NAME = fjept) 
　　) 
　　)’;  


　　二、使用

　　查询远端数据库里的表

　　SELECT……FROM表名@数据库链接名; 

　　查询、删除和插入数据和操作本地的数据库是一样的，只不过表名需要写成“表名@dblink服务器”而已。

　　附带说下同义词创建:

　　CREATE SYNONYM同义词名FOR表名;     
CREATE SYNONYM同义词名FOR表名@数据库链接名; 

　　删除dblink：DROP PUBLIC DATABASE LINK linkfwq。

　　假如创建全局dblink，则必须使用systm或sys用户，在database前加public。

　　创建Database Link

　　1.先创建PUBLIC DATABASE LINK，不用指定用户和密码　

      scott@TEST&gt;conn system/test 
　　Connected. 
　　system@TEST&gt;CREATE PUBLIC DATABASE LINK orcl USING 'ORCL';  
　　Database link created. 


　　2.再在各个用户下创建私有DATABASE LINK(同PUBLIC DATABASE LINK名称相同)，指定用户和密码　

      system@TEST&gt;conn scott/tiger 
　　Connected. 
　　scott@TEST&gt;CREATE DATABASE LINK orcl CONNECT TO scott IDENTIFIED BY tiger;  
　　Database link created. 

　　实际上相当于：　 

  　CREATE DATABASE LINK orcl USING 'ORCL' CONNECT TO scott IDENTIFIED BY tiger; </blockquote></description>
<dc:creator>xuejinyoulan</dc:creator>
</item>
<item>
<title>ORACLE提供的重要的包</title>
<link>http://database.ctocio.com.cn/tips/441/8307941.shtml</link>
<guid isPermaLink="true">http://database.ctocio.com.cn/tips/441/8307941.shtml</guid>
<category>数据库</category>
<pubDate>Tue, 16 Sep 2008 06:56:36 GMT</pubDate>
<description><blockquote>出处:blog

前言

　　Oracle提供了几个包，它们可以用来完成很多任务，从内部进程通信到文件I/O，到在PL/SQL块中动态创建和执行SQL语句。所有这些包由SYS用户所拥有—当Oracle最初安装时两个用户中的一个，这些包中最重要的包括：

　　DBMS_Alert 不用轮询就允许应用命名并发出警告条件信号的过程与函数

　　DBMS_DDL 允许获取PL/SQL程序内部一定数量的DDL语句的过程

　　DBMS_Describe 为存储过程与函数描述API的过程

　　DBMS_Job 管理BLOBs、CLOBs、NCLOBs与BFILEs的过程与函数

　　DBMS_Output 允许PL/SQL程序生成终端输出的过程与函数

　　DBMS_Pipe 允许数据库会话使用管道通信(通信频道)的过程与函数

　　DBMS_SQL 在PL/SQL程序内部执行动态SQL的过程与函数

　　DBMS_Utility

　　UTL_File 允许PL/SQL程序读写服务器文件系统上的文本文件的过程与函数

　　用DBMS_JOB来实现高级计划任务

　　程序有三个参数：需要提交的任务的名字、启动任务的时间已经执行该任务的间隔时间。

　　dbms_job.submit(what='statspack_alert.sql; '，

　　next_date=sysdate+1/24，——在下一个小时后启动

　　interval='sysdate+1/24'); ——每小时运行一次

　　问题是，尽管我们在这个程序中指定了任务起始时间和重新执行的时间间隔，但是我们看不到在预定时间运行该任务的机制。例如，如何让一个任务在早上8点启动、每小时 运行一次、最后在下午5点终止呢?

　　上面的例子让该任务每小时运行一次，但是为了获得时间间隔，它有必要创建两个其它任务：

　　一个任务在下午5点终止(主)任务，

　　另一个任务在第二天早上8点启动(主)任务。

　　为了实现高级计划任务，我们可以创建自定义间隔，让任务在特定的时间间隔来启动和终止。下面是一个例子：　

      Schedule a snapshot to be run on this instance every hour 
      variable jobno number;  
　　variable instno number;  
　　begin 
　　select instance_number into :instno from v$instance;  

　提交任务从6：00开始，每小时运行一次
      dbms_job.submit( 
　　jobno, 'statspack.snap; ', 
　　trunc(sysdate)+6/24, 
　　'trunc(SYSDATE+1/24,''HH'')', 
　　TRUE, 
　　instno);  

　　提交任务从9：00开始，12小时后运行　
      dbms_job.submit( 
　　jobno, 
　　'statspack.snap; ', 
　　trunc(sysdate+1)+9/24, 
　　'trunc(SYSDATE+12/24,''HH'')', 
　　TRUE, 
　　instno);  

　　提交任务从6：00开始，每隔十分钟运行一次
      dbms_job.submit( 
　　jobno, 
　　'statspack.snap; ', 
　　trunc(sysdate+1/144,'MI'), 
　　'trunc(sysdate+1/144,''MI'')', 
　　TRUE, 
　　instno);  

　　提交任务从周一到周五早上6：00开始，每小时运行一次　
      dbms_job.submit( 
　　jobno, 
　　'statspack.snap; ', 
　　trunc(sysdate+1)+6/24, 
　　'trunc( 
　　least( 
　　next_day(SYSDATE,''MONDAY''), 
　　next_day(SYSDATE,''TUESDAY''), 
　　next_day(SYSDATE,''WEDNESDAY''), 
　　next_day(SYSDATE,''THURSDAY''), 
　　next_day(SYSDATE,''FRIDAY'') 
　　) 
　　+1/24,''HH'')', 
　　TRUE, 
　　instno);  
　　commit;  
　　end;  

DBMS_Job包的用法例子：

　　1、创建测试表　

      SQL&gt; create table a(a date);  

　　表已创建。

　　2、创建一个自定义过程　　 

      SQL&gt; create or replace procedure test as 
　　2 begin 
　　3 insert into a values(sysdate);  
　　4 end;  
　　5 / 

　　过程已创建。

　　3、创建JOB　 

      SQL&gt; variable job1 number;  
　　SQL&gt; 
　　SQL&gt; begin 
　　2 dbms_job.submit(:job1,'test; ',sysdate,'sysdate+1/1440');  
　　如果要按照分钟来执行最好使用 
　　        'sysdate+5/24/60'执行的间隔时间为5分钟，如果需要10分钟执行，则将5改成10就可以了。 每天 
　　        1440分钟，即一分钟运行test过程一次 
　　3 COMMIT;  
　　4 end;  
　　5 / 

　　PL/SQL过程已成功完成。

　　4、运行JOB　　

      SQL&gt; begin 
　　2 dbms_job.run(:job1);  
　　3 end;  
　　4 /

　　PL/SQL过程已成功完成。　

      SQL&gt; select to_char(a,'yyyy/mm/dd hh24:mi:ss')时间from a;  

　　时间                           

2001/01/07 23:51:21
　　2001/01/07 23:52:22
　　2001/01/07 23:53:24

　　5、修改下次执行时间(10分钟后执行)　　

      SQL&gt;begin 
　　2 dbms_job.next_date (:job1,SYSDATE + 10/(24*60));  
　　3 end;  
　　4 / 

　　6、删除JOB　

      SQL&gt; begin 
　　2 dbms_job.remove(:job1);  
　　3 end;  
　　4 / 
　　PL/SQL过程已成功完成。</blockquote></description>
<dc:creator>xuejinyoulan</dc:creator>
</item>
<item>
<title>数据库自动化弥补数据库管理员的短缺</title>
<link>http://database.ctocio.com.cn/analysis/186/8308186.shtml</link>
<guid isPermaLink="true">http://database.ctocio.com.cn/analysis/186/8308186.shtml</guid>
<category>数据库</category>
<pubDate>Tue, 16 Sep 2008 06:24:16 GMT</pubDate>
<description><blockquote>出处:IT专家网

随着全球数据量的疯狂增长，市场对资深数据库管理员的需求也节节攀升。据美国劳工部的统计报告显示，一直到2016美国IT市场对数据库管理员的需求量增长都将会超过所有其他职业。数据库管理员具备一整套专业性非常强的技术技能，因此其在数据中心里的地位是最难以替代的。

　　数据库自动化在数据库未来的应用中将会发挥重要作用。通过实施数据库自动化技术，数据库管理员才能够将工作重点放在解决战略性问题上，而且可以将一些原本要由具备高级技能的工作人员才能完成的工作交给初级技术人员来执行。对商业决策者而言，这绝对是一举两得的事情：资深的数据库管理员可以将身心完全投入到企业创收的战略当中，而资力浅技能低的技术人员则可以相对独立完成数据库维护工作。

　　据资深分析机构得到的调查数据表明，目前数据库管理员大部分时间都耗费在执行一些为了维持数据库正常运作的琐碎任务上。高级数据库管理员已经沦为机械操作员:忠实地遵循运行指南，不断地为支持而升级，不停地应付一波又一波的安全威胁。企业的决策者们无疑都把他们看成“数据专家”，而且也意识到数据的深度发掘将左右着一个企业的成败，但是奇怪的是几乎没有人采取行动来改变这种现状，特别是考虑到以下几个方面的情况：

　　1) 数据库和数据的数量都在以指数增长的速度膨胀中。

　　2) 由于数据库及存储其中的数据不断增长，数据库环境变得越来越复杂。各种各样的数据库补丁、层出不穷的新版本、眼花缭乱的安全更新，这几乎成了数据库管理员所有的工作内容。

　　3) 数据库管理员是高流动性的职位。近半数的数据库管理员会在上任两年之内另谋高就。而且，对于企业来说，数据库管理员是最难找人替任的职位。

　　考虑到上述的发展趋势，加上美国劳工部的统计报告(数据库管理员职位需求有望增长37%，有能力有资历的数据库管理员将成为市场上的抢手人才)，企业应当如何做到未雨绸缪呢?没有其他出路，只能改变信息管理的方式：数据库管理自动化是正道。

　　尽管在数据中心，自动化的应用已经相当广泛，但数据库管理员还没有将这些自动化原理应用到数据库管理上。企业需要实施一套集中式的自动化机制来管理其数据库。通过大量自动化工具的应用，高级数据库管理员才可以从“摁按钮”的惯性中解放出来，将这些翻来覆去的琐碎工作任务交给低级技术人员，转而更专注于企业战略和创收任务中。同时，中级技术人员可以担当原来的IT专家的角色。因为自动化消除了人为错误，对于他们的工作表现，企业领导大可放心。

　　我们不仅要意识到自动化的潜在威力，而且要积极的实施。实施一个完整的自动化解决方案的第一步就是创建一个可扩展可维护的框架。该框架必须能够满足多种系统需求，例如将实体部署到服务器、在数据库对象的上下文中执行脚本、以及删除数据库对象等等。不过要创建一个完全满足管理复杂数据库需求并易于使用的框架是相当困难的。要想和一个类似于Oracle数据库管理系统或者SQL Server的复杂应用程序相互协调配合，需要运行多个特殊的命令来确定任务的成败。通常，运行这些特殊的命令又需要执行另外一些命令来判断预行动的结果。该框架必须能够不依赖于架构(例如：集群和非集群)和环境(例如：不同的操作系统，不同的数据库版本等等)的情况下处理这些互作。

　　除了管理实际的数据库应用程序以外，各个企业还需要将其他一些自己的东西整合到自动化框架里头。这些需求可能会超过核心数据库自动化的复杂程度。很多情况下，企业可以利用原来已经完成的工作来确保这些应用可以纳入到自动化活动的范畴里。

　　花费时间和金钱来设计或开发自己的自动化框架和脚本来管理数据库并不是明智之举。要知道并不是只有你才想要实施数据库管理自动化，所以如果你真的在考虑采用自动化管理，那么最好购买现成的解决方案，而不要去自己构建。很多商业解决方案都具有自动化框架，并提供能够适应不同数据库版本、操作系统和架构的预设自动化管理。根据新的不同需求需要进行一系列的工作来更新自动化框架。此外，由于管理软件的升级，调用来管理应用程序的实际代码也是要与时俱进而并非一成不变的。

　　如前所述，为数据库管理员实施数据库自动化管理流程对企业决策者来说是一箭双雕的好事。如果企业能够将自动化战略纳入到企业战略当中，他们才能完善企业既有人才配置，在未来的日子里都不再需要雇用其他的工作人员来弥补短缺。既然高级数据库管理员的市场定位是稀缺人才，给的都是高薪金高福利，企业为什么不“物尽其用，人尽其才”呢?所以，为了更有效地利用数据库，企业应当认真考虑实施自动化数据库管理，以便解放出数据库管理员高价值的“脑力”。</blockquote></description>
<dc:creator>xuejinyoulan</dc:creator>
</item>
<item>
<title>应用管理系列怎么管理Sybase数据库</title>
<link>http://www.pcpop.com/doc/0/329/329368.shtml</link>
<guid isPermaLink="true">http://www.pcpop.com/doc/0/329/329368.shtml</guid>
<category>数据库</category>
<pubDate>Tue, 16 Sep 2008 06:16:59 GMT</pubDate>
<description><blockquote>来源：泡泡网
Sybase数据库是美国Sybase公司研制的一种关系型数据库系统，是一种典型的UNIX或Windows NT平台上客户机/服务器环境下的大型数据库系统。 Sybase提供了一套应用程序编程接口和库，可以与非Sybase数据源及服务器集成，允许在多个数据库之间复制数据，适于创建多层应用。系统具有完备的触发器、存储过程、规则以及完整性定义，支持优化查询，具有较好的数据安全性。

　　产品主要具有以下优点：

    产品运行稳定，可靠。

    支持跨平台部署, 运行效率较高。

    有比较全面的解决方案，配套的其他数据库产品。

    系统具有完备的触发器、存储过程、规则以及完整性定义，支持优化查询，具有较好的数据安全性。

    Sybase比DB2的界面友好, 比SQLSERVER稳定比ORACLE便宜。

    总之，Sybase的性价比比较高。正是基于以上的优点，中国的银行、电信、石化甚至包括一些大型企业，有大量用户都是使用的Sybase数据库，剩下的由Oracle和DB2瓜分。

    但是Sybase数据库较于其他数据库也存在以下不可忽略的缺点：

    安装、部署和管理需要专门的精通它的数据库管理专家来做。

    日常维护非常复杂。

    目前Sybase数据库使用现状

    目前Sybase数据库的使用现状：

    1.大多数部署在UNIX机器上,并且是关键性业务在使用。

    2.公司或企业没有专业的Sybase数据库维护人员,数据库的维护靠厂家不定期的巡检。

    3.数据库down机后影响到了关键业务的使用时,才知道数据库已经不可用了。

    4.对Sybase数据库的运行状态,健康情况,性能指标,数据库运行的瓶颈等信息一无所知，没有一个可视化的界面进行查看。

    基于上述问题，如何选择一个有效的办法对Sybase数据库进行监控就显得尤其重要。

    一般的监控软件对Sybase数据库的监控有以下不足之处：

    1.监控指标少，并且一些关键性的指标是没有办法监控的。

    2.虽然实现了可视化监控，但是不能做到一目了然。

    3.监控的颗粒度不够细，不能对某个具体的数据库以及它的空间使用情况进行监控。

    怎么管理？

    Mocha BSM在对Sybase数据库监控这一方面的优势有以下几点：

    1.可视化监控，监控指标多，并且可以监控到最关键的指标。

    用户不再需要被动的去敲一些sql命令，去漫无目的检查数据库的状态。


 
    2.可以查看Sybase包含多少个数据库，并且各个数据库的空间大小，使用空间，剩余空间，数据库空间使用率一目了然，并且可以实时监控每个数据库的可用性状态。 


 
    3.告警方式的多样性。

    可以通过页面告警。


 
    也可以通过短信和邮件以及语音进行告警，可以使数据库管理员在第一时间知道数据库存在的潜在风险，并且在第一时间进行排除，从而有效的保护最为关键的数据业务。</blockquote></description>
<dc:creator>xuejinyoulan</dc:creator>
</item>
<item>
<title>一维表转换成二维表 - cychai的专栏 - CSDNBlog</title>
<link>http://blog.csdn.net/spring21st/archive/2008/09/05/2884453.aspx</link>
<guid isPermaLink="true">http://blog.csdn.net/spring21st/archive/2008/09/05/2884453.aspx</guid>
<category>数据库</category>
<pubDate>Sun, 14 Sep 2008 03:38:53 GMT</pubDate>
<description><blockquote></blockquote></description>
<dc:creator>goldhero</dc:creator>
</item>
<item>
<title>详细讲解如何编译MySQL内核</title>
<link>http://database.ctocio.com.cn/tips/114/8305614.shtml</link>
<guid isPermaLink="true">http://database.ctocio.com.cn/tips/114/8305614.shtml</guid>
<category>数据库</category>
<pubDate>Fri, 12 Sep 2008 09:59:09 GMT</pubDate>
<description><blockquote>在最新的版本中，windows环境与linux环境下使用一套代码。比如mysql-6.0.4-alpha版本中的INSTALL-WIN-SOURCE文件的描述：


　　To build MySQL on Windows from source, you must satisfy the 
　　following system, compiler, and resource requirements: 
　　* Windows 2000, Windows XP, or newer version. Windows Vista is 
　　not supported until Microsoft certifies Visual Studio 2005 on 
　　Vista. 
　　* CMake, which can be downloaded from http://www.cmake.org. 
　　After installing, modify your path to include the cmake 
　　binary. 
　　* Microsoft Visual C++ 2005 Express Edition, Visual Studio .Net 
　　2003 (7.1), or Visual Studio 2005 (8.0) compiler system. 
　　* If you are using Visual C++ 2005 Express Edition, you must 
　　also install an appropriate Platform SDK. More information and 
　　links to downloads for various Windows platforms is available 
　　from http://msdn.microsoft.com/platformsdk/. 
　　* If you are compiling from a BitKeeper tree or making changes 
　　to the parser, you need bison for Windows, which can be 
　　downloaded from 
　　http://gnuwin32.sourceforge.net/packages/bison.htm.Download 
　　the package labeled &quot;Complete package, excluding sources&quot;. 
　　After installing the package, modify your path to include the 
　　bison binary and ensure that this binary is accessible from 
　　Visual Studio. 
　　* Cygwin might be necessary if you want to run the test script 
　　or package the compiled binaries and support files into a Zip 
　　archive. (Cygwin is needed only to test or package the 
　　distribution, not to build it.) Cygwin is available from 
　　http://cygwin.com. 
　　* 3GB to 5GB of disk space. 


　　通过这样的方法，生成项目文件，从而可以通过vs工具进行编译。在先前的版本中，windows下的代码和linux下的代码是两个压缩包，比如windows下的一个软件包名为，mysql-5.1.7-beta-win-src.zip。

　　这里我选择5.1.7作为分析的对象。

　　安装代码的步骤：

　　1.解压缩文件包mysql-5.1.7-beta-win-src.zip。

　　2.使用vs2003打开项目文件mysql.sln。

　　3.设置mysqld项目为启动项目。

　　4.在mysqld的属性页设置命令参数为：--console。这样就可以用debug方式调试代码了。

　　5.设置断点，比如查询的总入口是handle_select函数。

　　6.编译mysql项目，将会在mysql-5.1.7-beta\client_debug目录下生成mysql.exe。

　　7.使用“启动新实例”或者“进入单步执行新实例”进行调试。



　　图2：执行调试操作

　　8. mysql-5.1.7-beta\client_debug目录下生成mysql.exe，执行语句，将会执行到断点进行调试。



　　图3：进入调试状态

　　9.相应的数据文件，见mysql-5.1.7-beta\data目录。</blockquote></description>
<dc:creator>villa123</dc:creator>
</item>
<item>
<title>最高端版本Windows Server 2008即将发布</title>
<link>http://www.cnbeta.com/articles/64419.htm</link>
<guid isPermaLink="true">http://www.cnbeta.com/articles/64419.htm</guid>
<category>数据库</category>
<pubDate>Thu, 11 Sep 2008 12:08:36 GMT</pubDate>
<description><blockquote>微软将在本月公布最新的企业级高性能设备计算操作系统Windows HPC 2008 Server.
详细发布时间为9月22日,地点在纽约的“High Performance on Wall Street”发布会上.Windows HPC 2008 Server是Windows Compute Cluster Server 2003软件的升级版,拥有强大的计算能力,支持大容量处理器和内存,提供高速网络,可扩展节点管理工具,高级故障管理,SOA工作计划等新功能.



访问:Windows HPC
http://www.microsoft.com/HPC/</blockquote></description>
<dc:creator>villa123</dc:creator>
</item>
<item>
<title>20G数据库的压缩问题</title>
<link>http://topic.csdn.net/u/20080910/23/c05c4eed-517a-4f21-a238-7afbca7e7d59.html</link>
<guid isPermaLink="true">http://topic.csdn.net/u/20080910/23/c05c4eed-517a-4f21-a238-7afbca7e7d59.html</guid>
<category>数据库</category>
<pubDate>Thu, 11 Sep 2008 02:26:55 GMT</pubDate>
<description><blockquote></blockquote></description>
<dc:creator>babyjojoyoyo</dc:creator>
</item>
<item>
<title>SQL 收藏------------SQL操作全集</title>
<link>http://topic.csdn.net/u/20080515/16/6f359854-5403-4397-89e3-b1b8dd71d527.html</link>
<guid isPermaLink="true">http://topic.csdn.net/u/20080515/16/6f359854-5403-4397-89e3-b1b8dd71d527.html</guid>
<category>数据库</category>
<pubDate>Tue, 09 Sep 2008 04:47:43 GMT</pubDate>
<description><blockquote></blockquote></description>
<dc:creator>yangchao_713</dc:creator>
</item>
<item>
<title>MySQL创始人已向Sun提交辞呈 </title>
<link>http://news.csdn.net/n/20080909/118850.html</link>
<guid isPermaLink="true">http://news.csdn.net/n/20080909/118850.html</guid>
<category>数据库</category>
<pubDate>Tue, 09 Sep 2008 01:58:56 GMT</pubDate>
<description><blockquote>据国外媒体报道，知情人士透露，MySQL创始人迈克尔&#183;维德纽斯(Michael Widenius)昨日已向Sun递交了辞呈。

　　维德纽斯是开源数据库软件MySQL核心开发人员。今年1月，Sun宣布以10亿美元收购MySQL。维德纽斯辞职后，MySQL另一名重要开发人员布莱恩&#183;阿克尔(Brian Aker)很可能接替维德纽斯的工作。

　　7月底，阿克尔刚刚发布面向Web 2.0的简化版MySQL“Drizzle”。</blockquote></description>
<dc:creator>xuejinyoulan</dc:creator>
</item>
<item>
<title>开启/屏蔽DB2触发器</title>
<link>http://topic.csdn.net/u/20080904/08/2f8518a0-0f9e-4d2e-9495-807631f25c5f.html?seed=1848917091</link>
<guid isPermaLink="true">http://topic.csdn.net/u/20080904/08/2f8518a0-0f9e-4d2e-9495-807631f25c5f.html?seed=1848917091</guid>
<category>DB2,数据库,触发器</category>
<pubDate>Mon, 08 Sep 2008 06:56:02 GMT</pubDate>
<description><blockquote>开启/屏蔽DB2触发器</blockquote></description>
<dc:creator>efan101</dc:creator>
</item>
<item>
<title>用c  Builder如何将txt文件中的数据（只有一列20万条记录）一次导入数据库 中</title>
<link>http://topic.csdn.net/u/20080904/13/40f74943-5aa0-42d1-9cf7-a365e1f9ed03.html</link>
<guid isPermaLink="true">http://topic.csdn.net/u/20080904/13/40f74943-5aa0-42d1-9cf7-a365e1f9ed03.html</guid>
<category>txt,数据库,BCB,海量</category>
<pubDate>Mon, 08 Sep 2008 06:24:21 GMT</pubDate>
<description><blockquote></blockquote></description>
<dc:creator>Armeng</dc:creator>
</item>
<item>
<title>VC  ADO连接数据库 - Wilson(群:15267957) - CSDNBlog</title>
<link>http://blog.csdn.net/wilsonwong/archive/2006/10/10/1329469.aspx</link>
<guid isPermaLink="true">http://blog.csdn.net/wilsonwong/archive/2006/10/10/1329469.aspx</guid>
<category>MFC,数据库</category>
<pubDate>Sat, 06 Sep 2008 12:55:09 GMT</pubDate>
<description><blockquote></blockquote></description>
<dc:creator>xjtuliulixiang</dc:creator>
</item>
<item>
<title>什么是Pro*C/C   - linux学习笔记 - CSDNBlog</title>
<link>http://blog.csdn.net/hwz119/archive/2007/07/11/1685905.aspx</link>
<guid isPermaLink="true">http://blog.csdn.net/hwz119/archive/2007/07/11/1685905.aspx</guid>
<category>数据库</category>
<pubDate>Sat, 06 Sep 2008 08:11:41 GMT</pubDate>
<description><blockquote></blockquote></description>
<dc:creator>swrd</dc:creator>
</item>
<item>
<title>Microsoft 数据库三版本共存：SQL Server 2000（SP4）   SQL Server 2005（SP2）   SQL Server 2008</title>
<link>http://blog.csdn.net/ranzj/archive/2008/08/25/2828954.aspx</link>
<guid isPermaLink="true">http://blog.csdn.net/ranzj/archive/2008/08/25/2828954.aspx</guid>
<category>Microsoft,数据库</category>
<pubDate>Sat, 06 Sep 2008 05:18:36 GMT</pubDate>
<description><blockquote>Microsoft 数据库三版本共存：SQL Server 2000（SP4）   SQL Server 2005（SP2）   SQL Server 2008 - 冉冉毅马的专栏 - CSDNBlog</blockquote></description>
<dc:creator>yongaulee</dc:creator>
</item>
<item>
<title>SQL Server 2008 的 Transact-SQL 语言增强（2）</title>
<link>http://blog.csdn.net/zhanghongju/archive/2008/09/03/2871565.aspx</link>
<guid isPermaLink="true">http://blog.csdn.net/zhanghongju/archive/2008/09/03/2871565.aspx</guid>
<category>数据库</category>
<pubDate>Fri, 05 Sep 2008 08:33:48 GMT</pubDate>
<description><blockquote>作者：张洪举 Microsoft MVP 

应用于：SQL Server 2008

日期：2008/9/1

 

6．MERGE 语句

在 SQL Server 2008 中，可以使用 MERGE 语句在一条语句中根据与源表联接的结果对目标表执行 INSERT、UPDATE 或 DELETE 操作。如：使用一个语句有条件地在单个目标表中插入或更新行，如果目标表中存在相应行，则更新一个或多个列；否则，会将数据插入新行。使用该语句还可以同步两个表，根据与源数据的差别在目标表中插入、更新或删除行。

MERGE 语法包括如下五个主要子句：

MERGE 子句用于指定作为插入、更新或删除操作目标的表或视图。

USING 子句用于指定要与目标联接的数据源。

ON 子句用于指定决定目标与源的匹配位置的联接条件。

WHEN 子句用于根据 ON 子句的结果指定要执行的操作。

OUTPUT 子句针对更新、插入或删除的目标对象中的每一行返回一行。

其完整的语法格式如下：

[ WITH  [,...n] ]

MERGE 

        [ TOP ( expression ) [ PERCENT ] ] 

        [ INTO ] target_table [ WITH (  ) ] [ [ AS ] table_alias ]

        USING  

        ON 

        [ WHEN MATCHED [ AND  ]

            THEN  ]

        [ WHEN NOT MATCHED [ BY TARGET ] [ AND  ]

            THEN  ]

        [ WHEN NOT MATCHED BY SOURCE [ AND  ]

            THEN  ]

        [  ]

        [ OPTION (  [ ,...n ] ) ]    

使用下面的语句创建两个表：

USE AdventureWorks; 

GO

IF OBJECT_ID (N'dbo.Purchases', N'U') IS NOT NULL 

    DROP TABLE dbo.Purchases; 

GO

CREATE TABLE dbo.Purchases (

    ProductID int, CustomerID int, PurchaseDate datetime, 

    CONSTRAINT PK_PurchProdID PRIMARY KEY(ProductID,CustomerID)); 

GO

INSERT INTO dbo.Purchases VALUES(707, 11794, '20060821'),

(707, 15160, '20060825'),(708, 18529, '20060821'),

(712, 19072, '20060821'),(870, 15160, '20060823'),

(870, 11927, '20060824'),(870, 18749, '20060825'); 

GO

IF OBJECT_ID (N'dbo.FactBuyingHabits', N'U') IS NOT NULL 

    DROP TABLE dbo.FactBuyingHabits; 

GO

CREATE TABLE dbo.FactBuyingHabits (

    ProductID int, CustomerID int, LastPurchaseDate datetime, 

    CONSTRAINT PK_FactProdID PRIMARY KEY(ProductID,CustomerID)); 

GO

INSERT INTO dbo.FactBuyingHabits VALUES(707, 11794, '20060814'),

(707, 18178, '20060818'),(864, 14114, '20060818'),

(870, 17151, '20060818'),(870, 15160, '20060817'),

(871, 21717, '20060817'),(871, 21163, '20060815'),

(871, 13350, '20060815'),(873, 23381, '20060815'); 

GO

两个表中的数据如下图所示：

 

 




请注意，这两个表中有两个共有的产品-客户行：客户 11794 购买了产品 707，客户 15160 购买了产品 870。对于这些行，可以使用 WHEN MATCHED THEN 子句利用 Purchases 中这些购买记录的日期来更新 FactBuyingHabits。我们可以使用 WHEN NOT MATCHED THEN 子句将所有其他行插入 FactBuyingHabits。参考下面的语句： 

MERGE dbo.FactBuyingHabits AS Target

USING (SELECT CustomerID, ProductID, PurchaseDate FROM dbo.Purchases) AS Source

ON (Target.ProductID = Source.ProductID AND Target.CustomerID = Source.CustomerID)

WHEN MATCHED THEN

    UPDATE SET Target.LastPurchaseDate = Source.PurchaseDate

WHEN NOT MATCHED BY TARGET THEN

    INSERT (CustomerID, ProductID, LastPurchaseDate)

    VALUES (Source.CustomerID, Source.ProductID, Source.PurchaseDate)

OUTPUT $action, Inserted.*, Deleted.*;  

$action用于在 OUTPUT 子句中指定一个 nvarchar(10) 类型的列，列的值是代表所执行操作的INSERT、UPDATE或DELETE。Inserted.*和Deleted.*分别用于指定返回所有插入行的列和删除行的列。如果要指定具体的列，可以使用Inserted.ProductID这样的命名方式。

上面语句的输出结果如下：

 




再查询FactBuyingHabits表，可以看到被更新和插入后的结果，如下所示：

 

 




7．SQL 依赖关系报告

SQL Server 2008 引入了新的目录视图和系统函数用以提供一致可靠的 SQL 依赖关系报告。所谓依赖关系，通俗的讲：存储过程1需要使用存储过程2提供的结果，它们之间就是一种依赖关系。可以使用 sys.sql_expression_dependencies、sys.dm_sql_referencing_entities 和 sys.dm_sql_referenced_entities 来报告架构绑定和非架构绑定对象的跨服务器、跨数据库和数据库 SQL 依赖关系。

下例将创建一个表、一个视图和三个存储过程。这些对象将用在后面的查询中以演示如何报告依赖关系信息。可看到 MyView 和 MyProc3 均引用 Mytable。MyProc1 引用 MyView，而 MyProc2 引用 MyProc1。

USE AdventureWorks; 

GO

-- Create entities

CREATE TABLE dbo.MyTable (c1 int, c2 varchar(32)); 

GO

CREATE VIEW dbo.MyView

AS SELECT c1, c2 FROM dbo.MyTable; 

GO

CREATE PROC dbo.MyProc1

AS SELECT c1 FROM dbo.MyView; 

GO

CREATE PROC dbo.MyProc2

AS EXEC dbo.MyProc1; 

GO

CREATE PROC dbo.MyProc3

AS SELECT * FROM AdventureWorks.dbo.MyTable; 

   EXEC dbo.MyProc2; 

GO

下面的示例查询 sys.sql_expression_dependencies 目录视图以返回由 MyProc3 引用的实体。

USE AdventureWorks; 

GO

SELECT OBJECT_NAME(referencing_id) AS referencing_entity_name 

    ,referenced_server_name AS server_name

    ,referenced_database_name AS database_name

    ,referenced_schema_name AS schema_name

    , referenced_entity_name

FROM sys.sql_expression_dependencies 

WHERE referencing_id = OBJECT_ID(N'dbo.MyProc3'); 

GO

下面是结果集： 

referencing_entity server_name database_name  schema_name referenced_entity

------------------   -----------    -------------     ----------- --    ---------------

MyProc3            NULL        NULL           dbo         MyProc2 

MyProc3            NULL        AdventureWorks   dbo         MyTable 

上面的查询返回了两个在 MyProc3 定义中按名称引用的实体。服务器名称为 NULL，因为被引用实体没有使用有效的由四部分组成的名称指定。返回的结果中显示了 MyTable 的数据库名称，因为在存储过程中是使用由三部分组成的有效名称定义此实体的。

8．表值参数

数据库引擎引入了可以引用用户定义表类型的新参数类型。表值参数可以将多个数据行发送到 SQL Server 语句或例程（比如存储过程或函数），而不用创建临时表。表值参数具有更高的灵活性，在某些情况下，可比临时表或其他传递参数列表的方法提供更好的性能。表值参数具有以下优势：

首次从客户端填充数据时，不获取锁。

提供简单的编程模型。

允许在单个例程中包括复杂的业务逻辑。

减少到服务器的往返。

可以具有不同基数的表结构。

是强类型。

使客户端可以指定排序顺序和唯一键。

与其他参数一样，表值参数的作用域也是存储过程、函数或动态 Transact-SQL 文本。同样，表类型变量也与使用 DECLARE 语句创建的其他任何局部变量一样具有作用域。

与BULK INSERT操作相比，频繁使用表值参数将比大型数据集要快。大容量操作的启动开销比表值参数大，与之相比，表值参数在插入数目少于 1000 的行时具有很好的执行性能。

下面是SQL Server帮助中的示例，演示了如何执行以下操作：创建表值参数类型，声明变量来引用它，填充参数列表，然后将值传递到存储过程。

USE AdventureWorks; 

GO

 

/* 创建一个table类型 */

CREATE TYPE LocationTableType AS TABLE 

( LocationName VARCHAR(50)

, CostRate INT ); 

GO

 

/* 创建一个存储过程，用于从表值参数接收数据 */

CREATE PROCEDURE usp_InsertProductionLocation

    @TVP LocationTableType READONLY

    AS 

    SET NOCOUNT ON

    INSERT INTO [AdventureWorks].[Production].[Location]

           ([Name]

           ,[CostRate]

           ,[Availability]

           ,[ModifiedDate])

        SELECT *, 0, GETDATE()

        FROM  @TVP; 

        GO

 

/* 定义一个引用表值类型的变量 */

DECLARE @LocationTVP 

AS LocationTableType; 

 

/* 添加数据到表值变量 */

INSERT INTO @LocationTVP (LocationName, CostRate)

    SELECT [Name], 0.00

    FROM 

    [AdventureWorks].[Person].[StateProvince]; 

 

/* 传递表值变量数据给存储过程 */

EXEC usp_InsertProductionLocation @LocationTVP; 

GO

9．Transact-SQL 行构造函数

增强后的 Transact-SQL 可以允许将多个值插入单个 INSERT 语句中，语法比较简单。参考下面的代码：

/* 创建一个表 */

CREATE TABLE dbo.T1(

CustName char(20) ,

ProductID int ,

MadeFrom char(20) ,

Sales numeric(20, 2) 

)

 

/* 插入2行数据 */

INSERT INTO dbo.T1 

VALUES ('Jane',1,'China',20.00),

       ('Jack',2,'USA',10.00)</blockquote></description>
<dc:creator>villa123</dc:creator>
</item>
<item>
<title>SQL Server 2008 的 Transact-SQL 语言增强（1）</title>
<link>http://blog.csdn.net/zhanghongju/archive/2008/09/02/2868437.aspx</link>
<guid isPermaLink="true">http://blog.csdn.net/zhanghongju/archive/2008/09/02/2868437.aspx</guid>
<category>数据库</category>
<pubDate>Fri, 05 Sep 2008 08:31:29 GMT</pubDate>
<description><blockquote>作者：张洪举 Microsoft MVP 

应用于：SQL Server 2008

日期：2008/9/1

 

Microsoft SQL Server 2008 对 Transact-SQL 语言进行了进一步增强，主要包括：ALTER DATABASE 兼容级别设置、复合运算符、CONVERT 函数、日期和时间功能、GROUPING SETS、MERGE 语句、SQL 依赖关系报告、表值参数和 Transact-SQL 行构造函数。

1．ALTER DATABASE 兼容级别设置
某些数据库行为与 SQL Server 版本有关，通过 ALTER DATABASE 下面新增的语法，可以设置数据库兼容级别，它取代了以前版本中的 sp_dbcmptlevel 过程。

ALTER DATABASE database_name 

SET COMPATIBILITY_LEVEL = { 80 | 90 | 100 }

可用的设置值80、90、100分别代表 SQL Server 2000、2005和2008。

2．复合运算符
SQL Server 2008 现在支持如下复合运算符，可执行操作并将变量设置为结果。

运算符
 操作
 
+=
 将原始值加上一定的量，并将原始值设置为结果
 
-=
 将原始值减去一定的量，并将原始值设置为结果
 
*=
 将原始值乘上一定的量，并将原始值设置为结果
 
/=
 将原始值除以一定的量，并将原始值设置为结果
 
%=
 将原始值除以一定的量，并将原始值设置为余数
 
&amp;=
 对原始值执行位与运算，并将原始值设置为结果
 
^=
 对原始值执行位异或运算，并将原始值设置为结果
 
|=
 对原始值执行位或运算，并将原始值设置为结果
 

如：

DECLARE @x1 int = 27; 

SET @x1 += 2 ; 

SELECT @x1  -- 返回29

3．CONVERT 函数
CONVERT 函数现在允许在二进制和字符十六进制值之间进行转换。函数语法格式如下：

CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

expression 是被转换的有效的表达式，data_type 目标数据类型（不能使用别名数据类型），length 指定目标数据类型长度的可选整数，style 指定 CONVERT 函数如何转换 expression 的整数表达式。

如果 expression 为 binary(n)、varbinary(n)、char(n) 或 varchar(n)，则 style 可以为下表中显示的值之一。

值 
 输出 
 
0（默认值）
 将 ASCII 字符转换为二进制字节，或者将二进制字节转换为 ASCII 字符。每个字符或字节按照 1:1 进行转换。

如果 data_type 为二进制类型，则会在结果左侧添加字符 0x。
 
1, 2
 对于 style 1，将在转换后的结果左侧添加字符 0x。作为要转换的二进制表达式，字符 0x 必须为表达式中的前两个字符。

 

在style为2的情况下，生成的二进制值不会包含字符 0x。作为要转换的二进制表达式，也不需要在字符前面包含字符 0x。

 

如果 data_type 为二进制类型，则表达式必须为字符表达式。

如果转换后的表达式长度大于 data_type 长度，则会在右侧截断结果。

如果固定长度 data_types 大于转换后的结果，则会在结果右侧添加零。

 

如果 data_type 为字符类型，则表达式必须为二进制表达式。每个二进制字符均转换为两个十六进制字符。如果转换后的表达式长度大于 data_type 长度，则会在右侧截断结果。

如果 data_type 为固定大小的字符类型，并且转换后的结果长度小于其 data_type 长度，则会在转换后的表达式右侧添加空格，以使十六进制数字的个数保持为偶数。
 

参考下面的示例代码：

--转换二进制值 0x4E616d65 到一个字符值

SELECT CONVERT(char(8), 0x4E616d65, 0) AS 'Style 0, 二进制到字符'

--下面的示例演示了 Style 为 1 的情况下,如何强行截断结果值。

--产生的结果值由于包含字符 0x ，所以被截断

SELECT CONVERT(char(8), 0x4E616d65, 1) AS 'Style 1, 二进制到字符'

--下面的示例演示了 Style 为 2 的情况下，没有截断结果值。

--这是因为 0x 字符未包含在结果中

SELECT CONVERT(char(8), 0x4E616d65, 2) AS 'Style 2, 二进制到字符'

--转换字符值 Name 到一个二进制值

SELECT CONVERT(binary(8), 'Name', 0) AS 'Style 0, 字符到二进制'

SELECT CONVERT(binary(4), '0x4E616D65', 1) AS 'Style 1, 字符到二进制'

SELECT CONVERT(binary(4), '4E616D65', 2) AS 'Style 2, 字符到二进制'

结果如下：

 

 



4．日期和时间功能
DATEPART ( datepart , date )函数用于返回 date中的指定 datepart 的整数。如：

SELECT DATEPART(YEAR,'2007-05-10')  --返回2007

SQL Server 2008 包含对 ISO 周-日期系统的支持，即周的编号系统。每周都与该周内星期四所在的年份关联。例如，2004 年第 1 周 (2004W01) 从 2003 年 12 月 29 日星期一到 2004 年 1 月 4 日星期天。一年中最大的周数可能为 52 或 53。这种编号方式通常用于欧洲国家，但其他国家/地区很少用到。

下面分别是2010年和2009年1月份的日历。由于2010年第一个星期中的星期四是2010-1-7日，所以2010-1-3日及之前的日期会作为2009年的第53个星期，而不是2010年的第一个星期。而对于2009年1月份的日历，由于星期四是2009-1-1，所以该星期会作为2009年的第一个星期。当然，该星期也包含了2008-12-28至31的4天。

 

 



  

参考下面的代码：

SELECT DATEPART(ISO_WEEK,'2010-1-3')  --返回53

SELECT DATEPART(ISO_WEEK,'2010-1-4')  --返回1

SELECT DATEPART(ISO_WEEK,'2009-1-1')  --返回1

5．ROLLUP、CUBE 和GROUPING SETS

在SQL Server 2008之前，进行分组统计汇总，可以在GROUP BY子句中使用WITH ROLLUP和WITH CUBE参数。ROLLUP指定在结果集内不仅包含由GROUP BY提供的行，还包含汇总行。按层次结构顺序，从组内的最低级别到最高级别汇总组。而CUBE参数则在使用ROLLUP参数所返回结果集的基础上，再将每个可能的组和子组组合在结果集内返回。

例如，假设dbo.T1表中存在下列数据：

 

 




执行下面的查询语句：

SELECT CustName,ProductID,SUM(Sales) AS 'SalesTotal' 

FROM dbo.T1

GROUP BY CustName,ProductID

WITH CUBE

ORDER BY CustName,ProductID; 

 

SELECT CustName,ProductID,SUM(Sales) AS 'SalesTotal'

FROM dbo.T1

GROUP BY CustName,ProductID

WITH ROLLUP

ORDER BY CustName,ProductID; 

得到下面的结果集合，可以看出，使用WITH CUBE多出了对子组ProductID的两行汇总。

 

 




而在SQL Server 2008中，GROUPING SETS、ROLLUP 和 CUBE 运算符已添加到 GROUP BY 子句中。不再推荐使用不符合 ISO 的 WITH ROLLUP、WITH CUBE 和 ALL 语法。在SQL Server 2008中，可以将上面的WITH CUBE语句改写为如下的形式：

SELECT CustName,ProductID,SUM(Sales) AS 'SalesTotal' 

FROM dbo.T1

GROUP BY CUBE(CustName,ProductID)

ORDER BY CustName,ProductID; 

如果不需要获得由完备的 ROLLUP 或 CUBE 运算符生成的全部分组，则可以使用 GROUPING SETS 仅指定所需的分组。例如，下面的语句将得到分别按CustName和ProductID分组汇总结果集的并集。

SELECT CustName,ProductID,SUM(Sales) AS 'SalesTotal'

FROM dbo.T1

GROUP BY GROUPING SETS(CustName,ProductID)

ORDER BY CustName,ProductID; 

结果集如下：

 

 




上面的语句等同于下面的UNION ALL语句：

SELECT CustName,NULL AS ProductID,SUM(Sales) AS 'SalesTotal'

FROM dbo.T1

GROUP BY CustName

UNION ALL

SELECT NULL AS CustName,ProductID,SUM(Sales) AS 'SalesTotal'

FROM dbo.T1

GROUP BY ProductID</blockquote></description>
<dc:creator>villa123</dc:creator>
</item>
<item>
<title>SQL 收藏------------SQL操作全集</title>
<link>http://topic.csdn.net/u/20080515/16/6f359854-5403-4397-89e3-b1b8dd71d527.html</link>
<guid isPermaLink="true">http://topic.csdn.net/u/20080515/16/6f359854-5403-4397-89e3-b1b8dd71d527.html</guid>
<category>数据库</category>
<pubDate>Thu, 04 Sep 2008 09:53:25 GMT</pubDate>
<description><blockquote></blockquote></description>
<dc:creator>runtoaim</dc:creator>
</item>
<item>
<title>数据库的三重境界</title>
<link>http://database.ctocio.com.cn/analysis/81/8268081.shtml</link>
<guid isPermaLink="true">http://database.ctocio.com.cn/analysis/81/8268081.shtml</guid>
<category>数据库</category>
<pubDate>Wed, 03 Sep 2008 12:23:14 GMT</pubDate>
<description><blockquote>出处:IT专家网
很难想象，现在还有什么应用跟数据库无关。就连微软的下一代操作系统Vista，也要用其数据库来组织其新式的文件系统。可以说，经过多年的发展，数据已经成为整个信息化进程和下一阶段发展的最可宝贵的资源，而保存和管理数据资源的数据库，其技术的发展和进步，就成为了最值得关心和重视的问题。

　　国学大师王国维曾经有过一个著名的“三重境界”之说，他将晏殊的《蝶恋花》、欧阳修的《蝶恋花》和辛稼轩的《青玉案》三首词中各取出一句话，来讲述成功的三重境界。而这样的三重境界，似乎也可以同样被借用来形容数据库管理技术的发展历程。从层次型数据库到管理关系型数据库，乃至目前的同时支持关系型和XML的混合型数据库，数据库管理技术在其发展的将近40年的历程中，走过了一条不断创新的三重境界。

　　IMS:为阿波罗号护航

　　“昨夜西风凋碧树。独上高楼，望尽天涯路”，这句话用来形容数据库管理系统出现以前的数据管理可以说恰如其分。在数据处理还是穿孔卡片来进行时，彼时的数据管理，只是对卡片进行物理的存储和处理。数据的存储和管理极其麻烦和复杂，根本无法体现出高效性。在1956年IBM生产出第一个磁盘驱动器(Model 305 RAMAC)之后，引发了数据管理的革命，并且因此得以随机存储数据。

　　此后，出现了最早版本的数据库，即网状数据库管理系统(DBMS)，由通用电气公司1961年开发成功，其IDS(Integrated DataStore，集成数据存储)是世界上第一个网状DBMS，也是第一个DBMS。但是它只能运行于通用电气的主机上，且数据库只有一个文件，所有的表必须通过手工编码生成，有着极大的局限性。

　　为此，IBM开发的层次数据库IMS(Information Management System，信息管理系统)受到了极大的欢迎，成为了最著名也是最典型的层次型数据库管理系统。

　　1966年，IBM与其客户(北美洛克维尔公司和卡特彼勒公司)合作，共同开发新型数据库，用于帮助NASA管理宏大的阿波罗计划中的繁琐资料，并且在1968年由IBM的工程师完成。1969年，该数据库作为IBM的产品发布时被更名为“IMS(Information Management System，信息管理系统)。

　　在1969年，NASA成功发射了阿波罗11号实现了人类首次登月之后，NASA继续在其航天飞机计划中使用着该产品。直至今日，该数据库一直有着用武之地，在如今的互联网应用连接、商务智能等应用中找到了全新的角色。

　　RDBMS：IBM打开的新天地

　　虽然层次数据库已经可以很好地解决数据集中和共享的问题，但是其在数据独立性和抽象级别上依然有着欠缺。所以，使得数据库管理人员未免“衣带渐宽终不悔，为伊消得人憔悴。”

　　还好，就在1970年，IBM研究员E.F.Codd提出了关系模型的概念，由此奠定了关系模型的理论基础。他所发表的论文“A Relational Model of Data for Large Shared Data Banks”也被认为是数据库系统历史上具备划时代意义的里程碑。在经过不断的发展和论证之后，最终使得更具备优势的关系型数据库成为了市场的主流。随后，在1974年，IBM公司的Ray Boyce和Don Chamberlin提出了SQL语言，它实现了数据库生命周期中的全部操作，为关系数据库奠定了另一块里程碑。

　　在1979年，IBM完成了第一个实现SQL的DBMS。在20世纪的80年代早期，IBM利用了RDBMS和SQL的第二阶段的技术，创建了新型的数据库产品，并将其命名为DB2，也就是拥有第二代技术的数据库产品。而在过去的岁月中，DB2已经从重要的大型机产品发展成为可在各种服务器平台上运行的产品。尤其是在System 390(即目前所称的System z)中，DB2已经成为分布式计算的核心。

　　尽管不断地有同时期厂商的数据库产品的竞争，但是DB2依然在高端企业应用市场受到了广泛的应用及好评。经过多年的发展和进步，在System z和安装了Linux系统的英特尔平台上，已经运行有近50万台的DB2数据服务器。

　　IBM DB2 9:成熟的优化大师

　　随着信息化进程的发展和企业间、企业内部信息交换的需要，XML作为标准化的数据存储格式，其数据量正面临着巨大的增长。而事实上，每个行业都在实施着XML数据标准，新版的微软Office软件也将以XML格式存储文档。

　　此外，正有越来越多的公司开始转向使用XML技术，以便在不同的系统和应用程序之间交换数据并适应快速变化的环境，从而帮助他们逐步实现SOA。

　　“众里寻他千百度，回头蓦见，那人正在，灯火阑珊处”，结合了关系型数据库和层次型数据库二者特点的DB2 9(代号Viper)引入了另外一种可能――混合型数据库，该数据库可以非常好地支持XML数据，同时也对其他技术包括SQL、表格数据结构和各种DBMS特性的支持依然存在。

　　在此之前，文件系统可以应付简单的任务，但是在需要处理大量文档时它们就表现不佳。并发性、恢复、安全和可用性等问题变得难以管理。尽管商业关系数据库管理系统(DBMS)解决了这些问题，但是在其他方面有所欠缺。DBMS通常只是提供两种基本的数据库设计选项――将每个 XML 文档完整地存储为一个大型对象，或者将它“撕开”，分散存储在多个表的多个列中。这样不仅无法完整体现XML的层次结构，而且效率低下、不够灵活。

　　此外，纯粹的XML DBMS 在IT基础设施中引入了一种新型的环境，但是这样的环境还没有经过考验，其集成能力、所需要的人员技能以及未来的生命力也都不确定。

　　因此，必须找寻可以高效共享、搜索和管理公司大量XML文档和消息的系统，以便帮助企业减少存储和使用XML数据所需要的时间及工作量，以期减少应用开发费用且提高业务灵活性。混合型数据库DB2 9正好适应了这样的需要。通过DB2 9，用户可以使用同一个数据库对象同时管理“传统的”SQL数据和XML文档，甚至，还可以编写一个查询同时搜索和处理这两种数据形式。

　　具有如此特点的DB2，是业界第一款也是惟一一款可以使用行业标准接口的关系数据来管理pureXML的数据库，它在三个领域具备了独到的创新：XML数据管理、数据压缩和SAP优化。其中，最重要的功能即XML数据管理，它使用了IBM的“pureXML”解决方案来管理以XML格式存储的数据。

这意味着DB2 9可以提供XML数据的“原生态”存储，而无需将数据转化成行列格式，更无需将其作为大型对象来存储。为实现这样的功能，IBM对DB2进行了扩展，使DB2 9包含了如下的新技术：

　　 新的存储技术，可以高效地管理 XML 文档中固有的层次结构。

　　 新的索引技术，可以提高在 XML 文档之间和内部进行搜索的速度。

　　 新的查询语言支持(对于 XQuery)、新的图形化查询构建器(对于 XQuery)和新的查询优化技术。

　　 根据用户提供的模式检验 XML 数据的能力。

　　 新的管理功能，包括对关键数据库工具的扩展。

　　 与流行的应用程序编程接口(API)的集成。

　　而通过应用压缩技术，DB2 9在客户的实际测试中，可以为客户节约40～80%的存储需求，同时能够维护甚至改善应用程序的性能。

　　基于DB2 9的革命性的创新与性能，SAP也为使用mySAP商业应用程序的中小型客户选用了DB2 9作为数据服务器。

　　IBM：不断创新的源泉

　　可以说，IBM DB2 9只是IBM数据库长期保持其领先历程的最新进展，正是IBM基于市场需求研究基础上的不断创新，推动了数据库技术及其应用的不断进步。如果说上世纪60年代，IBM最初的数据库技术重点是为了高性能应用软件需求提供交易支持，因此使得DB2成为了成熟的优化大师; 那么现在的IBM更加注重信息服务管理，是为了企业破除数据孤岛，提供灵活的信息基础设施，DB2 9就是最灵活的、在网络和应用中提供信息的服务大师。

　　这不断创新和发展的过程，成就了IBM DB2 9今天无与伦比的领先地位，就像海伦.凯勒所说“我碰到了不可胜数的障碍，跌倒了，我一次次地坚强地爬起来，每前进一步，我的勇气就增加一分，我相信我一定能达那光辉的云端，碧天的深处――我希望的绝顶。”</blockquote></description>
<dc:creator>liujingjing2008</dc:creator>
</item>
</channel></rss>
