代码之家  ›  专栏  ›  技术社区  ›  pdiddy

SQL server架构和默认架构

  •  29
  • pdiddy  · 技术社区  · 14 年前

    我在数据库中定义了一个模式。除了现在每次我做一个sql语句我必须提供模式。。。 SELECT * FROM [myschema].table

    我使用managementstudio为我的用户设置了默认模式,还运行了 ALTER USER myUser WITH DEFAULT_SCHEMA [myschema]

    有写作的方法吗 SELECT * FROM table 而不必一直指定架构名称?

    它在sql2005上使用sqlmanagementstudio。

    3 回复  |  直到 14 年前
        1
  •  54
  •   Dustin Laine    14 年前

    用户是否为 SA documentation 沙特阿拉伯 用户总是默认为 dbo

    默认架构的值被忽略 如果用户是 sysadmin固定服务器的成员

        2
  •  4
  •   OMG Ponies    14 年前

    两种选择:

    1. 属性 (右键单击名称),然后查看 默认架构
    2. Create a synonym 对于要引用的表:

      CREATE SYNONYM table_name  
         FOR [your_db].[your_schema].table_name
      

      …在数据库的上下文中,这将影响所有不使用至少两个名称符号的人。 Read more about it here

    3. 检查“可用数据库”下拉列表(左上角,执行按钮左侧)中选择的数据库是否正确。

    4. 指定表(和视图)引用时使用三种名称表示法:

      SELECT * 
        FROM [your_db].[your_schema].table_name
      
        3
  •  3
  •   Mitch Stokely    12 年前

    如果您不想使用“完全限定”的SQl名称,那么您需要避免使用任何未使用指定的“dbo”默认模式的帐户或角色来创建表。如果不打算使用,为什么需要更改用户的默认模式?