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-Key: 233725

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

Printed on: April 16, 2024 at 15:04 o'clock

Member: Snowman25
Solution Snowman25 Mar 26, 2014, updated at Mar 27, 2014 at 07:07:02 (UTC)
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
Member: schmitzkatze
schmitzkatze Mar 27, 2014 at 07:12:06 (UTC)
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
Member: Biber
Biber Mar 27, 2014 at 18:29:50 (UTC)
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
Member: Snowman25
Snowman25 Mar 28, 2014 at 08:52:45 (UTC)
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.
Member: schmitzkatze
schmitzkatze Mar 28, 2014 at 09:56:23 (UTC)
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