日韩性视频-久久久蜜桃-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ò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产一卡二卡三卡 | 中文字幕乱码一区二区三区 | 精品人妻一区二区三区久久嗨 | 日韩网 | 韩日av片| 91高清视频| 午夜视频在线看 | 成人精品一区二区三区在线 | 色噜噜狠狠狠综合曰曰曰 | 高h大肚孕期孕妇play | 欧美色哟哟 | 成人亚洲精品777777ww | 婷婷一区二区三区四区 | 亚洲四区在线 | 神马伦理视频 | 日韩综合在线 | 中文字幕在线亚洲 | 欧美 日韩 国产 一区二区三区 | 人妻一区二区视频 | 亚洲成人自拍视频 | 在线黄色av | 国产成人久久精品77777综合 | 亚洲成人一区二区在线观看 | 丰满大乳露双乳呻吟 | 亚洲精品在线免费看 | 国产精品福利在线观看 | 成人区一区二区 | 小视频在线观看 | 神马久久av | 成人涩涩网 | 中文字幕成人在线观看 | 日韩欧美中文在线观看 | av在线伊人 | 青青操在线视频 | 亚洲第一页乱 | 中文字幕Av日韩精品 | 色综合99 | 国产一级三级 | 免看一级a毛片一片成人不卡 | 国产精品视频入口 | 日韩草逼 | 午夜国产一区二区三区 | 男人的亚洲天堂 | 福利片av | 日日日干干干 | 午夜h视频 | 国产无遮挡又黄又爽又色 | 欧美日韩一区二区三区四区五区六区 | 91秦先生在线播放 | 成年性生交大片免费看 | 级毛片内射视频 | 波多野结衣99 | 污网站在线播放 | 欧美hdse| 国产中出视频 | 不用播放器av | 邵氏电影《金莲外传2》免费观看 | 曰批又黄又爽免费视频 | 日本高清免费不卡视频 | 天天天天 | 欧美第一精品 | 黑人干日本少妇 | 狠狠av| 亚洲青青操 | 亚洲一二三 | 三级欧美韩日大片在线看 | 国产精品视频在线看 | 懂色av蜜臀av粉嫩av分享 | 亚洲精品97久久中文字幕 | 特级毛片在线观看 | 美女隐私直播 | 国产青草视频在线观看 | 99热中文| 99免费视频| 日韩av色图| 欧美日韩精品久久 | 天堂在线中文字幕 | 久久香焦 | 末路1997全集免费观看完整版 | 九九久久精品视频 | 嫩草影院av| 午夜激情综合 | 天堂av网址| 亚洲一区电影在线观看 | 亚洲国产精品久久 | 日韩天堂在线观看 | 香蕉在线播放 | www.com污| 国产成年人 | 啪啪自拍视频 | 亚洲精品中文字幕成人片 | 午夜免费影院 | 毛片大全在线观看 | 人妻一区二区在线 | 爱爱免费视频网站 | 91欧美在线 | 久久久久无码国产精品一区 | 久久天堂av综合合色蜜桃网 | 久久精品欧美日韩 |