将dbo设置为所有新表的默认架构

时间:2015-11-03 18:02:03

标签: sql-server sql-server-2008-r2 schema create-table owner

我在四个不同的生产服务器上安装了一个数据库。每个服务器都有自己不同的用户。当我在这些服务器上使用create语句创建新表时,每个服务器都设置/预先设置其用户名,例如

Create Table tab_1 ...将创建为
使用abc.tab_1作为登录信息的server_1上的abc 使用def.tab_1作为登录信息的server_2上的def 使用ghi.tab_1作为登录信息的server_3上的ghi 使用jkl.tab_1作为登录信息在server_4上jkl

我想使用dbo作为默认架构,并且必须在每个服务器上为每个新表使用以下语句

ALTER SCHEMA dbo TRANSFER login.table_name;

有没有办法修改Create Table语句或在所有服务器上创建每个表的其他设置dbo.table_name

我使用的是共享托管,SSMS有很多限制,因此基于查询的解决方案是合适的。

1 个答案:

答案 0 :(得分:3)

您可以控制创建表查询吗?在这种情况下,只需在create:

中指定dbo

CREATE TABLE dbo.dummy();

要更改用户的默认架构,请参阅以下答案:https://stackoverflow.com/a/8208124/3480246