Saya sedang mengembangkan aplikasi C # sederhana, saya ingin tahu ini: Ketika saya menghubungkan aplikasi saya ke SQL Server di PC saya, saya tahu string koneksi (nama server, kata sandi, dll.), Tetapi ketika saya menghubungkannya ke yang lain PC, string koneksi SQL Server berbeda. Apakah ada akun umum di SQL Server yang datang dengan akun default yang dapat tersambung? Saya pernah mendengar tentang sa
akun di SQL Server, apa itu sa
?
c#
sql-server
connection-string
sa
Roshan
sumber
sumber
SA
berartisys_admin
peran server sqlJawaban:
.NET DataProvider - Koneksi Standar dengan nama pengguna dan kata sandi
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 - Sambungan Terpercaya
SqlConnection conn = new SqlConnection(); conn.ConnectionString = "Data Source=ServerName;" + "Initial Catalog=DataBaseName;" + "Integrated Security=SSPI;"; conn.Open();
Lihat dok .
sumber
user id=Domain\Uname
saya pikir itu ada hubungannya dengan karakter melarikan diri yang tidak valid, bagaimana saya harus melakukannya dengan benar?;
karakterSebenarnya Anda dapat menggunakan
SqlConnectionStringBuilder
kelas untuk membangun string koneksi Anda . Untuk membuat string koneksi , Anda perlu membuat instance objek dari ituSqlConnectionStringBuilder
dan menyetel propertinya dengan parameter yang Anda gunakan untuk menyambungkan ke DataBase. Kemudian Anda bisa mendapatkan string koneksi dariConnectionString
properti dariSqlConnectionStringBuilder
objek, seperti yang ditunjukkan dalam contoh ini:Anda dapat menggunakan
new
operator untuk membuatnya secara langsung.Anda dapat menambahkan lebih banyak parameter untuk membangun string koneksi Anda . Ingatlah bahwa parameter ditentukan oleh nilai yang ditetapkan di
SqlConnectionStringBuilder
properti objek.Anda juga bisa mendapatkan string koneksi database dari koneksi Microsoft Visual Studio dengan DB terlampir. Ketika Anda memilih DB, di panel properti ditampilkan string koneksi .
Daftar lengkap properti
SqlConnectionStringBuilder
kelas tercantum di halaman ini dari situs Microsoft MSDN.Tentang pengguna default SQL Server, sa berarti "administrator-sistem" dan kata sandinya bervariasi sesuai versi SQL Server. Di halaman ini Anda dapat melihat bagaimana kata sandi bervariasi.
Anda dapat login dengan sa pengguna di jendela login ini pada awal SQL Server Database Manager. Seperti di gambar ini:
sumber
Penyedia Data .NET - Jalur Relatif Default - Sambungan Standar
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();
Penyedia Data .NET - Jalur Relatif Default - Sambungan Tepercaya
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();
Penyedia Data .NET - Jalur Relatif Kustom - Sambungan Standar
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();
Penyedia Data .NET - Jalur Relatif Kustom - Sambungan Tepercaya
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();
sumber
Anda dapat menggunakan string koneksi sebagai berikut dan Anda hanya perlu menambahkan nama database Anda.
string connetionString = "Data Source=.;Initial Catalog=DB name;Integrated Security=True;MultipleActiveResultSets=True";
sumber
Ada sejumlah hal yang perlu dikhawatirkan saat menyambung ke SQL Server di komputer lain.
Sangat sering SQL server dapat berjalan sebagai intance default yang berarti Anda dapat dengan mudah menentukan nama host / alamat ip tetapi Anda mungkin menghadapi skenario di mana itu berjalan sebagai contoh bernama (Sql Express misalnya). Dalam skenario ini Anda harus menentukan nama host \ nama contoh.
sumber
Anda dapat menggunakan otentikasi Windows, jika server Anda dalam Domain, atau otentikasi Sql. Sa - adalah Administrator Sistem, akun root untuk otentikasi server SQL. Tetapi itu adalah praktik yang buruk untuk digunakan jika untuk menghubungkan klien Anda. Anda harus membuat akun Anda sendiri, dan menggunakannya untuk terhubung ke SQL Anda. Di setiap koneksi Anda mengatur login akun , kata sandinya dan database default , Anda ingin menghubungkan.
sumber
sa
adalah akun administrator sistem yang dilengkapi dengan sql server secara default. Seperti yang mungkin sudah Anda ketahui, Anda dapat menggunakan dua cara untuk masuk ke SQL Server.Oleh karena itu ada string koneksi yang cocok untuk setiap skenario (seperti otentikasi windows, localdb dll). Gunakan https://msdn.microsoft.com/en-us/library/jj653752(v=vs.110).aspx#sqlserver untuk membuat string koneksi Anda. Ini adalah tag XML. Anda hanya perlu nilai connectionString
sumber
Anda perlu memahami bahwa server database atau DBA tidak ingin sembarang orang dapat menyambungkan atau mengubah konten server. Ini adalah tujuan keseluruhan dari akun keamanan. Jika satu nama pengguna / pwd akan berfungsi di sembarang mesin, itu tidak akan memberikan perlindungan. Hal "sa" yang pernah Anda dengar, tidak berfungsi dengan SQL Server 2005, 2008, atau 2012. Namun, tidak yakin tentang versi sebelumnya. Saya percaya di suatu tempat di hari-hari awal SQL Server, nama pengguna default dan pwd dulu adalah sa / sa, tetapi itu tidak lagi terjadi.
Perlu diketahui, keamanan dan peran database jauh lebih rumit sekarang. Anda mungkin ingin melihat detail otentikasi berbasis Windows. Jika SQL Server Anda dikonfigurasi untuk itu, Anda tidak memerlukan nama pengguna / pwd apa pun dalam string koneksi untuk menyambungkannya. Yang perlu Anda ubah hanyalah nama mesin server dan string koneksi yang sama akan berfungsi dengan kedua mesin Anda, tentu saja keduanya memiliki nama db yang sama.
sumber
Kami cukup terhubung ke database:
uid=username;pwd=password;database=databasename;server=servername
Misalnya:
string connectionString = @"uid=spacecraftU1;pwd=Appolo11; database=spacecraft_db; server=DESKTOP-99K0FRS\\PRANEETHDB"; SqlConnection con = new SqlConnection(connectionString);
sumber
"ConnectionString":{ "Database_Name": "server=.;database=Database_Name;Integrated Security=true;" },
Coba yang ini
sumber