我有一個sql 2005數據庫,我有一個名爲dbo.AgencyProfile的表 但是,我想要刪除dbo前綴。我怎樣才能做到這一點?在sql 2005中更改表架構
回答
無法刪除前綴/模式,但你可以通過重新創建表的更改:
CREATE TABLE [whatever].[AgencyProfile](
[AgencyId] [int] NOT NULL DEFAULT
[AgencyName] [nvarchar](256),
[Field 2] [nvarchar](256),
[Field 3] [uniqueidentifier] NOT NULL
etc....
爲什麼你需要? SQL將dbo
架構中的所有對象都保留爲默認值。您不需要在SQL語句中使用模式 - SELECT * FROM AgencyProfile
將會很好,因爲SQL將搜索dbo
模式的AgencyProfile
。
您可以將對象放入您自己的模式中,但是您確實需要使用您的模式名稱來限定它們。
當我做一個選擇,我得到一個 無效的對象名稱dbo.AgencyProfile「。 – user279521 2010-03-02 20:01:19
您不能刪除前綴/模式,但正如Andy指出的,如果數據庫中沒有其他模式,則不必使用它。
架構是對象的組成部分:你只能從指目標代碼刪除
有在編譯的時候打了性能,因爲它解決什麼架構的對象是英寸
SELECT * FROM foobar
是不一樣的SELECT * FROM dbo.foobar
,並要求進行檢查,看foobar
處於何種模式也就是說,在去dbo.foobar
之前,它會查找[domain\user].foobar
。
從"Execution Plan Caching and Reuse":
...
以匹配新的SQL語句,以現有的算法,在緩存中未使用 執行計劃需要 所有對象引用是完全合格的 。例如,第一 這些SELECT語句不與現有計劃相匹配 ,第二 匹配:
SELECT * FROM Contact SELECT * FROM Person.Contact
而對於NT連接的時候無法指定默認的架構,以便不能避免這種情況
如果你想SCHEMABINDING在視圖等等,那麼你必須限定模式。
等
這遠遠超過了「代碼混亂」
編輯:別處您的評論後...
您已經運行創建表沒有模式,所以你有一個對象[domain\user].AgencyProfile
。當然dbo.AgencyProfile
不存在
你需要運行'ALTER AUTHORIZATION ON [domain\user].AgencyProfile TO dbo'它取代sp_changeobjectowner
- 1. 架構更改表重建
- 2. 如何更改SQL Server Compact Edition表架構中的列順序?
- 3. SQL Server 2005更改審計
- 4. 架構SQL表
- 5. 我可以在SQL Server 2005中更改分區表嗎?
- 6. 是否更改表提交在SQL Server 2005中的事務
- 7. JDBC更改默認架構
- 8. 更改Sql Server 2005中的觸發器
- 9. SQL Server 2005中的更改跟蹤
- 10. 更改SQL Server 2005中的主鍵值
- 11. 如何在ms sql server中更改架構所有者?
- 12. 在Cassandra中架構更改已超時
- 13. 架構更改不更新智能感知在SQL 2008(SSMS)
- 14. 實體框架從SQL Server 2005更改爲2008 R2
- 15. 如何在sql server 2005中使用sql查詢更改表中的列順序?
- 16. 實體框架和更改表格架構/結構
- 17. 更改數據類型後回收SQL 2005表中的空間?
- 18. 更改架構名稱
- 19. 防止Hibernate架構更改
- 20. Azure SQL Azure中的更改跟蹤搜索非dbo架構
- 21. SQL Server Mangement Studio更改腳本(2005)
- 22. 結合ASP.net SQL 2005更改腳本
- 23. Sql Server 2005 - 更改排序規則
- 24. SQL Server 2005上的列長度更改
- 25. 從sql 2005數據庫中提取xml架構
- 26. 更改語法中的關聯架構
- 27. 在運行時更改WebSphere dataSource架構
- 28. SQL Server表架構名稱
- 29. MySQL表更改表結構
- 30. 如何在Sql Server 2005中更改UDT的基類型?
它的客戶端策略是他們在這裏設置系統的方式。我無法改變這些政策。 – user279521 2010-03-02 20:16:14
@ user279521:政策*不*使用dbo? – gbn 2010-03-02 20:26:45
@Ricardo:不需要重新創建表格...請參閱我的回答請 – gbn 2010-03-02 20:29:20