我被要求对旧的 asp-classic 应用程序进行一些更改。生产服务器和他们用于测试和开发的服务器或 20 多个路由器之外的服务器以及我打字和看到类型之间的延迟时间是可怕的。所以我在这里设置了一个服务器,就像他们的(MS Server 2008)安装了MS SQL Server 2008 R2。我以为我像他们一样配置了我的数据库。他们有成千上万行的旧 vbscript。
我在远程端备份了测试数据库,将其复制到我的服务器并在那里恢复。我复制了他们已经完成的脚本正文。网站已启动并正在运行。但是....任何需要查询数据库的东西都会产生错误“无效的对象名称'atable'。查看他们的代码,任何地方都没有完全限定的名称。我登录到远程服务器启动Management Studio果然你不需要完全限定名称来进行任何查询。我问他们是否可以将所有代码更改为使用完全限定名称,答案是否定的。我问他们如何配置数据库,答案是前者承包商以这种方式设置它。(他们喜欢它)
所以我的问题;MS SQL Server 2008 中是否有默认不使用完全限定名称的配置选项?他们怎么能在代码中不使用数据库、所有者、模式?我以应用程序用户身份登录,这似乎也无济于事。
拜托,我知道我们应该使用完全限定名称作为最佳实践。我已阅读有关性能收益/损失的评论。当您自动编写创建数据库脚本时,他们的数据库实例使用模式名称。如果我使用该模式名称来为表名添加前缀,那么一切都很好。他们只是不希望我在我为他们编辑或创建的任何脚本中这样做。