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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/35359287/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-01 04:25:27  来源:igfitidea点击:

The specified schema name either does not exist or you do not have permission to use it

sqlsql-serversql-server-2008-r2

提问by Ubiquitous Developers

I am trying to create replica of my database from SQL server to another.
For that I am generating script from original server and trying to run in another server. I've created database manually with the same name.

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

Here is the screenshot of original database enter image description here

这是原始数据库的截图 在此处输入图片说明

When I generate script, following script is created which I am trying in another server

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

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

When I try to run this script, I get following error

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

The specified schema name "common" either does not exist or you do not have permission to use it.

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

I don't know what is the meaning of common here.Thanks

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

回答by HoneyBadger

Your tables are 'grouped' (for want of better word) in schemas (google for it). You should run

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

CREATE SCHEMA common

And likewise for all other schemas.

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