`
bingbing110
  • 浏览: 1051 次
文章分类
社区版块
存档分类
最新评论

sql server 批量修改用户表 存储过程所有者

阅读更多
MS SQL Server存储过程批量修改用户表所有者

新建登陆帐户,设置登陆到要修改的数据库。

创建储存过程

CREATE PROCEDURE dbo.changename
@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

FETCH NEXT FROM curObject INTO @Name, @Owner
END

close curObject
deallocate curObject
GO

调用方法:exec changename 'OldOwner','NewOwner'

说明:该方法将产生很多存储过程
分享到:
评论

相关推荐

    sql2000批量修改所有者

    在SQL Server中,每个数据库对象(如表、视图、存储过程等)都有一个所有者,这个所有者决定了谁可以执行或修改该对象。默认情况下,当你创建一个新的对象时,所有者通常是当前登录的用户。但有时,为了管理和安全...

    如何进行SQL Server批量修改权限2

    特别是在机器备份的数据库到 SQL Server,恢复后该数据库有一个 mooip 用户,该用户是数据库和一些表的所有者,但安全性里的登录中没有该用户。本文将介绍删除此类用户的方法,解决“因为选定的用户拥有对象,所以...

    批量更改数据库表的所有者

    在SQL Server中,每个对象(如表、存储过程等)都归属于一个特定的所有者。默认情况下,创建这些对象的用户将成为其所有者。如果需要更改对象的所有者,可以使用`sp_changeobjectowner`存储过程。该过程接受三个参数...

    SQL Server的用户及权限

    数据库所有者可以授予用户在数据库内的各种操作权限,比如创建表、视图、存储过程等,以及SELECT、UPDATE、INSERT、EXECUTE、DELETE和REFERENCE等对数据库对象的操作权限。 总的来说,SQL Server的用户和权限管理是...

    SQLServer修改表所有者.pdf

    此外,如果需要同时修改用户表、视图、存储过程、触发器、自定义函数的所有者,可以使用游标配合`sysobjects`系统表来遍历并执行`sp_changeobjectowner`。下面是一个示例: ```sql DECLARE tb CURSOR LOCAL FOR ...

    如何将SQL Server中的表变成txt 文件.doc

    ### 如何将SQL Server中的表转换为TXT文件 在日常工作中,我们经常需要将数据库中的数据导出到其他格式的文件中,以便于分享、备份或是进行进一步的数据处理。其中,将SQL Server中的表导出为TXT文件是一种常见的...

    SQLServer用t-sql命令批量删除数据库中指定表(游标循环删除)

    在生产环境中,除了使用游标,还可以考虑其他方法来提高批量删除的效率,比如使用动态SQL、存储过程或者批量删除操作。例如,如果要删除的表满足某种特定的模式,可以尝试使用`DROP TABLE`语句的变体来一次性删除多...

    sql server术语学习表

    ### SQL Server 术语学习表详解 #### All (全) **定义**:在SQL查询语句中,`ALL`关键字用于指定一个子查询的所有结果都必须满足条件。 **用途**:通常与比较运算符一起使用来确保某个条件对于一组值中的每一个都...

    sqlserver 接口保姆

    它包含了一系列对象模型,开发者可以利用这些对象来创建、修改和控制SQL Server的所有组件,如数据库、表、存储过程等。对于新手来说,SMO提供了一种直观的方式来学习如何通过代码与SQL Server交互。 2. ADO.NET: ...

    mysql完全迁移到sqlserver.docx

    示例中的`syncdata_mysql2sqlserver`存储过程可以批量处理多个表的迁移,通过循环遍历源数据库中的表,逐个将数据导入到目标数据库。 7. 标识和序列处理: MySQL和SQL Server在处理自增主键(标识字段)上有差异。...

    Winform+SQL Server数据库图书管理系统

    6. 数据库文件(Library.sql):包含了系统运行所需的所有数据库表结构和初始化数据,用户可以直接导入SQL Server 2016数据库中,快速搭建系统环境。 7. 库文件(Library):这部分可能包含系统的源代码和其他相关...

    SQLServer和MySql语法和关键字的区别详解

    27. **输入输出参数**: MySQL 中 `IN`, `OUT`, 和 `INOUT` 参数在存储过程中的使用有所不同,`IN` 参数在过程中可以被修改但不会返回到调用者,`OUT` 参数用于从过程中向调用者返回值,而 `INOUT` 参数则允许双向...

    sqlserver 2008 数据操作 详解

    插入数据时需注意两个关键点:一是权限控制,只有具有sysadmin角色或数据库及对象所有者及其授权用户才能进行插入操作;二是数据格式,不同数据类型的插入格式各异,需遵循其特定规则。 6.1.2 使用INSERT...VALUES...

    SSH权限管理详细sql server

    在SQL Server 2008 R2这样的数据库管理系统中,权限管理同样至关重要,因为数据库通常存储着企业的核心数据。 首先,让我们详细了解一下SSH中的权限管理。SSH通过公钥/私钥对来验证用户身份,确保只有授权的用户...

    Sql Server强制清空所有数据表中的记录.docx

    总结来说,`Sql Server强制清空所有数据表中的记录`涉及到利用存储过程批量禁用触发器、清空数据以及恢复触发器的过程。这种操作应该谨慎进行,因为它可能会对数据库的完整性和性能产生重大影响。

    同步两个SQLServer数据库

    在此过程中,你需要指定发布数据库和发布服务器,选择要发布的对象(如表、视图、存储过程等)。 3. **创建分发服务器**:在任一服务器上设置分发服务器,作为数据传输的中介。分发服务器可以是源服务器或目标...

    基于SQLServer 的教务管理系统

    本系统是基于SQLServer构建的,这是一个功能强大的关系型数据库管理系统,能够处理大量的数据并提供高效的数据存储与检索能力。C#和WPF(Windows Presentation Foundation)则是用于开发用户界面的技术,提供了丰富...

    SQLSERVER表结构查询及字段添加小工具

    SQLSERVER表结构查询及字段添加小工具是一款专为SQL Server数据库设计的实用程序,它极大地简化了数据库管理和维护过程中的表结构查询与字段管理任务。通过这款工具,用户能够高效地查看数据库中的所有表及其详细...

    sql语句大全和SQL server精华

    SQL语句主要包括以下几类:SELECT用于查询数据,INSERT用于插入数据,UPDATE用于更新数据,DELETE用于删除数据,CREATE用于创建数据库对象如表、视图、索引等,ALTER用于修改已存在的对象,DROP用于删除对象,...

    解析SQL Server7.0的六种数据移动方法

    直接复制数据库的.mdf(数据文件)和.ldf(日志文件)到目标服务器,然后通过SQL Server Query Analyzer执行`sp_attach_db`存储过程来附加数据库。如果不想使用原有的日志文件,可以使用`sp_detach_db`和`sp_attach...

Global site tag (gtag.js) - Google Analytics