zxkid 2004年12月23日
SQL Server权限问题
我想创建一个数据库ant2000,然后再创建一个登录名ant,并使这ant只能使用ant2000,但可以删除和创建表,我写了下面的SQL脚本,是否就可以了呢?
--创建数据库
IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'ant2000')
DROP DATABASE [ant2000]
GO

CREATE DATABASE [ant2000]
ON (NAME = N'ant2000_Data', FILENAME = N'c:\program files\microsoft sql server\mssql\data\ant2000_Data.MDF' , SIZE = 10MB, FILEGROWTH = 10%)
LOG ON (NAME = N'ant2000_Log', FILENAME = N'c:\program files\microsoft sql server\mssql\data\ant2000_Log.LDF' , SIZE = 5MB, FILEGROWTH = 10%)
COLLATE Chinese_PRC_CI_AS
GO

--创建表的脚本省略

--加权限部分
IF EXISTS (SELECT name FROM ant2000.dbo.sysusers WHERE name = N'ant')
EXEC sp_dropuser @name_in_db = 'ant'
go

IF EXISTS (SELECT name FROM master.dbo.sysxlogins WHERE name = N'ant')
EXEC sp_droplogin @loginame = 'ant'
go

sp_addlogin @loginame = 'ant', @passwd = 'tct1810', @defdb = 'ant2000', @encryptopt = null
go

sp_grantdbaccess @loginame = 'ant', @name_in_db = 'ant'
go

sp_addrolemember @rolename = 'db_owner', @membername = 'ant'
go
...全文
99 点赞 收藏 6
写回复
6 条回复

还没有回复,快来抢沙发~

发动态
发帖子
应用实例
创建于2007-09-28

1.1w+

社区成员

6.8w+

社区内容

MS-SQL Server 应用实例
社区公告
暂无公告