PS, SQL Abfrage
Hallo zusammen,
sorry, muss heute nochmal was fragen...
Ich möchte von einer lokalen SQL-Instanz abfragen ob der Account mit dem ich Arbeite auch in der Rolle "cbcreator" ist. Das geht per "SELECT IS_SRVROLEMEMBER('dbcreator')", aber mein Problem ist, wie setze ich möglichst "stabil" den Select ab um sicher zugehen das die Instanz/SQL Server vorhanden ist, wie reagiere ich auf Fehler (wenn kein SQL Server inistalliert ist) oder prüfe ob der Zugriff schon nicht funktioniert hat?
Theoretisch geben ich der Funktion den Instanz und die gewünschte Rolle mit, aus der Funktion gebe ich True zurück wenn es geklappt hat sonst eben False.
Da dies ein wichtiger Schritt bei der Installation einer Software ist, möchte ich sichergehen das die Rolle passt und vor allem ob ein Zugriff möglich war.
Viele Grüsse,
Daniel
sorry, muss heute nochmal was fragen...
Ich möchte von einer lokalen SQL-Instanz abfragen ob der Account mit dem ich Arbeite auch in der Rolle "cbcreator" ist. Das geht per "SELECT IS_SRVROLEMEMBER('dbcreator')", aber mein Problem ist, wie setze ich möglichst "stabil" den Select ab um sicher zugehen das die Instanz/SQL Server vorhanden ist, wie reagiere ich auf Fehler (wenn kein SQL Server inistalliert ist) oder prüfe ob der Zugriff schon nicht funktioniert hat?
Theoretisch geben ich der Funktion den Instanz und die gewünschte Rolle mit, aus der Funktion gebe ich True zurück wenn es geklappt hat sonst eben False.
Da dies ein wichtiger Schritt bei der Installation einer Software ist, möchte ich sichergehen das die Rolle passt und vor allem ob ein Zugriff möglich war.
Viele Grüsse,
Daniel
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 232000
Url: https://administrator.de/forum/ps-sql-abfrage-232000.html
Ausgedruckt am: 17.04.2025 um 09:04 Uhr
3 Kommentare
Neuester Kommentar
Hallo Daniel,
du kannst es mal hiermit versuchen (getestet auf einem MSSQL Server 2008R2)
Grüße Uwe
du kannst es mal hiermit versuchen (getestet auf einem MSSQL Server 2008R2)
function checkSQLRoleMember([string]$server,[string]$role){
$conn = new-object System.Data.SqlClient.SqlConnection
$conn.ConnectionString = “Server=$server;Database=master;Integrated Security=True”
$query = "SELECT IS_SRVROLEMEMBER('$role')"
try{
$conn.Open()
$cmd = $conn.CreateCommand()
$cmd.CommandText = $query
$cmd.Connection = $conn
$result = $cmd.ExecuteScalar()
$conn.close()
if ($result -eq 1 ){
$true
}else{
$false
}
}
catch{
echo "Fehler: $($_.Exception.Message)"
$conn.close()
$false
}
}
checkSQLRoleMember "localhost" "dbcreator"