在架構之間傳輸安全對象。
在 SQL Server 2005 中,用戶與架構完全分離。有關詳細信息,請參閱用戶架構分離。
ALTER SCHEMA 僅可用於在同一數據庫中的架構之間移動安全對象。若要更改或刪除架構中的安全對象,請使用特定於該安全對象的 ALTER 或 DROP 語句。
如果對 securable_name 使用了由一部分組成的名稱,則將使用當前生效的名稱解析規則查找該安全對象。
將安全對象移入新架構時,將刪除與該安全對象關聯的全部權限。如果已顯式設置安全對象的所有者,則該所有者保持不變。如果安全對象的所有者已設置爲 SCHEMA OWNER,則該所有者將保持爲 SCHEMA OWNER;但移動之後,SCHEMA OWNER 將解析爲新架構的所有者。新所有者的 principal_id 將爲 NULL。
注意: |
---|
在 SQL Server 2005 中,架構的行爲與早期版本的 SQL Server 中的行爲不同。假設架構與數據庫用戶等價的代碼不能返回正確的結果。在曾經使用過以下任何 DDL 語句的數據庫中,不應當使用舊目錄視圖(包括 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。在曾經使用過這些語句中的任意一個語句的數據庫中,必須使用新的目錄視圖。新的目錄視圖將採用在 SQL Server 2005 中引入的使主體和架構分離的方法。有關目錄視圖的詳細信息,請參閱目錄視圖 (Transact-SQL)。 |