我在模式“ID”中的链接服务器(托管服务器)上有一个名为“Application”的表。 我正在尝试使用sp_help
查看相同的详细信息。在链接服务器上调用sp_help
但我无法做到这一点。 问题是: 1. sp_help在架构dbo
中。 (很明显!) 2.但我的表在另一个架构中名为ID
。 (例如select * from ID.Application)
我已经将链接的服务器添加到我的本地sql server管理工作室。 并试图:
exec [198.198.198.198].[sms].[dbo].sp_help applicantion
exec [198.198.198.198].[sms].[dbo].sp_help id.applicantion
exec [198.198.198.198].[sms].[dbo].sp_help sms.id.applicantion
'短信' 是我的链接服务器上的数据库。
结果:语法错误。
我想:SQL using sp_HelpText to view a stored procedure on a linked server
但我的问题是2个不同的架构。
有什么建议?
太棒了!引号''解决了这个问题。谢谢。 但通常sp_help没有引号。为什么在远程服务器上需要引号? – Aki
根据http://technet.microsoft.com/en-us/library/ms187335.aspx,语法是:sp_help [[@objname =]'name']; SQL Server有时候太宽容了。有时候不是:) – dean
@Aki通常,'sp_help'需要'nvarchar'作为输入参数,所以应该使用引号,即使在某些情况下它可以在没有引用的情况下工作。因为远程服务器,这里没有必要引用这些引用,但是由于有一个模式名称。没有报价的'exec sp_help id.applicantion'也不能在本地服务器上工作。 –