2011-07-19 67 views
0

使用以下內容具有Sql腳本文件名spCreation.sql。在SQLCmd.exe中需要說明

CREATE PROCEDURE dbo.usp_select_customers 
as 
Begin 
    SELECT EMP.NAME, EMP.ID FROM analysis.customerDB.dbo.employeetbl 
END 

打開此文件並執行Queryanalyser,而無需創建一個鏈接服務器的「分析」它不是throughing成功執行任何錯誤和查詢。

通過sqlcmd執行相同的sql文件,如下命令提示符。

SQLCMD -s [服務器] [數據庫] [登錄] [密碼] spCreation.sql

它拋出一個異常的通知服務器。 任何一個可以解釋sqlCmd執行行爲和查詢分析器執行行爲如何?

錯誤信息如下

消息7202,級別11,狀態2,服務器VIJAY-PC,程序usp_select_customers,4行無法在sys.servers找不到服務器 '分析'。驗證是否指定了正確的服務器名稱。如有必要,請執行存儲過程sp_addlinkedserv er將服務器添加到sys.servers。

+0

請發佈錯誤代碼和消息,你得到,不必讓它成爲我們猜測的神祕小說... –

+0

Msg 7202,Level 11,State 2,Server VIJAY-PC,Procedure usp_select_customers, Line 4 在sys.servers中找不到服務器'分析'。驗證是否指定了正確的服務器名稱 。如有必要,請執行存儲過程sp_addlinkedserv er將服務器添加到sys.servers。 – VIJAY

回答

0

運行在SSMS查詢給出了同樣的錯誤:

Msg 7202, Level 11, State 2, Procedure usp_select_customers, Line 4 Could not find server 'analysis' in sys.servers. Verify that the correct server name was specified. If necessary, execute the stored procedure sp_addlinkedserver to add the server to sys.servers.

所以問題不是SQLCMD或者SSMS的區別,它必須是別的東西。例如,你正在運行在不同的機器上,或者你不要在SSMS中運行它,只需檢查語法。

+0

是的,現在它在SSMS上也顯示出同樣的異常。之前,我刪除了鏈接服務器,並在相同的查詢分析器窗口中執行了該過程。現在我關閉previouse實例,並打開一個新的實例執行相同的查詢來拋出異常。 – VIJAY