복붙노트

[SQL] 어떻게 2005 SQL Server에서 데이터베이스의 기본 스키마를 설정하는 방법?

SQL

어떻게 2005 SQL Server에서 데이터베이스의 기본 스키마를 설정하는 방법?

다음 줄의 작품 :

SELECT * FROM [myschema].users

하지만이되지 않습니다 :

SELECT * FROM users

해결법

  1. ==============================

    1.기본 스키마는 사용자 별입니다 :

    기본 스키마는 사용자 별입니다 :

    USE yourDatabase;
    ALTER USER [yourUser] WITH DEFAULT_SCHEMA = myschema;
    

    SQL 2005에 대한 ALTER 표에 대한 자세한 내용은뿐만 아니라 당신을 도울 수 있습니다.

    이 사용자 별이기 때문에 여러 사용자가 있다면, 당신은 누구의 기본 스키마를 업데이트 할 각 사용자에 대해 (각 데이터베이스)이 쿼리를 실행해야합니다.

    그것은주의하는 것이 중요하다 :

    The value of DEFAULT_SCHEMA is ignored if the user is a member of the sysadmin
    fixed server role. All members of the sysadmin fixed server role have a default
    schema of dbo.
    
  2. ==============================

    2.당신이 사용할 수있는:

    당신이 사용할 수있는:

    ALTER USER Mary51 WITH DEFAULT_SCHEMA = Purchasing;
    

    사용자의 기본 스키마를 설정합니다.

  3. ==============================

    3.user960567 같이, 나는 모두 아담과 이반에서 답변을 시도하고 작업을 가져올 수 없습니다.

    user960567 같이, 나는 모두 아담과 이반에서 답변을 시도하고 작업을 가져올 수 없습니다.

    나는 실행했다 :

    ALTER USER myuser WITH DEFAULT_SCHEMA=newschema
    

    제안하지만,이를 실행하고 실행 한 후

    SELECT SCHEMA_NAME()
    

    여전히 기본 스키마로 'DBO'를 반환했다.

    실행이 I를 해결하려면 :

    ALTER USER myuser WITH DEFAULT_SCHEMA=newschema EXECUTE AS USER='myuser'
    

    그리고 예상대로 일 - 지금 실행 :

    SELECT SCHEMA_NAME()
    

    반환 '하여 newSchema'.

  4. from https://stackoverflow.com/questions/8208019/how-to-set-the-default-schema-of-a-database-in-sql-server-2005 by cc-by-sa and MIT license