文章分类 -  SQL SERVER

摘要:临时表与永久表相似,但临时表存储在 tempdb 中,当不再使用时会自动删除。临时表有两种类型:本地和全局。它们在名称、可见性以及可用性上有区别。本地临时表的名称以单个数字符号 (#) 打头;它们仅对当前的用户连接是可见的;当用户从 SQL Server 实例断开连接时被删除。全局临时表的名称以两个... 阅读全文
posted @ 2014-09-24 16:58 邹邹 阅读(123) 评论(0) 推荐(0)
摘要:有时候你在操作数据库的时候数据库出问题了,而你又要把数据库drop时就出问题了:Cannot drop database "databasename" because it is currently in use.这时你只要按照以下方法做就可以了:use mastergoalter database... 阅读全文
posted @ 2014-07-09 11:19 邹邹 阅读(852) 评论(0) 推荐(0)
摘要:通配符 说明_ 与任意单字符匹配% 与包含一个或多个字符的字符串匹配[ ] 与特定范围(例如,[a-f])或特定集(例如,[abcdef])中的任意单字符匹配。[^] 与特定范围(例如,[^a-f])或特定集(例如,[^abcdef])之外的任意单字符匹配。例子:• WHERE FirstName LIKE '_im' 可以找到所有三个字母的、以 im 结尾的名字(例如,Jim、Tim)。• WHERE LastName LIKE '%stein' 可以找到姓以 stein 结尾的所有员工。• WHERE LastName LIKE '%stein%&# 阅读全文
posted @ 2013-11-27 16:29 邹邹 阅读(132) 评论(0) 推荐(0)
摘要:链接:http://stackoverflow.com/questions/5554088/reporting-services-2008-the-report-server-installation-is-not-initializedI am trying to set up Report Server 2008 on a separate machine to the Reporting Services databases which are on a SQL Server 2008 R2 machine.I configure everything in the Reporting 阅读全文
posted @ 2013-11-20 08:56 邹邹 阅读(519) 评论(0) 推荐(0)
摘要:判断临时表是否存在Way 1if(exists(select name from tempdb..sysobjects where name like'%temptab%' and type='U'))drop table #temptabWay 2ifexists(select*fromtempdb.dbo.sysobjectswhereid=object_id(N'tempdb..#tempcitys')andtype='U')droptable#tempcitysWay 3IF OBJECT_ID('tempdb.. 阅读全文
posted @ 2013-11-12 16:41 邹邹 阅读(168) 评论(0) 推荐(0)
摘要:SQL Server 跨库复制表数据的解决办法跨库复制表数据,有很多种方法,最常见的是写程序来批量导入数据了,但是这种方法并不是最优方法,今天就用到了一个很犀利的方法,可以完美在 Sql Server 2005 和 Sql Server 2008 中执行!格式如下:insert into tableA SELECT * FROM OPENDATASOURCE('SQLOLEDB', 'Data Source=127.0.0.1;User ID=sa;Password=sasasa').databaseName.dbo.tableB 或者是:insert into 阅读全文
posted @ 2013-11-12 16:08 邹邹 阅读(175) 评论(0) 推荐(0)
摘要:通常情况下,不能向 SQL Server 自增字段插入值,如果非要这么干的话,SQL Server 就会好不客气地给你个错误警告:Server:Msg544,Level16,State1,Line1 Cannotinsertexplicitvalueforidentitycolumnintable't'whenidentity_insertissettoOFF.这个错误消息提示我们,如果向 SQL Server 自增字段插入值,需要设置 identity_insert 选项为 on。setidentity_inserton看具体的一个例子:createtabledbo.t ( 阅读全文
posted @ 2013-11-12 13:09 邹邹 阅读(1392) 评论(0) 推荐(0)
摘要:go 是SYBASE和SQLServer中用来表示事物结束,提交并确认结果,相当于ORACLE的CommitSQLServer实用工具将GO解释为应将当前的Transact-SQL批处理语句发送给SQLServer的信号。当前批处理语句是自上一GO命令后输入的所有语句,若是第一条GO命令,则是从特殊会话或脚本的开始处到这条GO命令之间的所有语句。局部(用户定义)变量的作用域限制在一个批处理中,不可在GO命令后引用。GO代表一个批处理的结束;你可以把每个GO之间的语句当成是一句SQL;GO不是标准的语法,只是查询分析器为了区分多个批处理而设的分隔符而已;具体的如下CREATETABLETable 阅读全文
posted @ 2013-10-29 13:03 邹邹 阅读(212) 评论(0) 推荐(0)
摘要:SQL SERVER的联机丛书的解释:“当 SET QUOTED_IDENTIFIER 为 ON 时,标识符可以由双引号分隔,而文字必须由单引号分隔。当 SET QUOTED_IDENTIFIER 为 OFF 时,标识符不可加引号,且必须遵守所有 Transact-SQL 标识符规则。”先说说什么是标识符,举个例子,如果创建了一个叫做USER的数据库表,则直接用SQL语句“SELECT * FROM USER”做查询时会报错:“在关键字 'USER' 附近有语法错误。”,也就是USER被视作SQL SERVER的关键字处理了,而不是被认为是一个表或视图。但如果修改为“SELEC 阅读全文
posted @ 2013-10-29 12:58 邹邹 阅读(137) 评论(0) 推荐(0)
摘要:指定在对空值使用等于 (=) 和不等于 () 比较运算符时,这些运算符的 SQL-92 遵从行为。语法SET ANSI_NULLS {ON | OFF}注释SQL-92 标准要求对空值的等于 (=) 或不等于 () 比较取值为 FALSE。当 SET ANSI_NULLS 为 ON 时,即使column_name中存在空值,使用 WHEREcolumn_name= NULL 的 SELECT 语句仍返回零行。即使column_name中存在非空值,使用 WHEREcolumn_name NULL 的 SELECT 语句仍返回零行。当 SET ANSI_NULLS 为 OFF 时,等于 (=) 阅读全文
posted @ 2013-10-29 12:55 邹邹 阅读(192) 评论(0) 推荐(0)
摘要:透视今天抽一点时间来看看透视和逆透视语句,简单的说就是行列转换。假设一个销售表中存放着产品号,产品折扣,产品价格三个列,每一种产品号可能有多种折扣,每一种折扣只对应一个产品价格。下面贴出建表语句和插入数据语句。01create table SalesOrderDetail(02ProductID int unique,03UnitPriceDiscount float,04ProductPrice float05)06insert into SalesOrderDetail values07(711,.00,12),08(711,.00,13),09(711,.02,17),10(711,.0 阅读全文
posted @ 2013-10-16 23:16 邹邹 阅读(218) 评论(0) 推荐(0)
摘要:摘要:正如文章"SqlServer 性能优化——Partition(创建分区)"中所述,分区并不是一个一劳永逸的操作,对一张表做好分区仅仅是开始,接下来可能需要频繁的变更分区,管理分区。 在企业管理器中,虽然有“管理分区”的菜单,里面的内容却可能与你的预想不同,这里并没有提供直接对分区进行操作的方法,所以一些普通的操作,比如“增加分区”、“删除分区”之类的操作就需要通过脚本实现了。 增加分区(Split Partition) “增加分区”事实上就是将现有的分区分割开,基于此,在SQL Server中应用的是Split操作。在分离分区的时候,不仅仅要在Partition Fu 阅读全文
posted @ 2013-10-14 23:05 邹邹 阅读(309) 评论(0) 推荐(0)
摘要:[摘要]本文详细介绍SQL Server 2008 分区函数和分区表,包括查询某个分区、归档数据、添加分区、删除分区等内容。当我们数据量比较大的时候,我们需要将大型表拆分为多个较小的表,则只访问部门数据的查询就可以更快的运行,基本原理就是,因为要扫描的数据变的更小。维护任务(例如,重新生成索引或备份表)也可以更快的运行。我们可以再不通过将表物理放置在多个磁盘驱动器上来拆分表的情况下获取分区。如果将某个表放置在一个物理驱动器上,将相关表放置在另一个驱动器上,则可以提高查询性能,因为当运行涉及表间连接的查询时,多个磁盘头同时读取数据。可以使用SQL Server文件组来指定放置表的磁盘。对于分区的 阅读全文
posted @ 2013-10-14 22:44 邹邹 阅读(262) 评论(0) 推荐(0)
摘要:转发记录指针是堆表中特有的数据存储机制。当你修改了某个数据页中的一行时,如果该行所在的数据页已经无法存放其修改后的行,SQL Server会把这行数据移动到一个新的数据页上面去,并在原来的位置留下一个”记录转发指针”,指向到数据行新的位置。 图一滥用记录转发指针的后果转发记录指针是个非常麻烦的东西,对数据读取的性能百害无一利,试想在一个满是转发指针记录的表中查找数据时,你需要根据这些转发指针记录在不同的数据页上跳来跳去,对性能的影响可想而知。甚至连SQL Server自己也意识到这个机制并不完美,在未来的版本中可能不再存在。(《Inside SQL Server 2008》 Page296 ) 阅读全文
posted @ 2013-10-14 21:50 邹邹 阅读(402) 评论(0) 推荐(0)
摘要:用域账号登录你所要用的server即可。 阅读全文
posted @ 2013-09-27 14:16 邹邹 阅读(272) 评论(0) 推荐(0)
摘要:Error when trying to access SQL Server Reporting ServicesOn my reporting service webpage, I can access my SCCM reporting services 100% - no password prompts and no errors.On that same page, i can 'Forefront Endpoint Protection XXX' andI can view the reports to run. But when I actually run th 阅读全文
posted @ 2013-09-26 16:21 邹邹 阅读(868) 评论(0) 推荐(0)
摘要:您可以通过配置 MSMDPUMP.dll(这是一种在 Internet Information Services (IIS) 下运行的 ISAPI 扩展插件,它可以在客户端应用程序和 Analysis Services 服务器之间抽送数据),实现对 Analysis Services 的 HTTP 访问。在您的 OLAP 解决方案需要以下功能时,此方法可替代用于连接到 Analysis Services 的方法:客户端访问通过 Internet 或 extranet 连接进行,并且对可以启用的端口有限制。或者,客户端连接来自同一网络中的不可信域。客户端应用程序在允许 HTTP 但不允许 TCP 阅读全文
posted @ 2013-09-26 09:06 邹邹 阅读(671) 评论(0) 推荐(0)
摘要:master 数据库 master 数据库记录 SQL Server 系统的所有系统级别信息。它记录所有的登录帐户和系统配置设置。master 数据库是这样一个数据库,它记录所有其它的数据库,其中包括数据库文件的位置。master 数据库记录 SQL Server 的初始化信息,它始终有一个可用的最新 master 数据库备份。model 数据库 model 数据库用作在系统上创建的所有数据库的模板。当发出 CREATE DATABASE 语句时,新数据库的第一部分通过复制 model 数据库中的内容创建,剩余部分由空页填充。由于 SQL Serv... 阅读全文
posted @ 2013-09-17 10:37 邹邹 阅读(2006) 评论(0) 推荐(0)
摘要:發現sql server2005無法正常啟動.1.在SQL Server configuration Manager-->SQL Server 2005 Services-->SQL Server(INSTANCE2005)啟動不了.錯誤信息為:The request failed or the service did not respond in a timely fashion,Consult the event log or other applicable error logs for details;2.電腦中紀錄其中之一的錯誤日誌為:SQL Server could n 阅读全文
posted @ 2013-09-10 12:52 邹邹 阅读(536) 评论(0) 推荐(0)