我有這個功能稱爲fn_blah
駐留在Master
數據庫的SQL Server 2000框。同一個函數駐留在SQL Server 2008框的master
數據庫中。在SQL Server 2000中框,函數運行在不同的數據庫環境下就好了,而無需指定所有者(例如DBO):用戶定義的函數將不執行
User OtherDB1;
EXEC fn_blah;
但在SQL Server 2008中框,上面的查詢將無法正常工作。如果將數據庫上下文更改爲master
,那麼運行起來就像上面那樣運行。或者你執行以下操作:
EXEC master.dbo.fn_blah
以前有人看過這種行爲嗎?任何幫助表示讚賞。謝謝!
**不要把用戶對象放在主內。**問題解決了! – JNK 2012-03-01 19:59:25
有變化,如何架構和所有者的處理從SQL Server 2000將SQL Server 2005的,我不記得他們,但如果你看看微軟的網頁上的兩個(應該有文檔之間的變化你應該能夠看到它爲什麼會發生變化,但是既然你知道如何讓它在兩個方面都起作用,它真的值得你付出什麼努力? – David 2012-03-01 20:01:54
你的上下文有點混亂。你在說你正在用* EXEC *調用*函數? – 2012-03-01 20:08:43