日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL对象名无效怎么办法 华骨龙

發(fā)布時(shí)間:2025/5/22 数据库 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL对象名无效怎么办法 华骨龙 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.


?

?

使用sqlserver數(shù)據(jù)庫時(shí),產(chǎn)生SQL對(duì)象名無效的問題一般是以下兩種常見原因,下面根據(jù)不同的原因給出解決方法。

原因一:數(shù)據(jù)庫做過遷移,新數(shù)據(jù)庫的對(duì)象所有者名稱不同造成

數(shù)據(jù)庫做了遷移后,一般會(huì)進(jìn)行導(dǎo)入/還原數(shù)據(jù)的過程,在這個(gè)過程中,要注意新數(shù)據(jù)庫的完整對(duì)象名與原來是一致的。
比如,您的舊數(shù)據(jù)庫名叫 db1 , 舊數(shù)據(jù)庫用戶是 dbuser1, 現(xiàn)在要遷移到新的數(shù)據(jù)庫上,新數(shù)據(jù)庫名是 db2, 新數(shù)據(jù)庫用戶是 dbuser2。
sqlserver對(duì)象的完整對(duì)象名是?數(shù)據(jù)庫名.用戶名.表名?這樣的,假設(shè)你的舊數(shù)據(jù)庫上有個(gè)表名叫 table1,那它的完整對(duì)象名就是 db1.dbuser1.table1,
當(dāng)你用新的數(shù)據(jù)庫名登錄導(dǎo)入舊數(shù)據(jù)時(shí),新的表名可能變成了 db2.dbuser2.table1,這樣的話,您的程序查詢數(shù)據(jù)時(shí)可能會(huì)出現(xiàn)對(duì)象名無效的錯(cuò)誤。

原因二:新建的數(shù)據(jù)庫,沒有將初始數(shù)據(jù)導(dǎo)入到新庫里。
解決方法:
請(qǐng)登錄到我司數(shù)據(jù)庫控制面板->備份還原系統(tǒng),然后使用數(shù)據(jù)庫還原的功能,在那里直接將您的數(shù)據(jù)庫備份上傳還原,如果操作過程沒有出現(xiàn)錯(cuò)誤,一般您的數(shù)據(jù)庫就已經(jīng)還原了,此方法適合還原一些初始數(shù)據(jù)不是很大的數(shù)據(jù)庫(30M以內(nèi)),如果您的數(shù)據(jù)庫初始數(shù)據(jù)很大,在線上傳還原的成功率比較低,這時(shí)請(qǐng)使用數(shù)據(jù)庫導(dǎo)入導(dǎo)出的方法進(jìn)行還原,詳細(xì)的導(dǎo)入導(dǎo)出方法請(qǐng)查看我司的另一篇幫助文檔?數(shù)據(jù)庫導(dǎo)入導(dǎo)出方法詳解

解決方法:要解決這個(gè)問題,一般需要做兩步操作:
1. 請(qǐng)分別使用?sp_changeobjectowner '這里改為數(shù)據(jù)庫完整對(duì)象名','dbo' 這個(gè)命令將所有的用戶表,用戶視圖,用戶存儲(chǔ)過程等的所有者全部改為系統(tǒng)內(nèi)建的特殊用戶dbo
以下是一個(gè)可以簡化執(zhí)行上面操作的存儲(chǔ)過程,以下存儲(chǔ)過程運(yùn)行后可能還會(huì)有部分的對(duì)象改不到所有者,這時(shí)請(qǐng)手動(dòng)執(zhí)行上面的命令將未能改所有者的對(duì)象重新嘗試一下。
declare @CrsrVar cursor
declare @pname? varchar(40) --對(duì)象名
declare @oldowner varchar(40) --原對(duì)象所有者
declare @objfullname varchar(80) --原對(duì)象全名
set @oldowner = '這里改為數(shù)據(jù)表/視圖/存儲(chǔ)過程等的舊所有者名稱'

set?? @CrsrVar = Cursor For select name from sysobjects where xtype='U' --xtype=U 表示用戶表
open? @CrsrVar
fetch next from @CrsrVar into @pname

while(@@fetch_status=0)
begin
?set @objfullname? = @oldowner + '.' + @pname
?exec sp_changeobjectowner @objname=@objfullname,@newowner='dbo'? --dbo為所有者名
?fetch next from @CrsrVar into @pname
end

close?? @CrsrVar
deallocate?? @CrsrVar


2. 可能您的編寫網(wǎng)站程序的時(shí)候沒有注意通用性,在查詢數(shù)據(jù)時(shí)采用了類似?select * from dbuser1.table1?這樣的SQL語句,一般來說,這不是一個(gè)好的習(xí)慣,在這種情況下,如果數(shù)據(jù)庫遷移過的話,經(jīng)常會(huì)導(dǎo)致對(duì)象名無效的錯(cuò)誤,為了避免這種不必要的問題,建議您在程序中查詢數(shù)據(jù)時(shí),直接用?select * from table1?這樣的方式,就是在程序中不在用對(duì)象的完整名稱,而是單使用表名或視圖名,這樣就可以避免不必要的“對(duì)象名無效”的問題。


?

轉(zhuǎn)載于:https://blog.51cto.com/5821189/972270

總結(jié)

以上是生活随笔為你收集整理的SQL对象名无效怎么办法 华骨龙的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 午夜爽爽爽视频 | 黄色小视频免费观看 | 美女视频久久 | 日本午夜视频在线观看 | 精品日韩在线 | 亚洲人妖在线 | 日本人体一区 | 午夜视| 高清精品xnxxcom | 久久嗨| 日韩少妇内射免费播放 | 中文字幕影片免费在线观看 | 欧美成人福利 | 视频国产一区 | jiizzyou性欧美老片 | aise爱色av| 久久久久久久久久久久久久 | 手机在线免费观看av | 国产欧美精品一区二区 | 久久精品这里有 | 欧美精品成人一区二区在线观看 | 美女伊人网 | 亚洲人天堂 | 美景之屋电影免费高清完整韩剧 | 中文视频一区 | 日韩亚洲欧美中文字幕 | 日本xxxx人 | 手机av在线播放 | 中文字幕在线播 | 茄子av| 97人妻精品一区二区三区动漫 | 僵尸叔叔在线观看国语高清免费观看 | 精品国产一区二区视频 | 射婷婷| 男人的亚洲天堂 | 岛国av噜噜噜久久久狠狠av | 精品99久久 | 国产午夜福利一区二区 | 色老板av| 天天黄色片 | 国产精品19乱码一区二区三区 | 草逼导航| 香蕉视频在线观看www | 久久福利视频网 | 亚洲一区二区免费电影 | 视频在线一区二区 | 久久人人爽天天玩人人妻精品 | 欧美三级一区 | 国产精品一区二区三区免费视频 | 夜夜操夜夜爱 | 毛茸茸成熟亚洲人 | 三级伦理视频 | 国产黄色在线观看 | 国产一级做a爰片在线看免费 | 特级西西人体wwwww | 51精品国产人成在线观看 | 侵犯女教师一区二区三区 | 亚洲日本在线观看 | 日韩不卡免费 | 国产在线视频你懂得 | 国产一区二区三区在线看 | 99综合久久 | 日韩国产欧美一区二区 | 在线播放一区二区三区 | 日韩Av无码精品 | 一区二区三区日韩在线 | 色爽爽爽 | 性欧美精品男男 | 婷婷精品 | 欧美伦理在线观看 | 漂亮人妻洗澡被公强 日日躁 | 久久色资源网 | 澳门久久 | 国产亚洲精品久久久久久打不开 | 日韩一级二级三级 | 在线碰 | 夜夜操免费视频 | 噼里啪啦免费看 | 伊人天天操 | 国产精品蜜 | 国产色婷婷一区二区三区竹菊影视 | 国产精品久久久久久久免费观看 | 国产sm调教一区二区 | 中文字幕dvd| 国产成人精 | 伊朗做爰xxxⅹ性视频 | 四季av一区二区夜夜嗨 | 国产成人无码a区在线观看视频 | 久久免费一级片 | 精品少妇人妻AV无码专区在线 | 亚洲天堂美女视频 | 少妇人妻偷人精品无码视频新浪 | 久久久国产免费 | 国产91丝袜在线播放0 | 深夜视频在线免费 | jizz免费视频| 男女日批网站 | 久久综合狠狠 | 亚洲精品在线观看视频 |