2018年3月7日 星期三

[SQL Server 2017-SSMS] 無法使用特殊主體 'sa'




因為一開始安裝SQL在新增SQL Server執行個體時,
在[資料庫引擎祖態]的[伺服器組態]的驗證模式中,
[Windows 驗證模式]或[混合模式(SQL Server驗證與Windows驗證)],
選的是[Windows 驗證模式],
所以安裝完後,
SQL Server就將SQL Server驗證的'sa'帳戶設為特殊主體,
導致就算我啟用了'sa'帳號,
我要將'sa'的權限加到資料庫中也是不給加,
Google完後找到的方法真的能使用,
只是這樣以後我新增了新的資料庫,
還是得用語法把'sa'帳號的權限加入到資料庫中,
只好記個筆記了,還有感謝網友。


網友使用的是SQL2008,方式如下:
◆資料庫的相容性層級需要是:90
可用下列的指令調整:
USE [master]
GO
EXEC dbo.sp_dbcmptlevel @dbname=N'資料庫名稱', @new_cmptlevel=90
GO

◆資料庫應該要具備有效的擁有者。
請使用以下的指令來進行調整:
USE master
GO
ALTER AUTHORIZATION ON DATABASE::資料庫名稱 TO sa


USE [資料庫名稱]
GO
EXEC dbo.sp_changedbowner @loginame = N'sa', @map = false
GO

而我使用的是SQL2017,我只使用到如下:
USE master
GO
ALTER AUTHORIZATION ON DATABASE::資料庫名稱 TO sa

就解決了,供參考。






[參考作者]哇哈哈學習筆記

沒有留言:

張貼留言

[Javascript] Devexpress label SetText

看別人用得很順, function saveComplete(s, e) {             var r = e.result;             var result = r.split(',');             switch (r...