0

我对 SQL 还是很陌生,所有与我相似的相关问题都没有澄清任何事情。我的问题是:我们有一个广泛使用的管理软件,它可以使用 MDB 或 SQL。前段时间,我将 MDB 迁移到一个新的 SQL 服务器实例,这个设置已经运行了一段时间了。我不再有 Access 数据库的一些缺点。

现在,我们正在使用的一个新软件连接到同一个数据库以附加数据。它也可以设置为 MDB 或 SQL 模式。问题是,当该软件解决方案设置为 SQL 模式时,它找不到表,因为它们都有 dbo。作为前缀。它现在在管理工作室中读取 dbo.tbl(tablename) 而不是 tbl(tablename)。如果我将数据库转换回 MDB 格式,则表可以正常读取,并且这个新的软件解决方案可以在 MDB 模式下正常读取表。这让我很沮丧,因为这种类型的每个线程都解释了一些关于 SQL 模式和所有权的东西,但这一切都很模糊。我想如果我可以删除dbo。数据库中所有对象的前缀,这个新的软件解决方案可以再次找到表,主要的管理软件也应该。

请注意,就 SQL 而言,我是新手

4

1 回答 1

1

每个表都必须属于 SQL Server 中的一个模式;一个传统的假设是 dbo 是默认值,这听起来像是您的迁移脚本将所有表分配给了。您需要确保连接到 SQL 数据库的帐户可以访问 dbo 架构(通常它会拥有该架构)。

于 2014-03-18T14:13:30.480 回答