2012-01-03 10 views
6

SQL Server2002にデータベースのバックアップを作成しました.SQL Server 2008 R2に新しいデータベースを作成しました。sql server giving error:は認識された関数名ではありません

今私は、ビューを実行すると、私はエラーを取得:

'function_name' is not a recognized function name. 

機能が があると、それが正しく機能しているときに私が

SELECT [dbo].[function_name] (
    'hjh') 
GO 


SELECT dbo.function_name('kjk') 

を使用してそれを実行することができますなぜこの問題が発生しますもともと?

EDIT:

私はDBOの下で、ユーザが所有するスキーマがantyhing含まれていないとして、それはセキュリティ上の問題かもしれないと思いますか?

+0

のように呼び出す必要があります。 –

答えて

13

正しいデータベースコンテキストで実行していることを確認してください。

ビューがDatabase2にあり、機能がDatabase1である、あなたは完全に3つの部分名を使用して機能を修飾する必要がある場合:

Database1.dbo.[Function_Name]

ビュー内のすべてのオブジェクトがであると仮定されます特に指定しない限り、ビューと同じデータベース。

+0

はいそれはそうです – Beginner

+1

@Beginner - あなたはもっと具体的になりますか?どのようなものですか? – JNK

3

ビューは機能と同じデータベースにありますか? そうでない場合は、[database_name].dbo.[function_name]

+0

はいビューは同じdbにあります – Beginner

関連する問題