查询在sql server 2008中创建一个新表

时间:2012-08-16 16:38:32

标签: sql-server-2008

实际上,如何在数据库SQL Server 2008中创建新表使用查询

我尝试执行查询时遇到错误

这是我的代码

 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FilesStore]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
 drop table [dbo].[FilesStore]
 GO

 CREATE TABLE [dbo].[FilesStore] (
     [FileId] [int] IDENTITY (1, 1) NOT NULL ,
     [OriginalPath] [varchar] (200) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
     [FileData] [image] NOT NULL 
 ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
 GO

我收到此错误消息

  

不支持DROP TABLE SQL构造或语句   不支持CREATE TABLE SQL构造或语句。

任何人都请帮助我

感谢

2 个答案:

答案 0 :(得分:0)

我尝试过这个脚本并且工作得很好。

你有db_owner角色吗?

答案 1 :(得分:0)

权限!您没有足够的权限来执行CREATE或DROP。 检查数据库上用户的安全数据库角色。

由于DROP不是可授予的权限,可以删除表的人是:

  • dbo
  • 架构的所有者
  • 表的所有者(通常是架构所有者,但它可以是 改成其他人)
  • db_ddladmin成员的固定数据库角色成员 db_owner已修复
  • sysadmin固定服务器角色的数据库角色成员
  • 表格上的CONTROL权限的受赠者或权限 意味着对表的控制
  • ALTER权限的受赠者对模式或权限的权限 意味着改变架构。

<强>更新
如何将自己添加为数据库的db_owner?

在SQL Server Management Studio上,转到安全性&gt;在树中登录SERVER的节点。 找到用于连接到SQL Server的信用,右键单击“属性” 单击右侧列表中的User Mapping复选框,选中数据库复选框,然后选中底部的db_owner复选框。单击“确定” 再次尝试查询。