数据库
头头
这个作者很懒,什么都没留下…
展开
-
SQL SERVER 复合主键问题
有一个表有两个字段,ID1,ID2,将其设为联合主键,之后我想将另外一个表的一个字段的外键设为ID1,但会提示“与现存的主键或UNIQUE约束不匹配”。有没有解决的办法,还是SQL Server不允许这样?谢谢!不能外键只能对应主键或者唯一索引,如果你的id1唯一,可以设置唯一索引,再设置外键,但是,如果这样,你的主键(id1,id2)这样的设置正确吗?原创 2012-12-28 21:09:21 · 1090 阅读 · 0 评论 -
SQL SERVER 08 插入特殊字符串
UPDATE student SET Spic = 'F:\\test.jpg' WHERE SID ='030201'这样插入就插入了一个二进制文件想直插入字符串UPDATE student SET Spic = N'F:\test.jpg' WHERE SID ='030201'加个N搞定原创 2013-01-08 15:19:37 · 1030 阅读 · 0 评论 -
sql server登录名与数据库用户名dbo的差别
SQLSERVER要求在调用函数时,只有返回表值的函数可以不加所有者,否则必须加所有者名称,具体请参阅CREATE FUNCTION帮助.所以这又是一个我们要遵守的规则. 至于所有者是不是都是dbo,要看创建这个函数的用户是谁,在这一点上函数与表或存储过程没有任何区别,也就是说所有者就是创建她的用户. 我们常见的dbo是指以sa(SQLSERVER登录方式)或windows adm转载 2012-12-20 10:01:06 · 2820 阅读 · 0 评论 -
DBO 架构
1.dbo是一个构架(schema),在sql2005中,表的调用格式如下:“数据库名.构架名.表名”,同一个用户可以被授权访问多个构架,也可以被禁止访问某个或多个构架,这就是2005中提倡的“用户与构架分离”的概念.。在2005中,如果在创建表时没有指定构架(schema),那么系统默认该表的构架是dbo,所以会出现很多表名前自动加上dbo.字符样式 。2.dbo是每个数据库的默认用户,转载 2012-12-20 09:52:55 · 5251 阅读 · 0 评论 -
Sql Server 2005中的架构(Schema)、用户(User)、登录(Login)和角色(Role)
我相信很多人接触这些概念的时候一头雾水。要把这些概念理清楚真不是件容易的事,哪像原始社会,只要能分清楚什么能吃什么不能吃就行了。 但是我始终坚信,每一个概念的产生必然是因为碰到了无法解决的问题。换句话说,如果没有它,必然会导致某些问题难以解决。所以我想从这个角度切入,希望能把这几个复杂而暧昧的多角关系从最实用的角度来阐述清楚。 在问题的最初,我们假定的数据库什么都没有。 数据库对转载 2012-12-20 09:13:07 · 1152 阅读 · 0 评论 -
SQL SERVER中架构的理解
转载▼在sqlserver 2005中,可能大家在工作或学习的时候会经常发现这样一些问题,你使用一个账户在数据库中创建了一张表,却发现你自己创建的表却没有修改和查询的权限,这是一件很郁闷的事情,在sqlserver2000中却不存在这样的问题,那为什么在2005中会出现这样的事情,这样的设置可以带来哪些好处?其实导致这一问题的原因主要在于2005中多了一个新的概念—架构。转载 2012-12-19 21:15:37 · 700 阅读 · 0 评论 -
SQL Server中的服务器登录名,服务器角色,数据库中的用户名,数据库中的角色,数据库中的架构的区别联系,关系
服务器登录名:指有权限登录到某服务器的用户;服务器角色:指一组固定的服务器用户,默认有9组;登录名一定属于某些角色,默认为public服务器角色不容许更改登录后也不一定有权限操作数据库数据库用户:指有权限能操作数据库的用户;数据库角色:指一组固定的有某些权限的数据库角色;数据库架构:指数据库对象的容器;数据库用户对应于服务器登录名以便登录者可以操作数转载 2012-12-19 19:20:24 · 1066 阅读 · 0 评论 -
one of methods of query table a and table b
多表查询不需要建立CRecordset的派生类,直接用CRecordset就好了 CDatabase db; db.OpenEx("Driver={Microsoft Access Driver(*.mdb)};DBQ=C:\\temp\\onega.mdb;"); CRecordset rs(&db); rs.Open(AFX_D转载 2013-01-02 22:22:42 · 585 阅读 · 0 评论 -
SQL Server 聚集索引和非聚集索引的区别
聚集索引:物理存储按照索引排序非聚集索引:物理存储不按照索引排序优势与缺点聚集索引:插入数据时速度要慢(时间花费在“物理存储的排序”上,也就是首先要找到位置然后插入) 查询数据比非聚集数据的速度快 汉语字典的正文本身就是一个聚集索引。比如,我们要查“安”字,就会很自然地翻开字典的前几页,因为“安”的拼音是“an”,转载 2012-12-30 22:44:59 · 617 阅读 · 0 评论 -
SQL SERVER 的INSERTED DELETED 两张表
插入表(inserted)里存放的是更新前的记录:对于插入记录操作来说,插入表里存放的是要插入的数据;对于更新记录操作来说,插入表里存放的是要更新的记录。 删除表(deldeted)里存放的是更新后的记录:对于更新记录操作来说,删除表里存放的是更新前的记录(更新完后即被删除);对于删除记录操作来说,删除表里存入的是被删除的旧记录。原创 2012-12-30 21:38:06 · 923 阅读 · 0 评论 -
Using INSTEAD OF triggers in SQL Server for DML operations
ProblemI have created some views to provide limited data access for an application. Several of these views are composed of more than one table and there are problems while performing insert, delete,转载 2012-12-30 20:00:30 · 1195 阅读 · 0 评论 -
SQL Server2005中登录名、用户名、角色和架构之间的关系
SQL2005对2000进行了很大的改进,而用户关系这部分也变得相当复杂了,很多朋友都对此一知半解!下面,我将把我应用中总结的和大家分享下,先从概念入手,希望对不理解的朋友有点提示。今天我们要说的包括服务器登录名Server Login,服务器角色Server Role,数据库用户DB User,数据库架构DB Schema,数据库角色DB Role。以上几个名词应该从转载 2012-12-15 23:12:02 · 801 阅读 · 0 评论 -
SOCKET 攻击
我这里说的“Socket攻击”是指,用一台或N台肉机进行TCP连接,以此来消耗服务器程序的可用Socket。看了很多程序或组件的源代码,一般对客户端Socket管理是这样的:1、用一个TThreadList(只要是线程安全的列表管理都行)来存储连接成功的Socket:后文统称“Socket列表”2、服务器程序预设一个超时时间,比如10秒3、限制每个IP能连接的Soc转载 2013-05-16 00:23:31 · 1930 阅读 · 0 评论