首页 数据库 mysql教程 mssql2000升级到SQLServer2005数据库中更改数据架构方法

mssql2000升级到SQLServer2005数据库中更改数据架构方法

Jun 07, 2016 pm 05:49 PM
数据库升级 用户名

数据库升级到 mssql 2005 了,我对 2005 不熟悉,发现还原 2000 的数据以前的用户名删除不了,报 Microsoft SQL Server错误: 15138。


在网上找到:SQL Server 2005删除用户失败解决方法(15138错误)
Microsoft SQL Server错误: 15138删除对于用户失败,数据库主体在该数据库中拥有架构,无法删除。
删除 对于 用户“*****”失败。 (Microsoft.SqlServer.Smo)

其他信息:

执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)

解决方法一

先删除此用户对应的架构,然后在删除对应的用户
步骤

 代码如下 复制代码
1。SQL SERVER MANAGEMENT STUDIO -> 数据库 -> 安全性 -> 构架,先删除对应的构架
 代码如下 复制代码
1。SQL SERVER MANAGEMENT STUDIO -> 数据库 -> 安全性 -> 构架,先删除对应的构架
2。SQL SERVER MANAGEMENT STUDIO -> 数据库 -> 安全性 -> 用户,删除对应的用户
2。SQL SERVER MANAGEMENT STUDIO -> 数据库 -> 安全性 -> 用户,删除对应的用户

解决方法二

–执行如下SQL语句

ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo;
–然后手动删除就可以了。


在这里又出现构架也删除不了,原因有一个表的构架不是 dbo 了,得改为 dbo 才行。

在数据库testDB中存在架构A及用户A,现将testDB数据库所属的用户由A改为B,同时删除用户A;

架构也由A改为B,删除架构A,操作如下:

1、创建用户B,再创建架构B;

2、将架构A的权限赋给用户B,取消用户A拥有架构A的权限,删除用户A;

3、将数据库的所有属于架构A的对象改为架构B,代码如下:

ALTER SCHEMA [新架构名] TRANSFER 旧架构名.[数据库中的对象表或视图或存储过程]

ALTER SCHEMA [B] TRANSFER A.[对象1]

ALTER SCHEMA [B] TRANSFER A.[对象2]

ALTER SCHEMA [B] TRANSFER A.[对象n] 

而当要更改一个数据库中全部的表或存储过程时,用上面的方法是可以实现,但是速度太慢了,所以写了一个存储过程批量修改:

改存储过程:

 代码如下 复制代码
USE [testDemo]
 代码如下 复制代码
USE [testDemo]
--
--ALTER SCHEMA slqwell TRANSFER
create table #t (
 ID   int IDENTITY (1,1)     not null, --创建列ID,并且每次新增一条记录就会加1
    procName  varchar(100), 
)
insert into #t(procName)
select   'dbo.' name   from   sysobjects
where   xtype='P'   and   status>=0
select * from #t
declare @i int
declare @j int
set @j = 1
declare @procName varchar(100)
declare @SchemaTable varchar(200)
while(@j < (@i 1))
begin
select @procName=procName from #t where ID=@j
set @j = @j 1
set @SchemaTable = 'ALTER SCHEMA sqlwell TRANSFER ' @procName
exec (@SchemaTable)
end
drop table #t
--

--ALTER SCHEMA slqwell TRANSFER

create table #t (

 ID   int IDENTITY (1,1)     not null, --创建列ID,并且每次新增一条记录就会加1

    procName  varchar(100), 

)<🎜> insert into #t(procName)<🎜> select   'dbo.' name   from   sysobjects <🎜> where   xtype='P'   and   status>=0 select * from #t declare @i int declare @j int set @j = 1 declare @procName varchar(100) declare @SchemaTable varchar(200) while(@j < (@i 1)) begin  select @procName=procName from #t where ID=@j  set @j = @j 1  set @SchemaTable = 'ALTER SCHEMA sqlwell TRANSFER ' @procName  exec (@SchemaTable) end drop table #t
其中原来的架构为代表dbo,先的为sqlwell 要修改表的架构时,只要修改上面的xtype='P' 为xtype='U' 
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

win11提示若要继续,请输入管理员用户名和密码怎么解决? win11提示若要继续,请输入管理员用户名和密码怎么解决? Apr 11, 2024 am 09:10 AM

当使用Win11系统时,有时候会遇到需要输入管理员用户名和密码的提示,本文将探讨在遇到这种情况时应该如何处理。方法一:1、点击【Windows徽标】,然后按【Shift+重启】进入安全模式;或者这样进入安全模式:点击开始菜单,选择设置。选择“更新和安全”;选择“恢复”中的“立即重启”;重启进入选项后选择——疑难解答——高级选项——启动设置—&mdash

如何在 14 天前更改 Instagram 上的名称 如何在 14 天前更改 Instagram 上的名称 Apr 16, 2023 pm 02:40 PM

在社交媒体的早期,您可以多次更改您的个人资料名称,但现在在任何社交媒体应用程序上更改您的姓名都有其自身的一套限制。如果您一直想更改您在Instagram上的显示名称或用户名,下面的帖子将解释您可以更改它们的频率、如何进行更改,以及当您无法在Instagram上更改您的名称时可以采取哪些措施该平台。如何更改Instagram上的显示名称和用户名?Instagram为您的姓名提供了两个位置——您的显示名称和您的用户名,幸运的是,您可以在移动应用程序中轻松更改这两个位置。显示名称是您通常输入真

修复:出现问题 Oobekeyboard Ooberegion Oobelocal oobe 设置问题在 Windows 11 / 10 修复:出现问题 Oobekeyboard Ooberegion Oobelocal oobe 设置问题在 Windows 11 / 10 Apr 17, 2023 am 09:01 AM

OOBE或开箱即用体验是为用户设计的流程,用于指导他们完成安装后步骤的各个阶段。这包括权利和协议页面、登录页面、WiFi或网络连接选项等。如果您收到任何OOBEKeyboard、OOBELOCAL或OOBEREGION问题,则无法继续进行最后的安装步骤。不用担心。您可以使用一些简单的修复程序来解决此问题。解决方法——在你做任何其他事情之前,请尝试这些正常的解决方案-1.当您收到错误提示时,请继续点击“再试一次”提示。至少继续尝试7到8次。2.检查网络连通性。如果您使用的是以太网连接或Wi

怎样透过几个步骤获取您的 Steam ID? 怎样透过几个步骤获取您的 Steam ID? May 08, 2023 pm 11:43 PM

现在很多热爱游戏的windows用户都进入了Steam客户端,可以搜索、下载和玩任何好游戏。但是,许多用户的个人资料可能具有完全相同的名称,这使得查找个人资料或什至将Steam个人资料链接到其他第三方帐户或加入Steam论坛以共享内容变得困难。为配置文件分配了一个唯一的17位id,它保持不变,用户无法随时更改,而用户名或自定义URL可以更改。无论如何,一些用户并不知道他们的Steamid,这对于了解这一点非常重要。如果您也不知道如何找到您帐户的Steamid,请不要惊慌。在这篇文

铁路12306用户名怎么填写 铁路12306用户名怎么填写 Feb 23, 2024 pm 04:07 PM

铁路12306用户名怎么填写?铁路12306APP中是可以填写用户名的,但是多数的小伙伴不知道铁路12306如何填写用户名,接下来就是小编为用户带来的铁路12306用户名填写方法图文教程,感兴趣的用户快来一起看看吧!铁路12306使用教程铁路12306用户名怎么填写1、首先打开铁路12306APP,主页面点击下方的【注册】;2、然后在注册的功能页面,输入用户名、密码、确认密码等等;3、最后输入完成之后即可填写用户注册。

wifi用户名是什么 wifi用户名是什么 Mar 21, 2023 am 11:32 AM

wifi用户名是指无线路由器的管理用户名,这个用户名和路由器的IP地址以及管理口令的默认值通常都印在无线路由器的底部,在无线路由器的说明书上也能找到;多数路由器的默认管理用户名都是admin,管理口令也是admin。

如何在 Android 手机上更改 Instagram 用户名 如何在 Android 手机上更改 Instagram 用户名 Apr 14, 2023 pm 07:31 PM

Instagram是主要基于照片和视频共享的社交媒体巨头之一。人们通过应用程序浏览高质量的照片,现在使用Instagram卷轴和IGTV,有短视频和长视频。通过广告以及他们如何利用不断增长的追随者数量,这也成为全球许多人的一大收入来源。该应用程序非常容易上瘾,只需浏览该应用程序即可花费数小时。Instagram应用程序允许您选择新用户名,还可以选择新名称。名称和用户名之间的主要区别在于,用户名是您的个人资料的标题,而名称是您的个人资料所代表的描述。在此,让我们看看如何使用安卓手机更改您的姓名。

如何使用MTR对数据库升级和迁移进行验证 如何使用MTR对数据库升级和迁移进行验证 Jul 14, 2023 pm 03:03 PM

如何使用MTR对数据库升级和迁移进行验证引言:数据库升级和迁移是数据库管理员经常进行的任务。为了保证升级和迁移的成功,我们需要进行一系列的验证。MySQL提供了一个非常有用的测试框架工具MTR(MySQLTestRun),可以帮助我们进行全面的测试和验证。在本文中,我们将介绍如何使用MTR来验证数据库升级和迁移。一、什么是MTR?MySQLTestR

See all articles