解決孤立用戶問題的步驟
1. 為前一步中的孤立用戶運(yùn)行以下命令:
Use Northwind
go
sp_change_users_login 'update_one', 'test', 'test'
這樣,就將服務(wù)器登錄“test”與 Northwind 數(shù)據(jù)庫用戶“test”重新連接起來。
sp_change_users_login 存儲(chǔ)過程還可以使用“auto_fix”參數(shù)對(duì)所有孤立用戶執(zhí)行更新,但不推薦這樣做,因?yàn)?SQL Server 會(huì)嘗試按名稱匹配登錄和用戶。大多數(shù)情況下這都是可行的;但是,如果用戶與錯(cuò)誤登錄關(guān)聯(lián),該用戶可能擁有錯(cuò)誤的權(quán)限。
2. 在上一步中運(yùn)行代碼后,用戶就可以訪問數(shù)據(jù)庫了。然后用戶可以使用 sp_password 存儲(chǔ)過程更改密碼: Use master
go
sp_password NULL, 'ok', 'test'
此存儲(chǔ)過程不能用于 Microsoft Windows NT 安全帳戶。通過 Windows NT 網(wǎng)絡(luò)帳戶連接到 SQL Server 服務(wù)器的用戶是由 Windows NT 授權(quán)的;因此,這些用戶只能在 Windows NT 中更改密碼。
只有 sysadmin 角色的成員可以更改其他用戶的登錄密碼。
SQL2005刪除用戶的時(shí)候,產(chǎn)生“數(shù)據(jù)庫主體在該數(shù)據(jù)庫中擁有架構(gòu),無法刪除”的解決辦法
--執(zhí)行如下SQL語句
ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo;
--然后手動(dòng)刪除就可以了。
[導(dǎo)入]sql2000備份的數(shù)據(jù)庫還原到sql2005后,選擇“數(shù)據(jù)庫關(guān)系圖”提示:此數(shù)據(jù)庫沒有有效所有者,因此無法安裝數(shù)據(jù)庫關(guān)系圖支持對(duì)象"的解決方法
sql2000備份的數(shù)據(jù)庫還原到sql2005后,選擇“數(shù)據(jù)庫關(guān)系圖”提示:此數(shù)據(jù)庫沒有有效所有者,因此無法安裝數(shù)據(jù)庫關(guān)系圖支持對(duì)象。若要繼續(xù),請(qǐng)首先使用“數(shù)據(jù)庫屬性”對(duì)話框的“文件”頁或 ALTER AUTHORIZATION 語句將數(shù)據(jù)庫所有者設(shè)置為有效登錄名,然后再添加數(shù)據(jù)庫關(guān)系圖支持對(duì)象。
解決方法如下:
1、設(shè)置兼容級(jí)別為90(2005為90)
USE [master]
GO
EXEC dbo.sp_dbcmptlevel @dbname='數(shù)據(jù)庫名', @new_cmptlevel=90
GO
或是選責(zé)你還原的數(shù)據(jù)庫,點(diǎn)右鍵,選屬性->選項(xiàng)->兼容級(jí)別,選擇sqlserver2005(90) 然后確定,
這時(shí),你在該數(shù)據(jù)庫下展開“數(shù)據(jù)庫關(guān)系圖”節(jié)點(diǎn)時(shí)會(huì)有個(gè)提示,"此數(shù)據(jù)庫缺少一個(gè)或多個(gè)使用數(shù)據(jù)庫關(guān)系圖所需的支持對(duì)象,是否創(chuàng)建",選擇“是”即可。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |