数据库' master'中的CREATE PROCEDURE权限被拒绝

时间:2014-07-09 05:48:08

标签: sql sql-server stored-procedures

我在sql server中创建程序,我的代码如下

CREATE PROCEDURE GetRegistrationId
( 
  @MaxId INT OUTPUT 
)
AS
BEGIN
  SELECT @MaxId = MAX(UserId)  FROM tblRegistration;
return;
END

但是错误说

  

数据库'master'中的CREATE PROCEDURE权限被拒绝。

3 个答案:

答案 0 :(得分:8)

试试这个:

USE <Your Database Name>
GO

CREATE PROCEDURE GetRegistrationId(@MaxId INT OUTPUT)
AS
BEGIN
  SELECT @MaxId=MAX(UserId)  FROM tblRegistration;
RETURN;
END

OR

  

选择&#34; 您的数据库名称&#34;从工具栏( SQL编辑器)然后执行过程

Select your DB

答案 1 :(得分:5)

尝试以下任何技巧。

在创建过程语句之上写下此USE [YOUR_DBNAME]

USE [YOUR_DBNAME]
GO
CREATE PROCEDURE GetRegistrationId
( 
  @MaxId INT OUTPUT 
)
AS
BEGIN
  SELECT @MaxId = MAX(UserId)  FROM tblRegistration;
return;
END

在SQL Server中,在SQLQuery Editor从可用的数据库下拉列表中选择目标数据库并执行存储过程。

如果您仍然遇到任何问题,请在下面进行评论。

答案 2 :(得分:1)

将上下文切换到您的数据库将是最好的方法。硬编码

USE <YourDB>

在程序开始时,或者使用完全限定名称来包含数据库名称将使SP不那么便携