it-swarm.com.de

Wie wird die SQL Server-Verbindungszeichenfolge festgelegt?

Ich entwickle eine einfache C # -Anwendung und möchte Folgendes wissen: Wenn ich meine Anwendung mit SQL Server auf meinem PC verbinde, kenne ich die Verbindungszeichenfolge (Servername, Kennwort usw.), aber wenn ich sie mit einer anderen verbinde PC unterscheidet sich die SQL Server-Verbindungszeichenfolge. Gibt es ein allgemeines Konto in SQL Server, das mit einem Standardkonto geliefert wird, das eine Verbindung herstellen kann? Ich habe von sa Konto in SQL Server gehört, was ist sa?

76
Roshan

// .NET DataProvider - Standardverbindung mit Benutzername und Passwort

using System.Data.SqlClient;

SqlConnection conn = new SqlConnection();
conn.ConnectionString =
"Data Source=ServerName;" +
"Initial Catalog=DataBaseName;" +
"User id=UserName;" +
"Password=Secret;";
conn.Open();

// .NET DataProvider - Vertrauenswürdige Verbindung

SqlConnection conn = new SqlConnection();
conn.ConnectionString =
"Data Source=ServerName;" +
"Initial Catalog=DataBaseName;" +
"Integrated Security=SSPI;";
conn.Open();
105
Itachi

Tatsächlich können Sie die SqlConnectionStringBuilder -Klasse verwenden, um Ihre Verbindungszeichenfolge zu erstellen. Um die Verbindungszeichenfolge zu erstellen, müssen Sie ein Objekt aus diesem SqlConnectionStringBuilder instanziieren und seine Eigenschaften mit den Parametern festlegen, mit denen Sie eine Verbindung herstellen die Datenbank. Anschließend können Sie die Verbindungszeichenfolge aus der Eigenschaft ConnectionString aus dem Objekt SqlConnectionStringBuilder abrufen, wie in diesem Beispiel dargestellt :

Zum Beispiel:

    SqlConnectionStringBuilder sConnB = new SqlConnectionStringBuilder ()
    {
        DataSource = "ServerName",
        InitialCatalog = "DatabaseName",
        UserID = "UserName",
        Password = "UserPassword"
    }.ConnectionString

SqlConnection conn = new SqlConnection(sConnB.ConnectionString);

Sie können entweder den Operator new verwenden, um dies direkt vorzunehmen.

Zum Beispiel:

SqlConnection conn = new SqlConnection(
    new SqlConnectionStringBuilder ()
    {
        DataSource = "ServerName",
        InitialCatalog = "DatabaseName",
        UserID = "UserName",
        Password = "UserPassword"
    }.ConnectionString
);

Sie können weitere Parameter hinzufügen, um die Verbindungszeichenfolge zu erstellen . Denken Sie daran, dass die Parameter durch die in den Objekteigenschaften SqlConnectionStringBuilder festgelegten Werte definiert werden.

Sie können die Datenbankverbindungszeichenfolge auch aus der Verbindung von Microsoft Visual Studio mit der angehängten Datenbank abrufen. Wenn Sie den DB auswählen, wird im Eigenschaftenfenster die Verbindungszeichenfolge angezeigt .

Die vollständige Liste der Eigenschaften der Klasse SqlConnectionStringBuilder finden Sie auf dieser Seite von der Microsoft MSDN-Site

Informationen zum Standardbenutzer von SQL Server sa bedeutet "Systemadministrator" und das Kennwort variiert je nach SQL Server-Version. In diesem Seite können Sie sehen, wie das Passwort variiert.

SQL Server 2008/R2 Express-Benutzer: sa Kennwort: [leeres Kennwort - lassen Sie das Feld leer, um eine Verbindung herzustellen]

SQL Server 201x Express-Benutzer: sa Passwort: Passwort123

SQL Server 20xx-Web- oder Standardbenutzer: sa Kennwort: entspricht dem Kennwort Ihres Administrators oder Rootbenutzers unter die Zeit, zu der der VDS bereitgestellt wurde.

In diesem Anmeldefenster können Sie sich zu Beginn des SQL Server-Datenbank-Managers mit einem sa-Benutzer anmelden. Wie in diesem Bild:

Log in example

19
CryogenicNeo

. NET Data Provider - Relativer Standardpfad - Standardverbindung

 using System.Data.SqlClient;
 var conn = new SqlConnection();
 conn.ConnectionString = 
 "Data Source=.\SQLExpress;" + 
 "User Instance=true;" + 
 "User Id=UserName;" + 
 "Password=Secret;" + 
 "AttachDbFilename=|DataDirectory|DataBaseName.mdf;"conn.Open();

. NET Data Provider - Relativer Standardpfad - Vertrauenswürdige Verbindung

 using System.Data.SqlClient;
 var conn = new SqlConnection();
 conn.ConnectionString = 
 "Data Source=.\SQLExpress;" + 
 "User Instance=true;" + 
 "Integrated Security=true;" + 
 "AttachDbFilename=|DataDirectory|DataBaseName.mdf;" conn.Open();

. NET Data Provider - Benutzerdefinierter relativer Pfad - Standardverbindung

using System.Data.SqlClient;
AppDomain.CurrentDomain.SetData(
"DataDirectory", "C:\MyPath\");
 var conn = new SqlConnection();
 conn.ConnectionString = 
 "Data Source=.\SQLExpress;" + 
 "User Instance=true;" + 
 "User Id=UserName;" + 
 "Password=Secret;" + 
"AttachDbFilename=|DataDirectory|DataBaseName.mdf;" conn.Open();  

. NET Data Provider - Benutzerdefinierter relativer Pfad - Vertrauenswürdige Verbindung

 using System.Data.SqlClient;
 AppDomain.CurrentDomain.SetData(
 "DataDirectory", "C:\MyPath\");
 var conn = new SqlConnection();
 conn.ConnectionString = 
 "Data Source=.\SQLExpress;" + 
 "User Instance=true;" + 
 "Integrated Security=true;" + 
 "AttachDbFilename=|DataDirectory|DataBaseName.mdf;" conn.Open();
14
Hemlata Gehlot

Es gibt eine Reihe von Punkten, über die Sie sich Sorgen machen müssen, wenn Sie eine Verbindung zu SQL Server auf einem anderen Computer herstellen.

  • Host/IP-Adresse des Geräts
  • Erstkatalog (Datenbankname)
  • Gültiger Benutzername/Passwort

Sehr oft wird SQL Server als Standardinstanz ausgeführt, was bedeutet, dass Sie einfach den Hostnamen/die IP-Adresse angeben können. Es kann jedoch vorkommen, dass SQL Server als benannte Instanz ausgeführt wird (z. B. SQL Express). In diesem Szenario müssen Sie Hostname\Instanzname angeben.

7
scartag

Sie können die Verbindungszeichenfolge wie folgt verwenden und müssen nur Ihren Datenbanknamen hinzufügen.

string connetionString = "Data Source=.;Initial Catalog=DB name;Integrated Security=True;MultipleActiveResultSets=True";
6

Sie müssen verstehen, dass ein Datenbankserver oder DBA nicht möchte, dass nur einer die Inhalte des Servers verbinden oder ändern kann. Dies ist der gesamte Zweck von Sicherheitskonten. Wenn ein einzelner Benutzername/pwd auf einem beliebigen Computer funktionieren würde, würde dies keinen Schutz bieten. Das ist eine Sache, von der Sie gehört haben und die mit SQL Server 2005, 2008 oder 2012 nicht funktioniert. Sie sind sich jedoch bei früheren Versionen nicht sicher. Ich glaube, irgendwann in den Anfängen von SQL Server waren der Standardbenutzername und pwd sa/sa, aber das ist nicht mehr der Fall.

Zur Info, Datenbanksicherheit und Rollen sind heutzutage viel komplizierter. Möglicherweise möchten Sie die Details der Windows-basierten Authentifizierung untersuchen. Wenn Ihr SQL Server dafür konfiguriert ist, benötigen Sie keinen Benutzernamen/pwd in der Verbindungszeichenfolge, um eine Verbindung zu ihm herzustellen. Alles, was Sie ändern müssen, ist der Servermaschinenname und die gleiche Verbindungszeichenfolge funktioniert auf beiden Computern, vorausgesetzt, beide haben natürlich den gleichen Datenbanknamen.

5
dotNET

Sie können entweder die Windows-Authentifizierung verwenden, wenn sich Ihr Server in der Domäne befindet, oder die SQL-Authentifizierung. Sa - ist ein Systemadministrator, der Root-Account für die SQL Server-Authentifizierung. Aber es ist eine schlechte Praxis, wenn für die Vernetzung Ihrer Kunden. Sie sollten Ihre eigenen Konten erstellen und diese zum Herstellen einer Verbindung mit SQL verwenden. In jeder Verbindung, die Sie festlegen, Kontoanmeldung, Kennwort und Standarddatenbank, möchten Sie eine Verbindung herstellen.

5
Alex

sa ist ein Systemadministratorkonto, das standardmäßig mit SQL Server geliefert wird. Wie Sie vielleicht bereits wissen, können Sie sich auf zwei Arten bei SQL Server anmelden.

screen shot of SQL Server Management Studio

Daher gibt es für jedes Szenario geeignete Verbindungszeichenfolgen (wie Windows-Authentifizierung, localdb usw.). Verwenden Sie https://msdn.Microsoft.com/en-us/library/jj653752 (v = vs.110) .aspx # sqlserver , um Ihre Verbindungszeichenfolge zu erstellen. Dies sind XML-Tags. Sie brauchen nur den Wert connectionString

5
Menuka Ishan

wir können uns einfach mit der Datenbank verbinden als ...

uid=username;pwd=password;database=databasename;server=servername

z.B:

string connectionString = @"uid=spacecraftU1;pwd=Appolo11;
                            database=spacecraft_db;
                            server=DESKTOP-99K0FRS\\PRANEETHDB";
SqlConnection con = new SqlConnection(connectionString);
1

Wir können uns einfach mit der Datenbank verbinden:

 uid=username;pwd=password;database=databasename;server=servername

Z.B.:

string connectionString = @"uid=spacecraftU1;pwd=Appolo11;
                            database=spacecraft_db;
                            server=DESKTOP-99K0FRS\\PRANEETHDB";
SqlConnection con = new SqlConnection(connectionString);
0