Sql-Server
沒有在自定義數據庫中創建表的權限
我正在使用本地安裝的 SQL Server 速成版。
CURRENT_USER = dbo
,並且我使用了win認證。數據庫以這種方式成功創建:CREATE DATABASE [online_banking] ON PRIMARY ( NAME = N'online_banking', FILENAME = N'C:\...\online_banking.mdf' , SIZE = 512000KB , MAXSIZE = UNLIMITED, FILEGROWTH = 30%) LOG ON ( NAME = N'online_banking_log', FILENAME = N'C:\...\online_banking_log.ldf' , SIZE = 1024KB , MAXSIZE = 20GB , FILEGROWTH = 10%) GO
但是創建表會導致錯誤,我沒有權限。
CREATE TABLE [online_banking].Customers ( customer_id INTEGER NOT NULL, customer_name VARCHAR(100) NOT NULL, CONSTRAINT PK_cust_id PRIMARY KEY CLUSTERED (customer_id) WITH (IGNORE_DUP_KEY = OFF) ) ;
這裡有什麼問題?
PS表可以這樣創建:
CREATE TABLE Customers ...
看起來您正試圖在名為
online_banking
. 在某些平台上,架構和數據庫是同義詞,但在 SQL Server 中,架構是數據庫中的容器。實例 > 數據庫 > 架構 > 對象
為了在
online_banking
數據庫中創建表,您需要使用由三部分組成的名稱或位於該數據庫的上下文中。而且您應該始終使用模式前綴。USE online_banking; GO CREATE TABLE dbo.test1(i INT); GO
要麼:
CREATE TABLE online_banking.dbo.test1(i INT);