具体说吧,我想做的事情是这样的,
假设有我原来有一个数据库MYTEST,它是属于用户test的,后来数据库崩溃了,我想恢复这个数据库,采用的是附加数据库的方法,我的操作步骤是这样的,先建立一个test用户,然后在将数据文件*.mdf,附加上去,所属用户选择test,附加完成后,出现了一些问题,即访问数据库中的表必须要
select * from test.表名,如果只写select * from 表名,根本就不行,提示无此表,怎么才能去掉前面的test,如果不能实现这个效果的话,所有的程序几乎都要改,我应该怎么做
假设有我原来有一个数据库MYTEST,它是属于用户test的,后来数据库崩溃了,我想恢复这个数据库,采用的是附加数据库的方法,我的操作步骤是这样的,先建立一个test用户,然后在将数据文件*.mdf,附加上去,所属用户选择test,附加完成后,出现了一些问题,即访问数据库中的表必须要
select * from test.表名,如果只写select * from 表名,根本就不行,提示无此表,怎么才能去掉前面的test,如果不能实现这个效果的话,所有的程序几乎都要改,我应该怎么做
1.
CREATE PROCEDURE dbo.ChangeObjectOwner
@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 这个不用任何改动
2.
exec ChangeObjectOwner '原所有者','目标所有者(test)' 我经常用的。
服务器: 消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,行 38
对象 'rose007.DF_hahacorplist_hahaRegisterTime' 不存在或不是对此操作有效的对象。
服务器: 消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,行 38
对象 'rose007.DF_hahacorplist_hahaStatus' 不存在或不是对此操作有效的对象。
服务器: 消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,行 38
对象 'rose007.DF_hahalist_hahaStatus' 不存在或不是对此操作有效的对象。
服务器: 消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,行 38
对象 'rose007.DF_hahalist_seeTimes' 不存在或不是对此操作有效的对象。
服务器: 消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,行 38
对象 'rose007.DF_newsList_newsUpDate' 不存在或不是对此操作有效的对象。
服务器: 消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,行 38
对象 'rose007.DF_onlinesavelist_processflag' 不存在或不是对此操作有效的对象。
服务器: 消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,行 38
对象 'rose007.DF_orderList_deliverAreaType' 不存在或不是对此操作有效的对象。
服务器: 消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,行 38
对象 'rose007.DF_orderList_orderDeliverStatus' 不存在或不是对此操作有效的对象。
服务器: 消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,行 38
对象 'rose007.DF_orderList_orderPayStatus' 不存在或不是对此操作有效的对象。
服务器: 消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,行 38
对象 'rose007.DF_orderList_orderType_1' 不存在或不是对此操作有效的对象。
服务器: 消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,行 38
对象 'rose007.DF_orderList_timeflag' 不存在或不是对此操作有效的对象。
服务器: 消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,行 38
对象 'rose007.DF_orderRecieverList_notifyStatus' 不存在或不是对此操作有效的对象。
服务器: 消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,行 38
对象 'rose007.DF_orderRecieverList_orderPubFlag' 不存在或不是对此操作有效的对象。
服务器: 消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,行 38
对象 'rose007.DF_orderRecieverList_recieverCountry' 不存在或不是对此操作有效的对象。
服务器: 消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,行 38
对象 'rose007.DF_productorderlist_orderTime' 不存在或不是对此操作有效的对象。
服务器: 消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,行 38
对象 'rose007.DF_submemberlist_regTime' 不存在或不是对此操作有效的对象。
服务器: 消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,行 38
对象 'rose007.DF_submemberlist_subStatus' 不存在或不是对此操作有效的对象。
服务器: 消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,行 38
对象 'rose007.DF_tmpagent_referenceDate' 不存在或不是对此操作有效的对象。
服务器: 消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,行 38
对象 'rose007.DF_tmpagent_webID' 不存在或不是对此操作有效的对象。
服务器: 消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,行 38
对象 'rose007.DF_tmpcustomer_loginDate' 不存在或不是对此操作有效的对象。
服务器: 消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,行 38
对象 'rose007.DF_tmpcustomer_webID' 不存在或不是对此操作有效的对象。
服务器: 消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,行 38
对象 'rose007.DF_tmpOrder_submitTime' 不存在或不是对此操作有效的对象。
服务器: 消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,行 38
对象 'rose007.DF_weblist_webOrderCount' 不存在或不是对此操作有效的对象。
服务器: 消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,行 38
对象 'rose007.DF_weblist_webReduce' 不存在或不是对此操作有效的对象。
服务器: 消息 15001,级别 16,状态 1,过程 sp_changeobjectowner,行 38
对象 'rose007.DF_weblist_webStatus' 不存在或不是对此操作有效的对象。
注意: 更改对象名的任一部分都可能破坏脚本和存储过程。