指定的架构名称不存在或您无权使用它

Posted

技术标签:

【中文标题】指定的架构名称不存在或您无权使用它【英文标题】:The specified schema name either does not exist or you do not have permission to use it 【发布时间】:2016-02-12 09:43:53 【问题描述】:

我正在尝试将我的数据库从 SQL 服务器创建到另一个。 为此,我正在从原始服务器生成脚本并尝试在另一台服务器上运行。我已经手动创建了同名的数据库。

这是原始数据库的截图

当我生成脚本时,会创建以下脚本,我正在另一台服务器上尝试

USE [ContactsApp]
GO

/****** Object:  Table [common].[BU]    Script Date: 2/12/2016 3:02:29 PM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [common].[BU](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [IndustryID] [int] NOT NULL,
    [BU] [varchar](50) NOT NULL,
    [Code] [varchar](2) NOT NULL,
    [Active] [bit] NOT NULL,
    [CreatedBy] [uniqueidentifier] NOT NULL,
    [CreateDate] [date] NOT NULL,
    [CreateTime] [time](3) NOT NULL,
    [ModifiedBy] [uniqueidentifier] NULL,
    [ModifyDate] [date] NULL,
    [ModifyTime] [time](3) NULL,
 CONSTRAINT [PK_BU] PRIMARY KEY CLUSTERED 
(
    [ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY],
 CONSTRAINT [UK_BU_Code] UNIQUE NONCLUSTERED 
(
    [Code] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY],
 CONSTRAINT [UK_BU_Name] UNIQUE NONCLUSTERED 
(
    [BU] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

ALTER TABLE [common].[BU] ADD  CONSTRAINT [DF_BU_CreateDate]  DEFAULT (CONVERT([date],getdate())) FOR [CreateDate]
GO

ALTER TABLE [common].[BU] ADD  CONSTRAINT [DF_BU_CreateTime]  DEFAULT (CONVERT([time],getdate())) FOR [CreateTime]
GO

ALTER TABLE [common].[BU]  WITH CHECK ADD  CONSTRAINT [FK_BU_Industry] FOREIGN KEY([IndustryID])
REFERENCES [common].[Industry] ([ID])
ON DELETE CASCADE
GO

ALTER TABLE [common].[BU] CHECK CONSTRAINT [FK_BU_Industry]
GO

当我尝试运行此脚本时,出现以下错误

指定的模式名称“common”要么不存在,要么你存在 没有使用它的权限。

这里不知道common是什么意思。谢谢

【问题讨论】:

【参考方案1】:

您的表在模式中“分组”(因为需要更好的词)(谷歌为它)。你应该跑

CREATE SCHEMA common

对于所有其他模式也是如此。

【讨论】:

感谢您的帮助。我知道这是个愚蠢的问题。但我真的不知道

以上是关于指定的架构名称不存在或您无权使用它的主要内容,如果未能解决你的问题,请参考以下文章

指定的模式名称不存在,或者您无权使用它

将 EF5 升级到 EF 6,现在得到“找不到对象,因为它不存在或您没有权限。”

找不到 CREDENTIAL '<db_scoped_creds>',因为它不存在或您没有权限

找不到对象“TABLE”,因为它不存在或您没有权限

SQL Server 禁用所有触发器 - 找不到对象“XXXX”,因为它不存在或您没有权限

在 SQL Server 2012 中出现以下错误“找不到用户 '<user>',因为它不存在或您没有权限”