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
Please also mark the comments that contributed to the solution of the article
Content-Key: 232000
Url: https://administrator.de/contentid/232000
Printed on: April 19, 2024 at 21:04 o'clock
3 Comments
Latest comment
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"