数据库
文章平均质量分 63
xiaoyong322
从事业务系统开发。乐于交游。
展开
-
解决数据库无有效拥有者问题
问题:在选择数据库关系视图的时候提示: “此数据库没有有效所有者,因此无法安装数据库关系图支持对象。若要继续,请首先使用“数据库属性”对话框的“文件”页或 Alter AUTHORIZATION 语句将数据库所有者设置为有效登录名,然后再添加数据库关系图支持对象。 ” 解决方法: 第一步: 设置兼容级别为90(2005为90)(一开始我没注意,就原创 2009-04-10 22:38:00 · 683 阅读 · 0 评论 -
Partition in Sql Server
What is PartitionPartitioning is the database process or methodwhere very large tables and indexes are divided in multiple smaller原创 2011-07-04 16:23:59 · 1169 阅读 · 0 评论 -
SqlTransaction.Dispose,RollBack ?
一个体会记在此:SqlTransaction.Dispose 如果之前没有提交事务,譔方法就会调用RollBack(Will rollback if not commited )。之前写的代码: using (SqlConnection conn = dbo.CreateCo原创 2011-07-14 14:58:56 · 1729 阅读 · 0 评论 -
数据库 索引优化
概念:聚焦索引:表中存储的数据按照索引的顺序存储,检索效率比普通索引高,但对数据新增/修改/删除的影响比较大非聚焦索引:不影响表中的数据存储顺序,检索效率比聚集索引低,对数据新增/修改/删除的影响很小如何让你的SQL运行得更快 ---- 人们在使用SQL时转载 2011-09-14 22:49:22 · 641 阅读 · 0 评论 -
存储过程与函数的区别
存储过程(用户定义的存储过程)和自定义函数(用户定义的函数)的区别:存储过程,功能强大,可以执行包括修改表等一系列数据库操作,也可以创建为 SQL Server 启动时自动运行的存储过程。自定义函数,用户定义函数不能用于执行一组修改全局数据库状态的操作。转载 2011-09-26 11:20:56 · 528 阅读 · 0 评论 -
sql server 2005 外围应用配置器错误 - 计算机 localhost 在网络上不存在,或无法远程配置该计算机
问题sql server 2005 外围应用配置器错误 - 计算机 localhost 在网络上不存在,或无法远程配置该计算机.....可能存在的原因 1. 检查一下 windows下的system32 中是否有framedyn.dll这个系统文件,如果没有到system32 下的wbem文件中拷贝framedyn.dll到system32 目录下。 2原创 2011-11-23 17:08:46 · 1902 阅读 · 0 评论 -
Sql Server 中的=null与is null
首先明白一件事当我们在 sql server 中用 DECLARE 申明一个变量时, sql server 将会把变量存储在SQLs 内存空间的变量列表区域(variable table),变量列表中包含了变量的名称和存储地址。然而如果我们在创建变量的时候并没有给变量赋值的话,sql server是没有为变量分配内存的,因此变量并没有在内存中被定义。然后当你用 SET 关键字给变量赋值原创 2011-11-25 10:36:11 · 1384 阅读 · 0 评论 -
插入多条记录事务:避免拼串
删除多条记录事务: using (DbConnection conn = IDataAccess.CreateConnection) { conn.Open(); using (DbTransaction tran = conn.BeginTransaction())原创 2011-11-09 09:31:11 · 1734 阅读 · 0 评论 -
SqlServer嵌套事务机制 测试
SqlServer 事务相关:《嵌套事务(一):.NET中嵌套事务运用的一点思考》 《嵌套事务(二):SqlServer中嵌套事务使用》 《 SqlServer嵌套事务机制 测试 》今天我们主研究一下SqlServer中嵌套事务使用。代码能说明大多数问题,看代码。1.嵌套事务提交原理测试PRINT 'Tranco原创 2012-03-15 09:31:39 · 2846 阅读 · 1 评论 -
嵌套事务(一):.NET中嵌套事务运用的一点思考
说实际情形:由于一个操作中分两步完成,不妨定义为 Method1(),Method2()。只有当一两步都成功执行时,整个操作才算完成,否则要回滚所有数据。 一开始,我的实现思路是: Operate() { 创建事务连接,开始事务….. If(Method1()成功&& Method2()成功)原创 2010-06-21 17:11:00 · 2908 阅读 · 0 评论 -
SQL Server死锁总结
1. 死锁原理 根据操作系统中的定义:死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所站用不会释放的资源而处于的一种永久等待状态。 死锁的四个必要条件:互斥条件(Mutual exclusion):资源不能被共享,只能由一个进程使用。请求与保持条件(Hold and wait):已经得到资源的进程可以再次申请新的资源。非剥夺条件(No p转载 2012-04-21 17:45:46 · 721 阅读 · 0 评论 -
嵌套事务(二):SqlServer中嵌套事务使用--事务计数指示 BEGIN 和 COMMIT 语句的数目不匹配 --根本问题
序:老早以前,写过一篇《嵌套事务(一):.NET中嵌套事务运用的一点思考》 2011 -12 -2 日 新加部分 今天又遇见了以前遇到的问题,一个聪明的人不应该将同一个错误出现两次错误,但事实上来,在我身上出了好几次,就其原因是对SqlServer 事务的提交与回滚没有深刻的认识。问题:1. System.Data.SqlClient.SqlException (0x8013190原创 2011-06-15 14:29:00 · 6488 阅读 · 2 评论 -
查询数据库-字段-表是否存在 sqlserver
USE mastergo/*查询数据库是否存在*/select * From master.dbo.sysdatabases where name='Game_Card' and Status /* 但在实际使用中,需判断Status状态位:其中某些状态位可由用户使用 sp_dboption(read only、dbo use only、single user等)进行设原创 2010-05-22 09:05:00 · 2985 阅读 · 0 评论 -
T-SQL 查询优化
用了很多年的Sql Server 但一直没有静下来去研究它的内部机制。现在开始研究,由于是读书笔记,还没有足够能力将其系统化,随着了解的深入,会逐步系统化T-Sql 查询方面的理论。并结合自己工作的实践。期待这个系统完篇。原创 2012-07-31 08:50:15 · 123 阅读 · 0 评论 -
Partition in Sql Server
What is PartitionPartitioning is the database process or methodwhere very large tables and indexes are divided in multiple smaller原创 2011-07-04 15:38:00 · 143 阅读 · 0 评论 -
Sql Server 存储过程调用存储过程接收输出参数,返回值
1,带输出参数创建存储过程:ALTER PROCEDURE [dbo].[GetCustomers] (@rowcount INT OUTPUT) AS SELECT [CustomerID] ,[CompanyName] ,[ContactName] ,[ContactTitle]转载 2011-06-15 11:33:00 · 1239 阅读 · 0 评论 -
表连接的情况(粗记)
两个表的连接情况。 两表连接一定要有连接条件。因为两表肯定不是一表,呵呵。先讨论两表的情况。因为....内连接简单例子:Select * from A,B where A.Id=B.Id use Northwind select a.OrderID,b.Quantity from [Orders] a,[Order Details] bgo原创 2009-04-12 17:41:00 · 652 阅读 · 0 评论 -
游标的使用
在数据库开发过程中,当你检索的数据只是一条记录时,你所编写的事务语句代码往往使用SELECT INSERT 语句。但是我们常常会遇到这样情况,即从某一结果集中逐一地读取一条记录。那么如何解决这种问题呢?游标为我们提供了一种极为优秀的解决方案。 1.1 游标和游标的优点 在数据库中,游标是一个十分重要的概念。游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从转载 2009-12-13 10:31:00 · 561 阅读 · 0 评论 -
SqlServer 时间函数的应用(DateDiff )
DateDiff DateDiff: SQL server函数 返回 Variant (Long) 的值,表示两个指定日期间的时间间隔数目。 语法 DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]]) DateDiff 函数语法中有下列命名参数: 部分 描述 int原创 2009-12-13 10:39:00 · 916 阅读 · 0 评论 -
数据库锁机制
<br /> SQL Server更强调由系统来管理锁。在用户有SQL请求时,系统分析请求,自动在满足锁定条件和系统性能之间为数据库加上适当的锁,同时系统在运行期间常常自动进行优化处理,实行动态加锁。对于一般的用户而言,通过系统的自动锁定管理机制基本可以满足使用要求,但如果对数据安全、数据库完整性和一致性有特殊要求,就需要了解SQL Server的锁机制,掌握数据库锁定方法。<br /> <br /> 锁是数据库中的一个非常重要的概念,它主要用于多用户环境下保证数据库完整性和一致性。我们知道,多原创 2010-07-05 18:34:00 · 624 阅读 · 0 评论 -
例外被抛出且未被接住--服务端与客户端隐藏
<br /><br />例外被抛出且未被接住。<br /><br /> <br /> <br /><br />做了什么出现了这个?<br /> <br />点击一个CheckBox按键,引发了一个服务器事件:<br />在这个事件里面做了什么?<br /> <br /> this.divcontent.Visible = false;<br /> this.divheader.Visible = false;<br /> <br />在前端写了js原创 2010-08-09 10:16:00 · 1099 阅读 · 0 评论 -
GUID
<br /> GUID(Global unique identifier)全局唯一标识符,GUID(Global unique identifier)是由网卡上的标识数字(每个网卡都有唯一的标识号)以及 CPU 时钟的唯一数字生成的的一个 16 字节的二进制值。<br /> GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字。例如:6F9619FF-8B86-D011-B42D-00C0转载 2010-12-14 12:17:00 · 875 阅读 · 0 评论 -
Select Into & Insert Select --SQL
Select Into & Insert Select 常用于将一个老表的数据放到另一个地方。准备工作<br />-- 源数据表<br />createtable #Source(id varchar(20)notnullprimarykey,description varchar(60));<br /> <br />-- 待插入的表<br />createtable #Target(id varchar(20),description varchar(60),other varchar(10));<br原创 2010-10-27 15:21:00 · 618 阅读 · 0 评论 -
从char 数据类型到smalldatetime 数据类型的转换导致smalldatetime 值越界
<br />SQL:<br />select*from dbo.pds_operation_log where( plan_code=12 and create_time between'1900-01-01'and'2098-12-31')orderby create_time asc<br /> <br />出错:<br />消息296,级别16,状态3,第1 行<br />从char 数据类型到smalldatetime 数据类型的转换导致smalldatetime 值越界。<br /><br原创 2010-11-09 15:31:00 · 3534 阅读 · 0 评论 -
SQL:(Group by 中 )取某极值的其他数据项
<br />/*案例:SQL:(Group by 中)取某极值的其他数据项<br /> 描述:取某极值的行的其他数据项。<br /> 如下:取每个广告位涉及单个游戏中 点击时间最大的 其他数据项(登录、激活数据等)<br />*/<br />--方法:子查询<br />selectmax(ccr.ad_click_time)/*极值*/,ccr.ad_space_code,ccr.ad_game_id,<br />(selecttop 1 B.active_countfromstat_ads_continu原创 2011-01-07 09:52:00 · 1352 阅读 · 0 评论 -
SqlBulkCopy—将数据表一次性复制到指定的数据表中
需求点<br />将一个List对象,批量(一次性)插入数据库中。思路:<br />1 将List<T>转换为对应的DataTable<br />1.1 生成表结构<br />1.2 插入数据到表中<br />2 将DataTable批量插入库中。<br /> 操作:1.1 生成表结构及插入数据<br /> <br /> ///<summary><br /> ///将对象List转换为DataTable<br /> //原创 2010-11-18 13:40:00 · 1095 阅读 · 0 评论 -
大数据表连接问题
<br /> <br />一个5000W数据表去连接一个3W的数据表,怎么来提高查询性能?下面提出了一种解决方案。<br /> <br />大致思路是:1 将表进行压缩,去掉此次查询不需要的数据。<br /> 2 将数据放入临时表,然后再给查询条件字段加索引。(这是关键点)<br /> 3 将临时表进行连接查询。<br /> <br />实例:page_visit_log 5000W数据, china_ip_detail 3W 数据。<br /> <br />原创 2011-03-07 16:54:00 · 973 阅读 · 0 评论 -
数据迁移经验总结
概述公司经过多年的发展,数据库数据存储已经达到了使用年限,需要更改新的数据存储。随着年限的增加,数据也日益膨胀,用户、推广、客服等系统在庞大的数据中查询速度日益减慢,许多新的业务也因需要避免在海量数据中做查询而不得不另谋方法。为了达到未来一段时间内数据的安全、快捷,并适应以后的业务发展,对光宇社区数据库进行一次大规模的迁移升级。 [编辑]操作步骤及经验[编辑]前期工作创建新数据库AccountDB;AccountDB-Log;AccountDB-Freeze;CacheDB;AccountDB-FastMi原创 2011-03-07 17:10:00 · 488 阅读 · 0 评论 -
数据迁移案例
<br />概述<br />公司经过多年的发展,数据库数据存储已经达到了使用年限,需要更改新的数据存储。随着年限的增加,数据也日益膨胀,用户、推广、客服等系统在庞大的数据中查询速度日益减慢,许多新的业务也因需要避免在海量数据中做查询而不得不另谋方法。为了达到未来一段时间内数据的安全、快捷,并适应以后的业务发展,对光宇社区数据库进行一次大规模的迁移升级。 <br />操作步骤及经验<br />前期工作创建新数据库AccountDB;AccountDB-Log;AccountDB-Freeze;CacheDB;原创 2011-03-17 13:55:00 · 858 阅读 · 0 评论 -
SCOPE_IDENTITY和@@identity的区别
它们都返回插入到标识列中的值SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY 。IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回为任何会话和作用域中的特定表所生成的值。调用它时必须提供表示表名的字符型参数,你可以得到你想要的任何表的最后一个IDENTITY值,即使你的代码里没有插入动作。转载 2012-12-13 13:56:54 · 2100 阅读 · 0 评论