文章介绍的是正确更改SQL Server表的所属用户的2个实际操作方法,大家在实际操作中可能会经常碰到一个备份还原到另外一台机器结果导致所有的表都不能打开了,原因是建表的时候采用了当时的数据库用户……
更改某个表
- exec sp_changeobjectowner 'tablename','dbo'
存储更改全部SQL Server表
- CREATE PROCEDURE dbo.User_ChangeObjectOwnerBatch
- @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
- 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
- -- select @name,@NewOwner,@OldOwner
- FETCH NEXT FROM curObject INTO @Name, @Owner
- END
- close curObject
- deallocate curObject
- GO
以上的相关内容就是对更改SQL Server表的所属用户的两个方法的介绍,望你能有所收获。
【编辑推荐】
- 正确分析MS SQL Server函数的2种用法
- 配置Tomcat+SQL Server2000连接池流程
- SQL Server安全规划的阐述
- MS-SQL server数据库开发中的技巧
- SQL Server 2005新功能-TSQL的描述
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/288285.html<

