Sql server 如何在模式中创建数据库对象,而不是在sql server中创建dbo或dba

Sql server 如何在模式中创建数据库对象,而不是在sql server中创建dbo或dba,sql-server,Sql Server,我正在连接到sql server,用户名为sa,密码=Password()345 我有一个名为Demo的数据库,当我创建任何数据库对象(如表或过程)时,它都放在dbo中。但我想加入一个类似ABCD的模式。如何做到这一点。谁能告诉我步骤吗。我是sql server新手它非常简单: CREATE SCHEMA NewSchema; CREATE TABLE NewSchema.NewTable ( .... ); CREATE PROC NewSchema.NewProc AS ..

我正在连接到sql server,用户名为sa,密码=Password()345 我有一个名为Demo的数据库,当我创建任何数据库对象(如表或过程)时,它都放在dbo中。但我想加入一个类似ABCD的模式。如何做到这一点。谁能告诉我步骤吗。我是sql server新手

它非常简单:

CREATE SCHEMA NewSchema;

CREATE TABLE NewSchema.NewTable
(
   ....
);

CREATE PROC NewSchema.NewProc 
  AS ....;
与对
dbo执行的操作相同。

您可能还需要考虑授予

对这一点:

ALTER USER userName  
     WITH DEFAULT_SCHEMA = NewSchema;

首先,您可能需要创建一个架构:

CREATE SCHEMA somename;
GO
然后创建如下表:

CREATE TABLE somename.TestTable (col1 int);
SQL Server甚至可以让您在一个步骤中完成:

CREATE SCHEMA somename AUTHORIZATION sa
   CREATE TABLE tab1 (col1 INT);
GO 

我希望默认模式应该是ABCDhi每当我创建数据库对象(比如说一个表)时,它应该自动处于类似dbo的状态。然后,您应该将新模式设置为用户的默认模式。对于用户sa来说,这可能不是一个好主意。为什么要这样做?先生或夫人,您希望实现什么?因为我们有一个模式,在创建时对象应该自动存储。无论如何,您都应该这样做。Sooooo……是的,我需要同意。请告诉我完整的流程Hi Stuart,请告诉我模式名称abcd所在的流程否,用户名与模式不同。将用户添加到绑定到新模式的数据库
CREATE user[Domain\SomeUser],默认模式为\u schema=NewSchame
或Sql std security
使用默认模式=NewSchema为登录SqlUser创建用户SqlUser
。显然,服务器级登录必须存在。一般来说,您不想为internet上的任何内容提供密码。不管怎么说,这对回答这个问题没有帮助,可能会让你变得脆弱,如果没有其他事情让你看起来不好的话。
CREATE SCHEMA somename AUTHORIZATION sa
   CREATE TABLE tab1 (col1 INT);
GO