다음을 통해 공유


ALTER SCHEMA(Transact-SQL)

스키마 간에 보안 개체를 이동합니다.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

ALTER SCHEMA schema_name TRANSFER securable_name

인수

  • schema_name
    현재 데이터베이스에서 보안 개체가 이동될 스키마의 이름입니다. SYS 또는 INFORMATION_SCHEMA는 지정할 수 없습니다.
  • securable_name
    스키마에 포함된 보안 개체 중에서 스키마로 이동될 보안 개체의 한 부분 또는 두 부분으로 구성된 이름입니다.

주의

SQL Server 2005에서 사용자와 스키마는 완전히 분리됩니다. 자세한 내용은 사용자와 스키마 분리를 참조하십시오.

ALTER SCHEMA는 같은 데이터베이스에서 스키마 간에 보안 개체를 이동할 때만 사용할 수 있습니다. 스키마 내에서 보안 개체를 변경하거나 삭제하려면 해당 보안 개체와 관련된 ALTER 또는 DROP 문을 사용합니다.

한 부분으로 구성된 이름이 securable_name에 사용되면 현재 적용 중인 이름 확인 규칙이 보안 개체를 찾는 데 사용됩니다.

보안 개체를 새 스키마로 이동하면 해당 보안 개체와 연결된 사용 권한이 모두 삭제됩니다. 보안 개체 소유자가 명시적으로 설정된 경우 소유자는 그대로 유지됩니다. 보안 개체 소유자가 SCHEMA OWNER로 설정된 경우에는 소유자가 SCHEMA OWNER로 유지되지만 이동 후 SCHEMA OWNER는 새 스키마의 소유자로 확인됩니다. 새 소유자의 principal_id는 NULL이 됩니다.

ms173423.Caution(ko-kr,SQL.90).gif주의:
SQL Server 2005에서는 스키마 동작이 이전 버전의 SQL Server 동작과 다르게 변경되었습니다. 스키마가 데이터베이스 사용자와 같다고 가정하는 코드에서 올바른 결과가 반환되지 않을 수도 있습니다. sysobjects를 비롯한 이전 카탈로그 뷰는 CREATE SCHEMA, ALTER SCHEMA, DROP SCHEMA, CREATE USER, ALTER USER, DROP USER, CREATE ROLE, ALTER ROLE, DROP ROLE, CREATE APPROLE, ALTER APPROLE, DROP APPROLE, ALTER AUTHORIZATION 등의 DDL 문이 사용된 데이터베이스에서 사용하지 않아야 합니다. 이러한 문이 사용된 데이터베이스에서는 새 카탈로그 뷰를 사용해야 합니다. 새 카탈로그 뷰는 SQL Server 2005에서 도입된 보안 주체와 스키마 분리를 고려합니다. 카탈로그 뷰에 대한 자세한 내용은 카탈로그 뷰(Transact-SQL)를 참조하십시오.

사용 권한

한 스키마에서 다른 스키마로 보안 개체를 이동하려면 현재 사용자에게 보안 개체(스키마가 아님)에 대한 CONTROL 권한과 대상 스키마에 대한 ALTER 권한이 있어야 합니다.

보안 개체에 EXECUTE AS OWNER 사양이 있고 소유자가 SCHEMA OWNER로 설정된 경우에는 사용자가 대상 스키마의 소유자에 대한 IMPERSONATION 권한도 가져야 합니다.

이동되는 보안 개체와 연결된 사용 권한은 이동 시 모두 삭제됩니다.

다음 예에서는 Person 스키마에서 HumanResources 스키마로 Address 테이블을 이동하여 HumanResources 스키마를 수정합니다.

USE AdventureWorks;
GO
ALTER SCHEMA HumanResources TRANSFER Person.Address;
GO

참고 항목

참조

CREATE SCHEMA(Transact-SQL)
DROP SCHEMA(Transact-SQL)
EVENTDATA(Transact-SQL)

관련 자료

사용자와 스키마 분리

도움말 및 정보

SQL Server 2005 지원 받기