SQL Server
小坏猪猪
自信开朗,微笑地活在独立的今天
展开
-
MSSQL存储过程调用 C#DLL
一、用VS新建一个类库工程取名为myDllnamespace myDll{ public class myClass { public string myFunction(string str) { return str; } }}二、将程序集中的类型设为对 COM 组件可见 在AssemblyInfo.cs文原创 2009-02-26 08:47:00 · 1255 阅读 · 0 评论 -
解决安装sqlServer2000提示 "以前的某个程序安装已经在计算机上创建挂起的文件操作,必须重启计算机"问题
解决安装sqlServer2000提示 "以前的某个程序安装已经在计算机上创建挂起的文件操作,必须重启计算机":程序之前必须重启计算机" 点击“确定”重起机子还是这样提示,请问如何解决? 分析解决: 以前装过sql server,后来删掉。现在重装。或者安装Window2003SP1后也会出现这种情况,解决办法如下: 1)添加/删除程序中彻底删除sql server 2)将没有删除的sql ser原创 2009-11-12 10:47:00 · 2309 阅读 · 2 评论 -
T-SQL实现数据结构中的冒泡算法和快速排序
交换排序的基本思想是:两两比较待排序记录的关键字,发现两个记录的次序相反时即进行交换,直到没有反序的记录为止。 应用交换排序基本思想的主要排序方法有:冒泡排序和快速排序。 一、下面我们来认识一下此方法在T-SQL中的实际使用: declare @date datetime declare @endDate datetime declare @原创 2009-11-19 01:16:00 · 1872 阅读 · 0 评论 -
SQL SERVER 2005中全新的OUTPUT子句添加数据记录详解(实战篇)
实战篇A. 将 OUTPUT INTO 用于简单 INSERT 语句以下示例将行插入 ScrapReason 表,并使用 OUTPUT 子句将语句的结果返回到 @MyTableVar table 变量。由于 ScrapReasonID 列使用 IDENTITY 属性定义,因此未在 INSERT 语句中为该列指定一个值。但请注意,将在列 INSERTED.ScrapReasonID原创 2009-11-20 01:14:00 · 1355 阅读 · 0 评论 -
在SQL Server应用中使用OUTPUT子句
现在大多数描述SQL Server 2005新特性的文章都关注于华而不实的特性,如SQLCLR或XML数据类型,而对许多很好的老的T-SQL语言的改进没有得到应有的关注。我曾经从许多DBA口中听到令他们更兴奋的是看到T-SQL语言的改进,而不是那些新出现和发布的功能。对于SQL语言的一个很有用的实际改进是OUTPUT子句,它允许查询一个数据修改命令所影响的记录行。 本文将讨论OUTPUT子原创 2009-11-19 01:18:00 · 1590 阅读 · 0 评论 -
SQL数据库开发中的一些精典代码
正在加载数据... 1.按姓氏笔画排序: select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as 2.数据库加密: select encrypt(’原始密码’) select pwdencrypt(’原始密码’) select pwdcompare(’原始密码’,’加密后密码’原创 2009-11-19 01:34:00 · 1046 阅读 · 2 评论 -
用SQL Server 2005 CTE简化查询
SQL Server 2005引进了一个很有价值的新的Transact-SQL语言组件:一个通用表表达式(Common Table Expression,CTE),它是派生表和视图的一个便捷的替代。通过使用CTE,我们可以创建一个命名结果集来在SELECT、INSERT、UPDATE和DELETE语句中引用,而无须保存结果集结构的任何元数据。在本文中,我将阐述如何在SQL Server 20原创 2009-11-19 01:45:00 · 4034 阅读 · 0 评论 -
SQL SERVER 2005中全新的OUTPUT子句添加数据记录详解(理论篇)
也许大家在数据库开发的时候,会发现这样一个现象:添加数据记录后想查看其结果都必须通过select表达式来查询实现。一定都要多此一举才可以看到被添加的数据记录吗?答案是否定的。SQL SERVER 2005新提供的OUTPUT子句就帮您解决这个难题,它以比触发器更简洁的方式,在添加数据记录的同时或者事后显示所添加的数据记录内容。下面是作者通过查找帮助文档MSDN和章立民老师的《SQL Server原创 2009-11-20 00:23:00 · 2512 阅读 · 0 评论 -
SQL Server管理常用的SQL和T-SQL
1. 查看数据库的版本 select @@version 常见的几种SQL SERVER打补丁后的版本号: 8.00.194 Microsoft SQL Server 2000 8.00.384 Microsoft SQL Server 2000 SP1 8.00.532 Microsoft SQL Server 2000 SP2 8.00.76原创 2009-11-19 01:26:00 · 739 阅读 · 0 评论 -
如何用T-SQL语句来建立启动跟踪
一般我们会用事件探查器来跟踪SQL Server的运行情况,有时我们也需要定时进行一些跟踪,以检查SQL Server在某个时间段内的运行状况,由于事件探查器不支持调度,因此,应该寻找一种方法,适合我们通过设置JOB来启动跟踪,本文介绍的用T-SQL语句来启用跟踪就适合这种需求。 一、用脚本启动并设置跟踪的示例 通过这个示例,你可以了解用脚本进行跟踪所涉及到的存储过程,要了解这些存储原创 2009-11-19 01:31:00 · 1077 阅读 · 0 评论 -
使用DATEADD和DATEDIFF来计算SQL Server的DATETIME值
在SQL Server数据库中,DATETIME和SMALLDATETIME值是以整数存储的。然而,与整数不同的是,它们不能直接地进行数学运算。尽管如此,有时候还是需要在日期/时间值中添加或减去一个时间间隔。比如,你可能想在一值上加一些月数或天数,或者甚至可能是小时数。你甚至可能想比较两个日期/时间值以便确定它们之间的时间间隔,如相差的天数或年数。为了简化这些类型的计算,Transact-S原创 2009-11-19 01:41:00 · 9127 阅读 · 1 评论 -
SQL Server数据库查询优化50妙计(上篇)
优化查询50妙计:(看看哪一计适合您) 1、把数据、日志、索引放到不同的I/O设备上,增加读取速度,以前可以将Tempdb应放在RAID0上,SQL2000不在支持。数据量(尺寸)越大,提高I/O越重要. 2、纵向、横向分割表,减少表的尺寸(sp_spaceuse) 3、升级硬件 4、根据查询条件,建立索引,优化索引、优化访问方式,限制结果集的数据量。注意填充因子要适当(原创 2009-11-22 01:01:00 · 1392 阅读 · 3 评论 -
图解SQL Server 2000和SQL Server 2005定期自动备份数据库(SQL Server 2000篇)
SQL Server 2000定期自动备份详细图解企业管理器中的Tools,Database Maintenance Planner,可以设置数据库的定期自动备份计划。并通过启动Sql server Agent来自动运行备份计划。具体步骤如下: 1、打开企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开你的服务器;2、然后原创 2009-11-22 14:21:00 · 3858 阅读 · 4 评论 -
图解SQL Server 2000和SQL Server 2005定期自动备份数据库(SQL Server 2005篇)
SQL Server 2005定期自动备份详细图解 SQLServer2005的定期备份是通过创建“维护计划”来实现的。主要有两种方式: 1、维护计划向导。 2、新建维护计划(用户手工创建) 如果想在SQLServer2005中使用维护计划来设计维护备份数据库任务时,有一个前提条件:“SQL Server 代理”服务必须是启用状态原创 2009-11-22 14:33:00 · 5118 阅读 · 18 评论 -
SQL Server数据库查询优化50妙计(下篇)
26、MIN()和MAX()能使用到合适的索引。 27、数据库有一个原则是代码离数据越近越好,所以优先选择Default,依次为Rules,Triggers, Constraint(约束如外健主健CheckUNIQUE……,数据类型的最大长度等等都是约束),Procedure.这样不仅维护工作小,编写程序质量高,并且执行的速度快。 28、如果要插入大的二进制值到Ima原创 2009-11-28 21:12:00 · 1559 阅读 · 4 评论 -
浅谈SQL游标
游标(Cursor)是处理数据的一种方法,为了查看或者处理结果集中的数据,游标提供了在结果集中一次以行或者多行前进或向后浏览数据的能力。我们可以把游标当作一个指针,它可以指定结果中的任何位置,然后允许用户对指定位置的数据进行处理。游标允许你选择一组数据,通过翻阅这组数据记录——通常被称为数据集,检查每一个游标所在的特定的行。你可以将游标和局部变量组合在一起对每一个记录进行检查,当游标移动到下一个记原创 2010-03-25 17:00:00 · 2303 阅读 · 2 评论 -
VS和SQL Server帮助文档无法显示网页的解决方案
VS和SQL Server帮助文档无法显示网页的解决方案原创 2010-06-05 10:04:00 · 2631 阅读 · 2 评论 -
数据库连接大全
-----------MySQL 连接方式-----------MySQL Connector/ODBC 2.50 (MyODBC 2.50)连接方式本地数据库连接Driver={mySQL};Server=localhost;Option=16834;Database=myDataBase; 远程数据连接:Driver={mySQL};Server=myServerAddress;Option转载 2009-11-05 15:45:00 · 1662 阅读 · 0 评论 -
解决SQL Server触发器滥用问题
触发器是在添加、修改数据或者将数据迁移到一个指定表时执行某些动作的方法。SQL Server 2005也同样提供数据库级的触发器,但是我在此只说明表级触发器。由于触发器会启动一个隐藏事务,因此触发器会在服务器上强加额外的开支。一旦执行触发器,一个新的隐藏事务就会开始,同时在事务中的任意数据检索将锁定受影响表。 你应该怎么处理呢?要尽量少用触发器并且尽可能使触发器逻辑简单。你可以简单地以完整原创 2009-08-18 08:47:00 · 1085 阅读 · 0 评论 -
《SQL SERVER 2005数据库开发实战--章立民》学习笔记(一)
分离数据库的T-SQL实现方法: 1、分离数据库的语法格式 sq_detach_db [@databasename ]DataBaseName [,[@skipcheck=] Skipcheck] [,[@keepfulltextindexfile =] KeepFullTextIndexFile] 参数说明: 第一个参数:要分离的原创 2009-02-27 09:12:00 · 2296 阅读 · 6 评论 -
实例操作 教你玩转SQL Server存储过程(一)
首先介绍一下什么是存储过程:存储过程就是将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来,并且这样的语句是放在数据库中的,还可以根据条件执行不同SQL语句, 那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。 请大家来了解一下存储过程的语法。 create PROC [ EDURE ] procedure_n原创 2009-07-24 11:54:00 · 801 阅读 · 0 评论 -
SQL Server 2005:你应知道的13件事
SQL Server 2005新增的功能: 1. 新的产品版本 除SQL Server 2005标准版和企业版之外,产品线中还加入了SQL Server 2005简化版(SQL Server 2005 Exdivss)和工作组版(SQL Server 2005 Workgroup)两个新版本。 SQL Server 2005 Exdivss——其作用是代替微软SQL Serve原创 2009-07-24 17:47:00 · 694 阅读 · 0 评论 -
SQL Server数据库开发顶级技巧
无论你的专业水平如何,从其他IT专家那里学习新的技巧与最佳实践常常都是有益的。本文包含了我遇到过的SQL Server开发的高级技巧。希望其中的一些技巧能够对您的数据库开发及管理工作有所帮助。 确保代码中的数据类型与数据库中的列类型保持一致 确保您的应用程序各层数据类型保持一致是非常重要的。例如,如果一列的数据类型为NVARCHAR(50),那么,您应该在代码查询与存储过程中使原创 2009-07-25 09:51:00 · 876 阅读 · 0 评论 -
数据转换冲突及转换过程中大对象的处理
数据转换冲突及处理 数据转换冲突: 在数据转换过程中,要想实现严格的等价转换是比较困难的。必须要确定两种模型中所存在的各种语法和语义上的冲突,这些冲突可能包括: (1)命名冲突:源数据源的标识符可能是目的数据源中的保留字。 (2)格式冲突:同一种数据类型可能有不同的表示方法和语义差异。 (3)结构冲突:如果两种DBMS之间的数据定义模型不同,如为关系模型和层次原创 2009-07-25 10:04:00 · 1292 阅读 · 0 评论 -
在SQL Server 2005中编写存储过程
在SQL Server 2000中,实际上只有一种创建存储过程的方法:即T-SQL语句。之前的每个SQL Server版本都采用这个程序。然而,在SQL Server 2005中,我们可以用.NET家族的语言——主要是VB.NET和C#来编写存储过程(以及方法、触发器和其它组件)。让我们来熟悉一下关于编写存储过程新方法的5个常见问题。它们是非常值得我们探讨的。 1、为什么我们必须使用CLR模原创 2009-07-25 11:00:00 · 1150 阅读 · 0 评论 -
用触发器对SQL Server数据库进行数据备份
首先,你需要建立测试数据表,一个用于插入数据:test3,另外一个作为备份:test3_bak 以下是引用片段: create table test3(id int primary key not null identity(1,1),uname varchar(20),uage int); create table test3_bak(id int primary key原创 2009-07-25 16:07:00 · 1106 阅读 · 4 评论 -
SQL Server数据库备份过程中经常遇到的九种情况
第一种情况: 有RAID,还需要做数据库备份吗? 回答:需要。有了RAID,万一部份磁盘损坏,可以修复数据库,有的情况下数据库甚至可以继续使用。但是,如果哪一天,你的同事不小心删除了一条重要的记录,怎么办?RAID是无能为力的。你需要合适的备份策略,把那条被误删的数据恢复出来。所以有了RAID,仍需要做备份集群,磁盘镜像同理。 第二种情况: 我们需要全备份+日志备份?原创 2009-07-25 16:11:00 · 2483 阅读 · 6 评论 -
SQL Server开发过程中的十种常见问题总结(1)
在SQL Server开发问题中你可能会问到的十个问题: 1、什么是常见的对表和字段的名字约束? 2、有没有可能在不了解T-SQL的情况下编写存储过程? 3、T-SQL中如何比较CLR存储过程和函数的性能? 4、我如何在一个存储过程中使用另一个存储过程产生的结果? 5、我如何解决SQL Server 2005的并发问题? 6、在SQL Server 2005中用什么工具替代原创 2009-07-26 08:40:00 · 1556 阅读 · 2 评论 -
SQL Server开发过程中的十种常见问题总结(2)
SQL Server 2005中的存储过程并发问题 我在SQL Server2005中遇到了并发问题。我持有车票的公共汽车上有一些空闲的座位。我在插入销售的查票之前,需要查看是否还有空闲的座位。我的存储过程做的事情如下所示:create PROCEDURE add_ticket — parameters DECLARE free_seats int BEGIN TRANSA原创 2009-07-26 08:42:00 · 1011 阅读 · 0 评论 -
实例操作 教你玩转SQL Server存储过程(二)
实例1:只返回单一记录集的存储过程。 表银行存款表(bankMoney)的内容如下: 要求1:查询表bankMoney的内容的存储过程 create procedure sp_query_bankMoney as select * from bankMoney go exec sp_query_bankMoney 注* 在使用过程中只需要把中的SQL语句替换原创 2009-07-24 15:05:00 · 781 阅读 · 0 评论 -
SQL Server数据库导入导出数据方式比较(一)
在我们建立一个数据库时,并且想将分散在各处的不同类型的数据库分类汇总在这个新建的数据库中时,尤其是在进行数据检验、净化和转换时,将会面临很大的挑战。幸好SQL Server为我们提供了强大、丰富的数据导入导出功能,并且在导入导出的同时可以对数据进行灵活的处理。 在SQL Server中主要有三种方式导入导出数据:使用Transact-SQL对数据进行处理;调用命令行工具BCP处理数据;使原创 2009-07-24 17:25:00 · 890 阅读 · 0 评论 -
SQL Server 2005 数据转换服务的常见设计问题
本文回答了有关 SQL Server 2005 中的数据转换服务的某些常见问题,特别回答了某些设计问题,这是关于“为什么”而不是关于“如何”的常见问题。 为什么传输几千个表的数据时向导会失败?当前的向导体系结构会创建一个 DTS 软件包数据流以传输数据。但如果要处理几千个表,则会遇到可伸缩性限制。我们认为这是合理的,因为软件包设计人员不太可能在一个数据流中使用几千个源和几千个目标。B原创 2009-07-25 09:21:00 · 961 阅读 · 0 评论 -
在SQL Server 2005数据库中实现自动备份
在SQL Server 2005数据库中实现自动备份的具体步骤: 1、打开SQL Server Management Studio 2、启动SQL Server代理 3、点击作业->新建作业 4、"常规"中输入作业的名称 5、新建步骤,类型选T-SQL,在下面的命令中输入下面语句(请根据自己的实际情况更改,D:/sql2005//back/改为自己的备份路原创 2009-08-11 15:12:00 · 836 阅读 · 0 评论 -
浅析SQL Server三大算法的I/O成本
1. Nested Loop Join(嵌套循环联结)算法:其思路相当的简单和直接:对于关系R的每个元组 r 将其与关系S的每个元组 s 在JOIN条件的字段上直接比较并筛选出符合条件的元组。写成伪代码就是:代价:被联结的表所处内层或外层的顺序对磁盘I/O开销有着非常重要的影响。而CPU开销相对来说影响较小,主要是元组读入内存以后(in-memory)的开销,是 O (n *原创 2009-08-18 18:03:00 · 900 阅读 · 0 评论 -
SQL Server日志清除的两种方法
在使用过程中大家经常碰到数据库日志非常大的情况,在这里介绍了两种处理方法…… 方法一 一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大。 1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击原创 2009-08-20 10:58:00 · 907 阅读 · 0 评论 -
存储过程实现SQL2005查询Access数据库
创建存储过程RemoteJetQuery: CREATEPROCEDURE [dbo].[RemoteJetQuery]@TableOrQueryStringint=1,@Provider_Namenvarchar(30)=N'Microsoft.Jet.原创 2010-06-05 10:58:00 · 2114 阅读 · 5 评论