发布时间:2019-08-03 23:26:18
如数据库连接
数据库实验中遇到的问题以及解决方法
数据库实验中遇到的问题:
1、 一个表有两个主码时要按住ctrl选择;
2、起别名时,当别名中没有空格时可以用as也可以不用,如:sno xh和sno as xh都是对的;如果有空格则可用单引号或中括号把别名括起来;
3、在往表中填入数据时,要注意参照完整性。应该最后输入外码,否则保存不了;
3.只有表的拥有者才可以在表上创建触发器
4.在SQL2005中,创建触发器语句中,不能用before,只识别after;
5.创建触发器中,系统会临时生成一个inserted或deleted表。
6.设置外键时,在被参照的关系那组属性一定是码,否则会出现错误。
7.设置视图时,要关闭了工作空间已经建立的表,否则点击视图时新建视图的键是灰色的,不能建立。
8.当设置表头时如果有错,无法向表中添加正确数据,改了表头后要关闭原来的添加表,重新打开,否则还是原来的错误。
9.给用户授权前应先创建用户;
10.Management Studio中的两种验证模式设置法,都需要重新启动SQL Server后才能生效;
11.软件有windows版的和vista版的,要根据系统类型安装。
12.系统的数据库不能随便删除。
13.要把文件中的表格复制下来要先断开连接,否则会出现错误。
14.数据类型因不匹配而发生错误
15.身份验证改为SQL Server时,输入登录名后,进行测试时,会出现测试已注册的服务器
失败。直接用Windows身份验证。
16.要想自己设置登录名和密码必须先进入SQL Server。
17.在实验过程中,在创建时出现问题,如在创建表的过程中,由于在建立时没有注意到表与表之间的相互关联,可能建立表要在建立另一个表的基础之上的,所以建表的顺序一定要对,否则就会有出错的提示!在删除过程中也一样,在建立好三个表之后,删除,以及其他操作,如增加,修改,都要满足三个表之间的制约关系才行!否则不会成功!
18.问题:在用SQL语句创建表时,新表在系统数据库下
解决:在新建查询页面,工具栏执行按钮的左边是可以选择可用数据库,改变数据库后,新表创建于改变后的数据库下。
19.问题:在Studnt、Course、SC表之间建立依赖关系时出错
原因:在建立这三个表时,Student表中的类型值改变过,而另两个表全是默认的,类型不同导致出错。
20.问题:在建立过视图后的表中修改依赖关系出错
原因:视图是依赖于基本表的,修改基本表中列的依赖关系会导致视图依赖关系出错。
21.在登陆管理操作中,当删除登陆名时,系统给出提示:删除服务器登陆名并不会删除与该登陆名关联的数据库用户。若要完成此过程,请在每个数据库中删除用户。在第一次将架构所有权转移到新用户时,这可能是必须的。(尚存问题)
22.问题:恢复数据库时,提示尚未备份日志尾部,所以无法完成恢复。
原因分析:这是因为在线还原的数据库在最后备份后又产生了新的日志,所以按照默认设置的备份选项,系统将提示备份日志尾部以免造成事务中断。
解决方法:如果需要备份尾部日志则进行备份。如果不需要,则可以在还原数据库的选项卡中选择“覆盖现有数据库”。
23:用Windows身份验证模式进入数据库后创建SQL server身份登陆用户,新用户无法登陆。
解决方法:首先将数据库的服务器模式改为SQL server 和Windows 身份验证模式,然后再重新启动服务器,这样再创建出的SQL server 用户就可以用SQL server 验证模式登陆了。
24:在某一数据库中创建新用户时,登陆名选择的不对,导致无法创建。
原因:每个登陆名只可以在一个数据库中创建一个用户。
25.在给用户授予列INSERT权限的时候,一定要包含主码的INSERT权限,否则用户的插入操作会因为主码为空而被拒绝;
26.对列的UPDATE权限,在进行列值修改时还要遵守表在创建的时候定义的主码及其他约束;
27.使用角色来管理数据库权限可以简化授权的过程;
28.如果用户将权限授予了其他用户,对用户收回权限时,必须使用级联收回,不然系统会出错,拒绝执行命令。
29.Select子句的<目标列表达式>如果不是表中的属性列,则查找结果显示的是“无列名”;