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, 1088 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
Datenbanken
gelöst SQL Abfrage mit Visual Studio (5)

Frage von specialuser zum Thema Datenbanken ...

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 ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Festplatten, SSD, Raid
PC stellt nach dem Bios ab (19)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...

iOS
16 iPads zentrall verwalten (18)

Frage von simonlohr zum Thema iOS ...

Windows 7
Freeware MSI Tool (13)

Frage von uridium69 zum Thema Windows 7 ...

Microsoft Office
gelöst VBA Excel Problem mit UserForm, ListBox und TextBox (12)

Frage von abuelito zum Thema Microsoft Office ...