我的程序在運行時創建數據庫和表。我對Schema的理解是它是多個數據庫和數據庫表的概念文件夾。所以我寫了一些無意義的代碼來測試一下模式會對我的代碼做些什麼。無法在SQL Server 2016 Express中創建或查找架構
我的程序中使用SQL Server身份驗證,而不是Windows身份驗證,而不是TmpUserSA的用戶名進行創建數據庫和表。
如果我通過CREATE TABLE TmpTable
創建一個表格,我會得到dbo.TmpTable表名稱。如果我明確CREATE TABLE abc.TmpTable
鍵入一個新的架構,然後我得到以下異常,因爲模式不存在:
SQLEXCEPTION:在指定架構名稱不存在,或者你 沒有使用它
許可
我進入SSMS並通過執行CREATE SCHEMA abc
手動創建一個模式。 SSMS輸出表明abc的模式已經成功創建。但在SSMS 對象瀏覽器>安全>我看到沒有架構名稱,也沒有任何其他名稱abc。
我的模式在哪裏?如果abc未創建,那麼爲什麼CREATE SCHEMA abc
被執行,它創建了什麼?
我又回到Visual Studio和CREATE TABLE abc.TmpTable了,仍然收到相同的異常。
你可以爲每個數據庫創建模式,你確定在調用create schema abc後,你無法在[DatabaseName] \ Security \ Schemas下找到它嗎? – Behzad
我在SeverInstance \ Databases \ System Database \ master \ Security \ Schema中找到它,但從我讀的教程中,它應該位於SeverInstance \ Security中,但即使Schema文件夾也不存在。另外當我在C#中創建abc.TmpTable時,我仍然得到架構不存在的異常 – KMC