I'm mengembangkan sederhana C#, aplikasi I'd ingin tahu ini: Ketika saya menghubungkan aplikasi ke SQL Server di PC saya, saya tahu koneksi string (nama server, password dll.), tapi ketika saya hubungkan ke PC lain, koneksi SQL Server string yang berbeda. Apakah ada akun umum dalam SQL Server yang telah dilengkapi dengan default account yang dapat menghubungkan? Aku telah mendengar tentang sa
akun di SQL Server, apa itu sa
?
// .NET DataProvider -- Standar Koneksi dengan username dan password
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 -- Terpercaya Koneksi
SqlConnection conn = new SqlConnection();
conn.ConnectionString =
"Data Source=ServerName;" +
"Initial Catalog=DataBaseName;" +
"Integrated Security=SSPI;";
conn.Open();
Sebenarnya anda dapat menggunakan SqlConnectionStringBuilder
kelas untuk membangun koneksi string. Untuk membangun koneksi string, anda perlu instantiate sebuah obyek dari yang SqlConnectionStringBuilder
dan mengatur sifat-sifat mereka dengan parameter yang anda gunakan untuk terhubung ke DataBase. Kemudian anda bisa mendapatkan koneksi string dari ConnectionString
properti SqlConnectionStringBuilder
objek, seperti yang ditunjukkan dalam contoh ini:
misalnya:
SqlConnectionStringBuilder sConnB = new SqlConnectionStringBuilder () { DataSource = "ServerName", InitialCatalog = "DatabaseName", Id = "UserName", Password = "UserPassword" }.ConnectionString
SqlConnection conn = new SqlConnection(sConnB.ConnectionString);
Anda dapat menggunakan operator new
untuk membuat ini diatas.
misalnya:
SqlConnection conn = new SqlConnection( baru SqlConnectionStringBuilder () { DataSource = "ServerName", InitialCatalog = "DatabaseName", Id = "UserName", Password = "UserPassword" }.ConnectionString );
Anda dapat menambahkan lebih banyak parameter untuk membangun koneksi string. Ingat bahwa parameter yang didefinisikan oleh nilai-nilai setted di SqlConnectionStringBuilder
object properties.
Anda juga bisa mendapatkan string koneksi database dari conection dari Microsoft Visual Studio dengan yang terpasang DB. Ketika anda memilih DB, pada panel properties akan ditampilkan koneksi string.
Daftar lengkap dari sifat-sifat SqlConnectionStringBuilder
kelas tercantum dalam [halaman dari situs Microsoft MSDN.][1]
Tentang pengguna default dari SQL Server, sa artinya "sistem administrator" dan password bervariasi sesuai dengan versi SQL Server. Dalam hal ini halaman anda bisa melihat bagaimana password yang bervariasi.
SQL Server 2008 R2 Express Pengguna: sa Password: [password kosong - meninggalkan bidang kosong untuk menghubungkan]
SQL Server 201x Express Pengguna: sa Password: Password123
SQL Server 20xx Web atau Pengguna Standar: sa Password: akan sama sebagai administrator atau user root password pada saat VDS adalah ditetapkan.
Anda dapat log in dengan sa pengguna di jendela login di mulai dari Database SQL Server Manager. Seperti di gambar ini:
[1]: https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnectionstringbuilder(v=vs. 110).aspx
.NET Data Provider -- Default Path Relatif -- Standar Koneksi
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 -- Default Path Relatif -- Terpercaya Koneksi
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-Custom Path Relatif -- Standar Koneksi
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-Custom Path Relatif -- Terpercaya Koneksi
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();
Mereka adalah sejumlah hal yang perlu dikhawatirkan saat menghubungkan ke SQL Server pada mesin yang lain.
Sangat sering SQL server dapat berjalan sebagai default intance yang berarti anda hanya dapat menentukan hostname/ip address, tetapi anda mungkin menemukan sebuah skenario di mana itu berjalan sebagai contoh yang disebutkan (Sql Express misalnya). Dalam skenario ini, anda'll harus menentukan hostname\instance name .
sa
adalah suatu system account administrator yang dilengkapi dengan sql server secara default. Seperti yang anda tahu mungkin sudah tahu, anda dapat menggunakan dua cara untuk login ke SQL Server.
Oleh karena itu ada koneksi string yang cocok untuk masing-masing skenario(seperti windows otentikasi, localdb dll.). Gunakan [https://msdn.microsoft.com/en-us/library/jj653752(v=vs. 110).aspx#sqlserver][2] untuk membangun koneksi string. Ini adalah tag XML. Anda hanya perlu nilai connectionString
[2]: https://msdn.microsoft.com/en-us/library/jj653752(v=vs. 110).aspx#sqlserver
Anda perlu memahami bahwa database server atau DBA tidak ingin sembarang orang untuk dapat terhubung atau memodifikasi isi dari server. Ini adalah seluruh tujuan keamanan akun. Jika satu username/pwd akan bekerja hanya pada mesin apapun, itu akan memberikan perlindungan. Bahwa "sa" hal yang anda telah mendengar, tidak bekerja dengan SQL Server 2005, 2008 atau 2012. Tidak yakin tentang versi sebelumnya meskipun. Saya percaya di suatu tempat pada hari-hari awal dari SQL Server, default username dan pwd digunakan untuk menjadi sa/sa, tapi itu tidak lagi terjadi.
FYI, keamanan database dan peran yang jauh lebih rumit sekarang-a-hari. Anda mungkin ingin melihat ke dalam rincian berbasis Windows otentikasi. Jika anda SQL Server dikonfigurasi untuk itu, anda don't membutuhkan username/pwd dalam string koneksi untuk terhubung ke itu. Semua yang anda butuhkan untuk mengubah server nama mesin dan koneksi yang sama string akan bekerja dengan baik di mesin anda, mengingat keduanya memiliki sama db nama saja.
Anda dapat menggunakan Windows authentification, jika server anda dalam Domain, atau Sql otentifikasi. Sa - adalah Sistem Administratior, akun root untuk SQL server authentification. Tapi ini adalah praktek yang buruk untuk digunakan jika untuk conneting dari klien anda. Anda harus membuat account anda sendiri, dan menggunakan mereka untuk menghubungkan ke SQL. Di setiap koneksi anda mengatur akun login its password dan default database, anda ingin terhubung.
Kita hanya dapat terhubung ke database:
uid=username;pwd=password;database=databasename;server=servername
E. g.:
string connectionString = @"uid=spacecraftU1;pwd=Appolo11;
database=spacecraft_db;
server=DESKTOP-99K0FRS\\PRANEETHDB";
SqlConnection con = new SqlConnection(connectionString);
"ConnectionString":{ "Database_Name": "server=.;database=Database_Name;Integrated Security=true;" },
Coba yang satu ini