数据库实验中遇到的问题以及解决方法

数据库实验中遇到的问题:

 

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子句的<目标列表达式>如果不是表中的属性列,则查找结果显示的是“无列名”;

 

30.用SQL语句创建表后,在表上右击“刷新”,可以看到创建的表;

 

31.设置外键时,在被参照的关系的属性应为主码。

 

32.在实验过程中,由于输入法的问题,输入的字符可能不一样,在进行查询操作时一定要切换到合适的输入法,否则可能使查询语句无效或错误。

 

33. 角色删除不成功,原因:必须为空时才能删除。

 

34. 其中定义表与表之间的关系、定义约束感觉比较陌生,而使用了默认值之后,向表中插入记录时却无默认值。

 

35.定义索引时需要将所有打开的表窗口关闭后方可定义。

 

36.当使用指导书中给出的程序时,经过分析有错误;查看原因时发现是数据库的存储路径的不同导致出错!

 

37.在新建|服务器注册时,在“常规”选项卡中输入将要注册的服务器名称,然后单击图1-2界面中的“测试”按钮;此时显示(TITLE: New Server Registration):

——————————

Testing the registered server failed. Verify the server name, login credentials, and database, and then click Test again.

——————————

ADDITIONAL INFORMATION:

在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 – 无法打开到 SQL Server 的连接) (Microsoft SQL Server, Error: 1231)

   但如果从服务器名称的下拉框中选择一个,再次点击测试按钮;则出现图1-4所示界面,表示连接属性的设置是正确的。

 

    原文作者:weixin_34187822
    原文地址: https://blog.csdn.net/weixin_34187822/article/details/86382929
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞