SQL Server中有一個登錄名/用戶在導入生產服務器中的帳戶時遇到問題。我不知道他在做什麼。據一個導入,這個導入在開發服務器上工作正常。但是當他在生產中進行同樣的進口時,卻給他帶來了錯誤。以下是他爲每個帳戶獲得的錯誤。如何以編程方式比較SQL Server 2005中登錄/用戶的權限
2009-06-05 18:01:05.8254 ERROR [engine-1038] Task [1038:00001 - Members]: Step 1.0 [<Insert step description>]: Task.RunStep(): StoreRow has failed
2009-06-05 18:01:05.9035 ERROR [engine-1038] Task [1038:00001 - Members]: Step 1.0 [<Insert step description>]: Task.RunStep(): StoreRow exception: Exception caught while storing Data. [Microsoft][ODBC SQL Server Driver][SQL Server]'ACCOUNT1' is not a valid login or you do not have permission.
請注意'ACCOUNT1'不是真實的帳戶名稱。我出於安全考慮而改變了它。
使用SQL Server Management Studio(SSMS),我查看/檢查了正在從開發服務器和生產執行導入的用戶/登錄的權限以進行比較。我發現沒有區別。
我的問題是:有沒有辦法以編程方式查詢特定登錄名/用戶的服務器和數據庫級別的權限,以便我可以比較/對比任何差異?
你應該加入到'sys.all_objects'和使用'離開join'貫穿始終,因爲現在你丟失的數據庫級別的權限和系統對象。 – ajeh 2017-08-15 18:17:15