Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

PS, SQL Abfrage

Frage Entwicklung Batch & Shell

Mitglied: DanielBodensee

DanielBodensee (Level 1) - Jetzt verbinden

07.03.2014 um 18:11 Uhr, 1079 Aufrufe, 3 Kommentare, 2 Danke

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
Mitglied: colinardo
08.03.2014, aktualisiert 09.03.2014
Hallo Daniel,
du kannst es mal hiermit versuchen (getestet auf einem MSSQL Server 2008R2)
01.
function checkSQLRoleMember([string]$server,[string]$role){ 
02.
    $conn = new-object System.Data.SqlClient.SqlConnection 
03.
    $conn.ConnectionString = “Server=$server;Database=master;Integrated Security=True” 
04.
    $query = "SELECT IS_SRVROLEMEMBER('$role')" 
05.
    try{ 
06.
        $conn.Open() 
07.
        $cmd = $conn.CreateCommand() 
08.
        $cmd.CommandText = $query 
09.
        $cmd.Connection = $conn 
10.
        $result = $cmd.ExecuteScalar() 
11.
        $conn.close() 
12.
        if ($result -eq 1 ){ 
13.
            $true 
14.
        }else{ 
15.
            $false 
16.
17.
18.
    catch{ 
19.
        echo "Fehler: $($_.Exception.Message)" 
20.
	$conn.close() 
21.
	$false 
22.
23.
    
24.
25.
 
26.
checkSQLRoleMember "localhost" "dbcreator"
Grüße Uwe
Bitte warten ..
Mitglied: DanielBodensee
08.03.2014 um 13:08 Uhr
Hallo Uwe,

eine Frage noch

Wie kann ich eigentlich auslesen mit welchem Account das Script gestartet wurde? Ich möchte das im Logfile eintragen da ich ab und an Probleme erwarte und daher bei der Analyse im Logfile sehen will wie das Script gestartet wurde.

Viele Grüsse,
Daniel
Bitte warten ..
Mitglied: colinardo
08.03.2014 um 14:16 Uhr
$env:USERNAME
Grüße Uwe
Bitte warten ..
Ähnliche Inhalte
Entwicklung
gelöst SQL Abfrage Zeit: JETZT - 30 Sekunden (17)

Frage von Andinistrator1 zum Thema Entwicklung ...

Datenbanken
gelöst Hilfe bei SQL-Abfrage (5)

Frage von emeriks zum Thema Datenbanken ...

Datenbanken
gelöst SQL-Abfrage mit "kleiner gleich" funktioniert nicht (2)

Frage von derSESO zum Thema Datenbanken ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (50)

Frage von sabines zum Thema Internet ...

Netzwerke
LAN2LAN Verbindung sehr langsam flaschenhals gesucht (27)

Frage von PixL86 zum Thema Netzwerke ...

Router & Routing
PFsense - Netzverbindung steht, aber kein Internet vorhanden (24)

Frage von aschmid zum Thema Router & Routing ...

Windows Server
gelöst Windows 2016 Hyper-V und VHDS (19)

Frage von emeriks zum Thema Windows Server ...