Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1551 | Anzahl registrierter User: 1841 | Besucher online: 105
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

SMO : Alle Datenbanken einer Serverinstanz abfragen


Autor: pro
Sprache: C#
Bewertung:
noch nicht bewertet
Anzahl der Aufrufe: 9080
  
Kick it on dotnet-kicks.de  

Beschreibung:

Mit der Methode GetSqlServerInstanceDataBases() können alle Datenbanken einer MS SQL Serverinstanz ermittelt werden. Die Methode gibt eine generische Liste von Datenbank - Objekten zurück.

Für diese Ermittlung braucht es folgende Bibliotheken:

Microsoft.SqlServer.ConnectionInfo
Microsoft.SqlServer.Smo

Man muss folgende Namespaces einbinden :

Microsoft.SqlServer.Management.Smo
Microsoft.SqlServer.Management.Common


Abgelegt unter: SMO, Database, Datenbank, MSSQL, Server, Instanz, Datenbankserver.



C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
/// <summary>
/// Gibt alle Datenbanken einer MS Sql Server Instanz zurück
/// </summary>
/// <param name="instance">Serverinstanz</param>
/// <param name="login">Benutzername</param>
/// <param name="password">Passwort</param>
/// <param name="trustedConnection">Trusted Connection (Windows Authentication)</param>
/// <returns>Gibt eine Liste der Datenbanken zurück</returns>
        public static List<Database> GetSqlServerInstanceDataBases(
            string instance,
            string login,
            string password,
            bool trustedConnection)
        {
            //Datenbankliste erstellen
            List<Database> databases = new List<Database>();

            // Verbindung zum SQL-Server über SMO aufbauen
            ServerConnection serverConnection = new ServerConnection();
            serverConnection.ServerInstance = instance;

            serverConnection.LoginSecure = trustedConnection;

            //Falls Trusted Connection nicht ausgewählt ist --> Logindaten setzen
            if (!trustedConnection)
            {
                serverConnection.Login = login;
                serverConnection.Password = password;
            }

            //Server definieren
            Server server = new Server(serverConnection);

            try
            {
                // Verbindung aufbauen
                server.ConnectionContext.Connect();

                // Datenbanken abfragen
                foreach (Database database in server.Databases)
                    databases.Add(database);
            }
            catch (ConnectionFailureException connectEx)
            {
                throw new ConnectionFailureException("Probleme beim Verbinden auf den Server " + instance + ".",
                    connectEx.InnerException);
            }
            finally
            {
                try
                {
                    // Verbindung zum SQL-Server abbauen
                    server.ConnectionContext.Disconnect();
                }
                catch(SmoException smoExDis)
                {
                    throw new SmoException("Fehler beim Auflösen der Verbindung mit dem Server " + instance + ".",
                        smoExDis.InnerException);
                }
            }

            //Datenbanken zurückgeben
            return databases;
        }
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)



schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.