在数据库'tempdb'中拒绝CREATE TABLE权限 [英] CREATE TABLE permission denied in database 'tempdb'

查看:742
本文介绍了在数据库'tempdb'中拒绝CREATE TABLE权限的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我第一次在系统上安装SQL Server Management Studio Express和Visual Studio 2005。现在,我尝试使用以下脚本创建表。但是,如果执行一次,我将遇到类似

First time I installed SQL Server Management Studio Express and Visual Studio 2005 on my system. Now I am trying to create table by using below script. But if once I execute I am facing error like


CREATE TABLE权限在
数据库'tempdb'中被拒绝的错误。

CREATE TABLE permission denied in database 'tempdb'.

为什么?有人可以帮我解决这个问题吗?

Why it it? Can anyone help me how to resolve this ?

USE [tempdb]
GO

SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Employee]
([FirstName] [nvarchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
 [LastName] [nvarchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY]

感谢
Raju

Thanks Raju

推荐答案

我最初的猜测是您在此服务器上没有CREATE表权限。您可以在下面运行这些查询吗?

My initial guess is you do not have CREATE table rights on this server. Can you please run these set of queries below?


-- get login first 
select suser_name() 
--or 
SELECT SYSTEM_USER

-- Now get the permissions assigned to you by the server administrator 
use tempDB 
GO 

;with getPermissions as ( SELECT * FROM fn_my_permissions (NULL, 'DATABASE') ) 
select permission_name from getPermissions 
where permission_name like 'create%' 
GO


如果Permission_name列返回0行,则意味着您对该数据库没有CREATE权限。请与您的DBA联系以为db授予db_ddladmin。但是,正如Andomar指出的那样,当使用#预先添加时,临时表将在tempDB中自动创建。

If permission_name column returns 0 rows then it means you do not have CREATE permission on this DB. contact your DBA to grant db_ddladmin for tempDB. However as Andomar noted the temp tables are automatically created in tempDB when pre-appended with #.

这篇关于在数据库'tempdb'中拒绝CREATE TABLE权限的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆