Ero*_*ocM 5 t-sql sql-server-express sql-server-2008
我试图从SQL Server Management Studio运行以下脚本:
INSERT [Truck].[Driver] ([DriverId], [CorporationId], [DriverNumber], [Name], [PhoneNumber])
VALUES (N'b78f90a6-ed6d-4f0e-9f35-1f3e9c516ca9', N'0a48eeeb-37f6-44de-aff5-fe9107d821f5', N'12', N'Unknown', NULL)
Run Code Online (Sandbox Code Playgroud)
我收到这个错误:
消息229,级别14,状态5,行1
对象'驱动程序',数据库'SuburbanPortal2',架构'卡车'上的INSERT权限被拒绝.
我可以在编辑模式下手动添加它,我没有错误.我拥有为用户设置的每项权限.这是一个以本地用户身份登录的本地数据库,我正在测试一些数据,因此我不太关心安全性.
但是,以下是我的用户的数据库设置:



有什么建议?
-- Use master
USE msdb;
go
-- Make database
CREATE DATABASE SuburbanPortal2;
go
-- Use the database
USE SuburbanPortal2;
GO
-- Make schema
CREATE SCHEMA Truck AUTHORIZATION dbo;
go
-- Make table
CREATE TABLE Truck.Driver
(
[DriverId] uniqueidentifier,
[CorporationId] uniqueidentifier,
[DriverNumber] varchar(64),
[Name] varchar(128),
[PhoneNumber] varchar(12)
);
-- Add data
INSERT [Truck].[Driver] ([DriverId], [CorporationId], [DriverNumber], [Name], [PhoneNumber])
VALUES (N'b78f90a6-ed6d-4f0e-9f35-1f3e9c516ca9', N'0a48eeeb-37f6-44de-aff5-fe9107d821f5', N'12', N'Unknown', NULL);
GO
Run Code Online (Sandbox Code Playgroud)
此代码设置了一个像您一样的示例数据库。我对插入没有任何问题。
谁是架构的所有者?
如果您想要隐藏一个数据库组和另一个数据库组中的表,请将您的用户添加到数据库组。
使数据库组成为架构的所有者。我认为您可能遇到架构所有权问题......
您可以深入了解数据库 -> 安全性 -> 架构 -> 卡车,右键单击并显示架构的所有者。请发布图片。
另外,删除用户除 db_owner 之外的所有数据库权限。
| 归档时间: |
|
| 查看次数: |
11420 次 |
| 最近记录: |