我目前正在使用SQL Server 2005,並嘗試從幾個月前恢復數據庫,但當我嘗試創建帳戶時恢復它時,它告訴我該帳戶已存在但您無法看到它在安全之下。我嘗試刪除該帳戶,但它告訴我該帳戶不存在可以放棄...但是當我嘗試創建它時,它告訴我它存在......它令我瘋狂。我完全從服務器和所有鏈接的服務器和所有數據庫中刪除該帳戶,並且我試圖再次重新創建它,它可以在所有數據庫上運行,除了它始終存在的一個數據庫。任何想法可能是什麼或我應該檢查什麼?SQL Server帳戶問題
0
A
回答
1
作爲一名DBA,我總是遇到這個問題。而GUI並沒有什麼幫助。你的SQL服務器有你想要的賬號,db有你想要的賬號,但是它們在恢復時不會自動連接。
解決這個問題的真正方法是停止使用個人賬戶。僅基於作爲活動目錄組的成員提供對數據庫的訪問權限。然後,您可以將訪問問題提供給AD組。順便說一句:雖然個人帳戶不會在還原時自動重新連接,但羣組訪問可以。
下面是我用來解決相同問題的一些代碼。
create procedure [dbo].[proc_FarSyncLogins] @TargetDB nvarchar(128)= '' as
begin
SET NOCOUNT ON
declare @cmd varchar(1000)
begin try
drop table master.dbo.NeededUsers
end try
begin catch
print 'could not: drop table master.dbo.NeededUsers'
end catch
set @cmd='select name collate Latin1_General_CI_AS as name,is_disabled
into master.dbo.NeededUsers
from ['[email protected]+'].sys.sql_logins'
--print @cmd
exec(@cmd)
print 'logins that need to be enabled'
select * from master.dbo.NeededUsers
declare @UserName nvarchar(128)
declare SyncUsers1 cursor fast_forward for SELECT Name FROM master.dbo.NeededUsers
OPEN SyncUsers1
FETCH NEXT FROM SyncUsers1 INTO @UserName
WHILE @@FETCH_STATUS = 0
BEGIN
set @cmd = ''
if @TargetDB <> ''
begin
set @[email protected]+'Use ['[email protected]+']; '+char(10)
end
begin try
SET @cmd = @cmd+'ALTER LOGIN ['[email protected]+'] ENABLE; '+char(10)
SET @cmd = @cmd+'exec sp_change_users_login @Action=''Auto_Fix'', @UserNamePattern ='''[email protected]+'''; '+char(10)
PRINT @cmd
EXEC(@cmd)
end try
begin catch
Print 'Failed :'[email protected]
end catch
FETCH NEXT FROM SyncUsers1 INTO @UserName
END
CLOSE SyncUsers1
DEALLOCATE SyncUsers1
end
然後,只需
exec master.dbo.proc_FarSyncLogins '<yourDBName>';
它是確定地哈克,你將要仔細閱讀輸出來驗證你的意思做的所有這些行動。但大多數時候你只想恢復你以前的一切。
1
該帳戶存在於數據庫和服務器級別。
因此,您需要從數據庫本身刪除帳戶,但不能從服務器中刪除該帳戶,因爲它不存在該帳戶。 你有沒有試過...
use {yourdatabasename}
go
EXEC sp_dropuser '{username}'
2
你在數據庫中有孤立的用戶帳戶。將數據庫從一臺服務器複製/移動到另一臺服務器時,這是非常常見的問題。您需要將它們從數據庫用戶中刪除或者更好的選擇是創建服務器登錄並將該登錄映射到該孤立數據庫用戶。 雖然回來我用my blog寫了一些演示腳本,但你可能想看看它。或者只需查看this MSDN link即可使用可用於管理孤立用戶的SP。
相關問題
- 1. 帳戶層級Salesforce帳戶 - SQL Server
- 2. 的SQL Server 2014 - 無法獲得SQL Server的帳戶訪問DB
- 3. SQL Server 2008 R2的 「服務器帳戶」 安裝設置問題
- 4. 應用VS SQL Server 2008的帳戶問題
- 5. Dotnetnuke安裝; Microsoft SQL Server'sa'帳戶問題
- 6. MailChimp帳戶問題
- 7. Sql Server問題
- 8. SQL Server問題
- 9. 問題與SQL Server
- 10. DateDiff SQL Server問題
- 11. SQL SERVER PARAMETER問題
- 12. SQL Server PIVOT問題
- 13. SQL Server trim()問題
- 14. SQL Server池問題
- 15. SQL Server datetime問題?
- 16. 問題在SQL Server
- 17. SQL Server的問題
- 18. SQL Server 2008問題
- 19. 使用SQL Server帳戶(2005和2008)
- 20. SQL Server網絡服務帳戶權限
- 21. sql server 2008啓用sa帳戶
- 22. SQL Server複製過程帳戶錯誤
- 23. SQL Server和所有者帳戶
- 24. SQL Server 2008中啓用sa帳戶
- 25. ASP.net和SQL Server 2005:ASPNET帳戶設置
- 26. 使用服務帳戶使用SQL Server
- 27. SQL Server的兩個管理員帳戶
- 28. 禁用Sql Server Windows登錄帳戶?
- 29. 監視SQL Server 2005帳戶活動
- 30. 停止連接到SQL Server sa帳戶?
嘿感謝您的快速回復。是的,我試過了,它不工作...仍然給我一個錯誤,用戶不存在刪除。 – 2012-03-27 14:09:42
你看到它在這裏... select * from sys.sysusers – 2012-03-27 14:22:34
,你可以在這裏看看它的主... select * from sys.syslogins – 2012-03-27 14:24:35