создать функцию возврата: у вас нет разрешения (SQL Server 2000) - PullRequest
2 голосов
/ 11 июля 2011

Я пытаюсь выполнить файл SQL, который делает это:

create function [finder].[fn_getName] (
...
)

Я получаю эту ошибку:

Указанное имя владельца 'finder' либо не существует, либо у вас нет разрешения на его использование.

Через несколько строк скрипт выполняет:

grant all on [finder].[fn_getName]
to myaccount

Что означает finder

Если finder должно быть User или Login, нужно ли создавать его перед выполнением этих строк?

USE master
GO
sp_addlogin 'finder'

Спасибо.

1 Ответ

3 голосов
/ 11 июля 2011

[finder] - это имя схемы.

Когда вы открываете страницу запроса в SQL Server, она обычно выбирает базу данных [master], поэтому вам нужно указать ей, в какой базе данных будет выполняться ваш запрос.Это можно сделать, выбрав базу данных в раскрывающемся списке «Доступные базы данных» или используя оператор USE перед выполнением других операторов запроса.

Например,

USE [finder]
GO

CREATE FUNCTION [dbo].[fn_getName] (
...
)
GO

GRANT ALL ON [dbo].[fn_getName] TO myaccount
GO
...