schmitzkatze
Goto Top

SQL Userliste exportieren in Datei

Hallo Ihr superSQLSpezialisten.

ich möchte eine Übersicht (csv-Datei) haben, worin alle angelegten User stehen, die in der master DB enthalten sind.

Warum?

Geheim face-wink

Server: SQL Server 2008

Meine ersten gehversuche:

sqlcmd -UUsername -PPasswort -S Servername -Q "select * from master" -o "C:\test.csv" -h-1 -s"," -w 700

Damit erhalte ich alle Tabelen, aber wie komme ich an die Usernamen ran?

Ihr habt bestimmt eine Idee!

Danke schonmal.

Gruß Schmitzkatze

Content-ID: 233725

Url: https://administrator.de/contentid/233725

Ausgedruckt am: 24.11.2024 um 12:11 Uhr

Snowman25
Lösung Snowman25 26.03.2014, aktualisiert am 27.03.2014 um 08:07:02 Uhr
Goto Top
Hallo @schmitzkatze,

MSDN sagt, dass die diese commands helfen:
sp_who
oder als SQL-statement:
SELECT spid, status, loginame, hostname, blocked, db_name(dbid), cmd FROM master..sysprocesses
bzw.
SELECT * FROM sys.server_principals

Gruß,
@Snowman25
schmitzkatze
schmitzkatze 27.03.2014 um 08:12:06 Uhr
Goto Top
HA! da isses

Danke Snowman25

Ich wusste schon immer "Man muss nur jemanden fragen, der sich auskennt"

Ich hab es nun so gemacht:

sqlcmd -UUsername -PPasswort -S Server -Q "SELECT * FROM sys.server_principals" -o "C:\test.csv"

Hier sind jetzt alle Usernamen drin.

Es gibt zwar noch viele andere Spalten die ich nicht brauche, aber egal - dieses Ergebnis ist erst mal für mich ausreichend.

Den Rest (auswertung etc. mache ich in VB)

Danke nochmal

Schmitzkatze
Biber
Biber 27.03.2014 um 19:29:50 Uhr
Goto Top
Moin Schmitzkatze,

Zitat von @schmitzkatze:


Ich hab es nun so gemacht:

sqlcmd -UUsername -PPasswort -S Server -Q "SELECT * FROM sys.server_principals" -o "C:\test.csv"

Hier sind jetzt alle Usernamen drin.

Es gibt zwar noch viele andere Spalten die ich nicht brauche, aber egal -
Meine Appz-EntwicklerInnen machen mich genau damit auch wahnsinnig - erstmal ein "SELECT * " auf eine Tabelle mit 130 Spalten, dann aus dem Resultset die zwei Felder rausfieseln, die relevant sind.
Warum nicht gleich ein "SELECT feld3, feld17 From.." ?

...dieses Ergebnis ist erst mal für mich ausreichend.

Den Rest (auswertung etc. mache ich in VB)
Genau, erstmal alles nehmen, was es zum gleichen Preis gibt, und dann in Ruhe mit einem starken Magneten die Nadeln im Heuhaufen suchen...

Leuchtet mir nicht ein, dieses Vorgehen.

Grüße
Biber
Snowman25
Snowman25 28.03.2014 um 09:52:45 Uhr
Goto Top
Zitat von @Biber:

Meine Appz-EntwicklerInnen machen mich genau damit auch wahnsinnig - erstmal ein "SELECT * " auf eine Tabelle mit 130
Spalten, dann aus dem Resultset die zwei Felder rausfieseln, die relevant sind.
Warum nicht gleich ein "SELECT feld3, feld17 From.." ?
Oder noch schöner: SELECT feld3 as Username, feld17 as hostname FROM <db>
Aber ursprünglich wollte ich die Vorgehensweise des Fragestellers nicht kommentieren face-smile.
schmitzkatze
schmitzkatze 28.03.2014 um 10:56:23 Uhr
Goto Top
Ich dachte ich bin in einem Forum, wo man als Anfänger Fragen stellen kann und andere die fachlich sich gut auskennen Antworten und ich kann etwas lernen.

So habe ich mir das vorgestellt.

Scheinbar ist dieses Forum etwas anders!

Anstatt einen konkreten Vorschlag zu machen, z.B. "Wenn Du nur die Usernamen möchtest, versuch mal folgendes SQL-Kommando" - dann können auch andere lernen...

In diesem Forum macht man sich über "Anfänger" lustig!

... "Meine Appz-EntwicklerInnen machen mich genau damit auch wahnsinnig"
... dann noch eine Steigerung: "Oder noch schöner:..."


Ob ich hier nochmal eine Frage stelle... (Ich glaube nicht)


Schmitzkatze