我有大量的SQL 2005服务器,有大量的数据库和大量的Windows用户需要访问所有的服务器,但只有一些数据库,最后一部分定期更改。 分开pipe理这些是很麻烦的。 我想要做什么:
我testing了最明显的configuration(将用户添加到DB_ACCESS中,将DB_ACCESS添加到服务器的默认angular色为public的login列表中,将单个用户添加到数据库中),用户可以login到服务器,但不能访问数据库。
这可能吗? 我只是缺less一个关键的configuration项目?
你可能已经考虑了如下内容:
SET NOCOUNT ON GO
BEGIN DECLARE @lsCmd varchar(255)
DECLARE lcsrCmd CURSOR FOR
在dbo上select'授予视图定义'。 + so.name +'TO [MYDOMAIN \ UserName]'FROM sysobjects so,sysusers c WHERE so.type IN('V','U','TF','IF','P')and so.name not像'dt_%'和so.name不像'sys%'和so.name不像'pk_%'和so.name不像'DF_%'和c.name像'dbo%'order by so.name
OPEN lcsrCmd FETCH NEXT FROM lcsrCmd INTO @lsCmd WHILE (@@fetch_status <> -1) BEGIN IF (@@fetch_status <> -2) BEGIN PRINT @lsCmd BEGIN TRY exec(@lsCmd) END TRY BEGIN CATCH PRINT 'Error: ' + @lsCmd END CATCH END FETCH NEXT FROM lcsrCmd INTO @lsCmd END CLOSE lcsrCmd DEALLOCATE lcsrCmd
END GO