mssql 2005中的对象名无效

时间:2012-09-06 14:17:03

标签: sql-server-2005 schema

我们目前的MSSQL 2005数据库存在问题。我们最近经历了从Windows Server 2003到2008的迁移.SQL Server一直保留为2005年。我正在使用SQL Server Management Studio进行工作。

数据库中的所有表格均采用以下格式:[SCHEMA]。[TABLE_NAME]

当我输入SQL时:

SELECT * FROM [table_name]

我收到错误消息:无效的对象名称'[table_name]'。

如果我输入:

SELECT * FROM [schema].[table_name]

这很好用。我们登录到数据库的用户名拥有所有表名前面的模式。

问题是,我们有第三方公司,它们拥有从数据库导出数据的软件。现在有2家公司试图运行他们的出口商,但却收到错误“无效的对象名称”。该软件使用拥有该架构的用户名登录。

我的问题与我在互联网上找到的问题完全相同: http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=99802

然而,关于这个问题的答案似乎充满了关键词而非实际句子,这使得它很难理解。

如果有人可以提供帮助,我们将不胜感激。

非常感谢

菲尔

1 个答案:

答案 0 :(得分:1)

将第三方用户名的默认架构设置为其未加前缀的引用应指向的架构:

ALTER USER foo WITH DEFAULT_SCHEMA = [bar];

(这与拥有架构不同。)

告诉他们正确编写软件。在SQL Server中,您应始终指定模式名称,即使您始终使用dbo