学习sql server中出现的一些问题(一)

本文分享了在使用SQLServer2008过程中遇到的三个常见问题及其解决方案,包括新建索引菜单不可用、外键约束错误以及找不到数据库对象的问题,提供了重启管理工具、调整字段属性和检查权限等实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在学习sql server2008中遇到了一些问题,和大家分享一下


在sql server2008数据库表中,“新建索引”菜单是灰色的

这种情况可能只出现在部分表中,比如我有一个course和student表,在course表中,“新建索引”的菜单是灰色的,但是在student表中又可以。出现这种情况,我们可以将SQL Server Managerment Studio重启就可以了。


比如我们想将student中的spno字段作为course的外键,但是一直报错:
/*消息 1776,级别 16,状态 0,第 1 行
在被引用表 'student' 中没有与外键 'fk_studentcourse' 中的引用列列表匹配的主键或候选键。
消息 1750,级别 16,状态 0,第 1 行
无法创建约束。请参阅前面的错误消息。
*/


这种情况下,我们要不将student中的spno作为主键(primary key),要不给spno设置为唯一(UNIQUE)

 


sql server中找不到对象 "Student",因为它不存在或者您没有所需的权限.
明明就已经建好了student表,但是却报这种错误。

刚开始对于这个错误,我是将我写的“新建查询”语句那里,删掉,将student表再保存一下,然后再重新新建查询语句,就可以以。
具体的解决方法不太记得了。

我在帖子中看到的是:
1、查看你SQL Server登陆用户的权限,然后你在SQL里面执行insert 或者update操作  你看这两个在SQL的查询分析器里面执行会不会出现这样的问题,如果没有,可能是程序那边的配置用户调用出现了混乱。

2、在查询语句之前输入    user 数据库名;
                                          go
(我试了一下,还是不行,但如果你们遇到这种问题,可以试试这种方法)

3、当前库中存储过程,一般drop前可以先进行对象存在判断
if object_id(N'add_staff',N'P') is not null  drop proc add_staff

还有一种最极端的方法,emmm,删掉表,重来!!!


本文不间断更新~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值