登录用户需要可以创建、修改、删除表,但对非自己创建的表,仅可查询。
不知权限如何设定,请各位帮忙看看。
------解决方案--------------------
- SQL code
剛測了個例子給樓主參照,按自己情況更改/*創建角色*/USE [Test]GOCREATE ROLE [AppSelectRole]GOuse [Test]GOGRANT SELECT TO [AppSelectRole]GOGRANT CREATE TABLE TO [AppSelectRole]GOUSE [Test]GOCREATE SCHEMA [UserTest] AUTHORIZATION [AppSelectRole]GO/*創建登陸用戶*/USE [master]GOCREATE LOGIN [TestUser] WITH PASSWORD=N'1', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFFGOUSE [Test]GOCREATE USER [TestUser] FOR LOGIN [TestUser]GOUSE [Test]GOEXEC sp_addrolemember N'AppSelectRole', N'TestUser'GO/*測試*/USE TestGOEXECUTE AS LOGIN='TestUser'GOCREATE TABLE userTest.t2(ID int) --OKgoDROP TABLE userTest.t2 --OKgoSELECT * FROM dbo.t --OKgoDROP TABLE dbo.t --Error/*訊息 3701,層級 14,狀態 20,行 1無法 卸除 資料表 'T',因為它不存在或您沒有權限。*/GOREVERT
------解决方案--------------------