Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 在SQL Server 2008中获取幽灵般的错误_Sql Server - Fatal编程技术网

Sql server 在SQL Server 2008中获取幽灵般的错误

Sql server 在SQL Server 2008中获取幽灵般的错误,sql-server,Sql Server,似乎我在尝试建立关系时遇到了冲突,因为我的数据库中有一个表,然后被删除了。该表未显示在对象资源管理器中,但错误为“发生异常,新名称已用作对象名称,并将导致重复”。在何处删除对对象的所有引用,而不仅仅是表名称。数据库中可能有另一个具有该名称的对象。跑 SELECT * from sys.objects where name = 'YourName' 看看会出现什么。(“对象”包括表、视图、过程、函数、默认值和许多其他模糊的东西。)每次运行脚本时,我都会遇到相同的错误,该脚本要求删除一个表,然

似乎我在尝试建立关系时遇到了冲突,因为我的数据库中有一个表,然后被删除了。该表未显示在对象资源管理器中,但错误为“发生异常,新名称已用作对象名称,并将导致重复”。在何处删除对对象的所有引用,而不仅仅是表名称。

数据库中可能有另一个具有该名称的对象。跑

SELECT *
 from sys.objects
 where name = 'YourName'

看看会出现什么。(“对象”包括表、视图、过程、函数、默认值和许多其他模糊的东西。)

每次运行脚本时,我都会遇到相同的错误,该脚本要求删除一个表,然后立即将另一个表重命名为相同的名称,并在另一个论坛中遇到此建议:

重命名时,将架构保留在新表名之外:

sp_RENAME '[schema.OldTableName]' , '[NewTableName]'
我无法解释它为什么工作,但它确实保存了我的代码


(归功于:Rhomeroo on)

帮助我的解决方案:
先决条件:
我需要将“dbo.spAddUser”重命名为“dbo.sp_AddUser”

我做了什么:
右键单击“dbo.spAddUser”->修改。
复制所有代码。
右键单击“dbo.spAddUser”->Delete.
添加新程序。
粘贴复制的代码并将“Alter”替换为“Create”,并更正过程名称。
执行


成功

你有同义词吗?你检查过sys.tables表了吗?没有,我没有使用任何同义词。同义词不是对象——或者至少,在sys.object表中找不到它们,它们有自己的子系统。这是非常令人恼火的,当您试图找出是什么击中了您的数据…这确实返回了一个名称冲突的对象。我应该从哪里删除这个坏小子来避免这些错误?它说这是一个表,但它没有显示在数据库中的其他表中,为什么会出现这种情况?是否可能您对该表没有权限?你是以DBO身份登录的吗?这是我个人在笔记本电脑上的SQL Server副本,所以没有。不过,我一直收到这些有趣的错误。我放下了表,去做一个数据库图,表仍然出现在图中,这给了我们什么?我运行了一次drop表查询,结果成功,再次运行失败(对象不存在)。那么为什么它仍然可以添加到图表中呢?可能是不同模式中的相同表名?它是否列在系统表中?在sys.objects中,它是什么类型(或类型描述)的对象?在偶然的情况下,您可能会对正在使用的数据库甚至服务器感到困惑。(不太可能……但我10分钟前才这么做……)