MSSQL中批量修改数据表和存储过程的所有者
2008-09-07 16:58
513 查看
修改数据表的所有者 EXEC sp_changeobjectowner ’原所有者.数据库名’,’新所有者’ 批量修改数据表得所有者 EXEC sp_MSforeachtable ’ exec sp_changeobjectowner ’’?’’,’’新所有者’’ ’ 修改存储过程的所有者 EXEC sp_changeobjectowner ’原所有者.数据库名’,’新所有者’ 批量修改存储过程得所有者 1、首先创建一个存储过程 CREATE PROCEDURE ChangeProcOwner @OldOwner as NVARCHAR(128),--参数 原所有者 @NewOwner as NVARCHAR(128)--参数 新所有者 AS DECLARE @Name as NVARCHAR(128) DECLARE @Owner as NVARCHAR(128) DECLARE @OwnerName as NVARCHAR(128) DECLARE curObject CURSOR FOR select ’Name’ = name, ’Owner’ = user_name(uid) from sysobjects where user_name(uid)=@OldOwner and xtype=’p’ order by name OPEN curObject FETCH NEXT FROM curObject INTO @Name, @Owner WHILE(@@FETCH_STATUS=0) BEGIN if @Owner=@OldOwner begin set @OwnerName = @OldOwner + ’.’ + rtrim(@Name) exec sp_changeobjectowner @OwnerName, @NewOwner end FETCH NEXT FROM curObject INTO @Name, @Owner END close curObject deallocate curObject GO 2、在查询分析器里执行以下语句 EXEC ChangeProcOwner ’原所有者’,’新所有者’ |
相关文章推荐
- 批量修改MSSQL表和视图及存储过程的所有者及备份等
- 批量修改MSSQL表和视图及存储过程的所有者及备份等
- sql server 批量修改数据表和存储过程的所有者(2000)或架构(2005)
- 批量修改MSSQL表和视图及存储过程的所有者及备份等
- 批量修改MSSQL表和视图及存储过程的所有者
- [MSSQL]批量修改表及储蓄过程的所有者方法
- 批量修改表、存储过程的所有者
- 批量修改 SQL Server 表、存储过程的所有者
- 批量修改存储过程的所有者
- 批量修改MYSQL的存储过程或者函数所有者的对象
- 批量修改MYSQL的存储过程或者函数所有者的对象
- sql server 批量修改表和存储过程的所有者。
- sql server 批量修改表和存储过程的所有者
- sql server 批量修改表和存储过程的所有者
- sql server 批量修改表和存储过程的所有者——提高SQL安全性
- 【转】sql server 批量修改表和存储过程的所有者——提高SQL安全性
- 批量修改存储过程的所有者
- 批量修改 SQL Server 表、存储过程的所有者
- mssql 生成‘批量Insert数据的sql语句’的存储过程
- [导入]批量插入数据的存储过程