문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
|
번역
영문
|
XML 스키마 컬렉션에 대한 사용 권한 취소
-
관계형 스키마에 대한 ALTER 권한을 취소합니다. 그러면 보안 주체가 관계형 스키마에서 XML 스키마 컬렉션을 만들 수 없습니다. 하지만 보안 주체는 동일 데이터베이스의 다른 관계형 스키마에서 여전히 같은 작업을 수행할 수 있습니다. -
데이터베이스에서 보안 주체에 대한 ALTER ANY SCHEMA 권한을 취소합니다. 그러면 보안 주체가 데이터베이스의 어느 곳에서도 XML 스키마 컬렉션을 만들 수 없습니다. -
데이터베이스에서 보안 주체에 대한 CREATE XML SCHEMA COLLECTION 또는 ALTER XML SCHEMA COLLECTION 권한을 취소합니다. 그러면 보안 주체가 데이터베이스 내에서 XML 스키마 컬렉션을 가져올 수 없습니다. 데이터베이스에서 ALTER 또는 CONTROL 권한을 취소해도 같은 효과가 있습니다.
-
ALTER 권한을 취소하면 보안 주체의 XML 스키마 컬렉션 콘텐츠 수정 기능이 취소됩니다. -
TAKE OWNERSHIP 권한을 취소하면 보안 주체의 XML 스키마 컬렉션 소유권 전달 기능이 취소됩니다. -
REFERENCES 권한을 취소하면 XML 스키마 컬렉션을 사용하여 테이블 및 뷰에 있는 xml 유형의 열 및 매개 변수를 형식화하거나 제한하는 보안 주체의 기능이 취소됩니다. 또한 다른 XML 스키마 컬렉션에서 이 스키마 컬렉션을 참조하는 권한이 취소됩니다. -
VIEW DEFINITION 권한을 취소하면 보안 주체의 XML 스키마 컬렉션의 콘텐츠를 보는 기능이 취소됩니다. -
EXECUTE 권한을 취소하면 XML 컬렉션에 의해 형식화되었거나 제한된 변수, 매개 변수 및 열에 있는 값을 삽입 또는 업데이트하는 보안 주체의 기능이 취소됩니다. 또한 이러한 xml 유형의 열, 변수 또는 매개 변수를 쿼리하는 기능이 취소됩니다.
1.XML 스키마 컬렉션을 만드는 권한 취소
setuser go create login TestLogin1 with password='SQLSvrPwd1' go create database SampleDBForSchemaPermissions go use SampleDBForSchemaPermissions go -- Create another relational schema in the db (in addition to dbo schema) CREATE SCHEMA myOtherDBSchema go CREATE USER TestLogin1 go -- For TestLogin1 to create/import XML schema collection, following -- permission needed -- CREATE XML SCHEMA is a database level permission GRANT CREATE XML SCHEMA COLLECTION TO TestLogin1 go GRANT ALTER ON SCHEMA::myOtherDBSchema TO TestLogin1 go GRANT ALTER ON SCHEMA::dbo TO TestLogin1 go -- Now TestLogin1 can import an XML schema collection in both relational schemas. setuser 'TestLogin1' go CREATE XML SCHEMA COLLECTION dbo.myTestSchemaCollection AS '<?xml version="1.0" encoding="UTF-8" ?> <xsd:schema targetNamespace="http://schemas.adventure-works.com/Additional/ContactInfo" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xsd:element name="telephone" type="xsd:string" /> </xsd:schema>' go -- TestLogin1 can create XML schema collection in myOtherDBSchema relational schema CREATE XML SCHEMA COLLECTION myOtherDBSchema.myTestSchemaCollection AS '<?xml version="1.0" encoding="UTF-8" ?> <xsd:schema targetNamespace="http://schemas.adventure-works.com/Additional/ContactInfo" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xsd:element name="telephone" type="xsd:string" /> </xsd:schema>' go -- Let us drop XML schema collections from both relational schemas DROP XML SCHEMA COLLECTION myOtherDBSchema.myTestSchemaCollection go DROP XML SCHEMA COLLECTION dbo.myTestSchemaCollection go -- now REVOKE permission from TestLogin1 to alter myOtherDBSchema setuser go REVOKE ALTER ON SCHEMA::myOtherDBSchema FROM TestLogin1 go -- now TestLogin1 cannot create xml schema collection in myOtherDBSchema setuser 'TestLogin1' go CREATE XML SCHEMA COLLECTION myOtherDBSchema.myTestSchemaCollection AS '<?xml version="1.0" encoding="UTF-8" ?> <xsd:schema targetNamespace="http://schemas.adventure-works.com/Additional/ContactInfo" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xsd:element name="telephone" type="xsd:string" /> </xsd:schema>' go -- TestLogin1 can still create XML schema collections in dbo -- It cannot create XML schema collections anywhere in the database -- if we REVOKE CREATE XML SCHEMA COLLECTION permission SETUSER go REVOKE CREATE XML SCHEMA COLLECTION FROM TestLogin1 go setuser 'TestLogin1' go -- the following now should fail CREATE XML SCHEMA COLLECTION dbo.myTestSchemaCollection AS '<?xml version="1.0" encoding="UTF-8" ?> <xsd:schema targetNamespace="http://schemas.adventure-works.com/Additional/ContactInfo" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xsd:element name="telephone" type="xsd:string" /> </xsd:schema>' go -- Final cleanup SETUSER go USE master go DROP DATABASE SampleDBForSchemaPermissions go DROP LOGIN TestLogin1 Go