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, 1055 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 ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Datenbanken
gelöst Verschachtelte SQL-Abfrage (4)

Frage von User1000 zum Thema Datenbanken ...

Datenbanken
gelöst SQL-Abfrage und leere Felder vermeiden (12)

Frage von zwangseinweisung zum Thema Datenbanken ...

Datenbanken
gelöst SQL-Abfrage - Anzahl der Wechsel zählen (15)

Frage von Cire48 zum Thema Datenbanken ...

Datenbanken
gelöst SQL-Abfrage - DISTINCT - letztes Datum (3)

Frage von emeriks zum Thema Datenbanken ...

Heiß diskutierte Inhalte
Linux
gelöst Boot failed: not a bootable disk (10)

Frage von Fleckmen zum Thema Linux ...

Multimedia & Zubehör
gelöst Iphone 6 prob (8)

Frage von jensgebken zum Thema Multimedia & Zubehör ...

Windows Installation
Eine etwas (wirklich) speziellere Frage: Windows 10-Installation über (8)

Frage von DerFurrer zum Thema Windows Installation ...

Windows Server
Probleme mit Client Software Zugriff auf Windows Server 2012 (8)

Frage von it-kolli zum Thema Windows Server ...