Cara: Sambungkan Menggunakan Autentikasi Windows
Secara default, Driver Microsoft untuk PHP untuk SQL Server menggunakan Autentikasi Windows untuk menyambungkan ke SQL Server. Penting untuk dicatat bahwa dalam sebagian besar skenario, ini berarti bahwa identitas proses server Web atau identitas utas (jika server Web menggunakan peniruan) digunakan untuk terhubung ke server, bukan identitas pengguna akhir.
Poin berikut harus dipertimbangkan ketika Anda menggunakan Autentikasi Windows untuk menyambungkan ke SQL Server:
Kredensial tempat proses server Web (atau utas) berjalan harus dipetakan ke login SQL Server yang valid untuk membuat koneksi.
Jika SQL Server dan server Web berada di komputer yang berbeda, SQL Server harus dikonfigurasi untuk mengaktifkan koneksi jarak jauh.
Catatan
Atribut koneksi seperti Database dan ConnectionPooling dapat diatur saat Anda membuat koneksi. Untuk daftar lengkap atribut koneksi yang didukung, lihat Opsi Koneksi.
Autentikasi Windows harus digunakan untuk menyambungkan ke SQL Server jika memungkinkan karena alasan berikut:
Tidak ada kredensial yang diteruskan melalui jaringan selama autentikasi; nama pengguna dan kata sandi tidak disematkan dalam string koneksi database. Ini berarti bahwa pengguna atau penyerang berbahaya tidak dapat memperoleh kredensial dengan memantau jaringan atau dengan melihat string koneksi di dalam file konfigurasi.
Pengguna tunduk pada manajemen akun terpusat; kebijakan keamanan seperti periode kedaluwarsa kata sandi, panjang kata sandi minimum, dan penguncian akun setelah beberapa permintaan masuk yang tidak valid diberlakukan.
Jika Autentikasi Windows bukan opsi praktis, lihat Cara: Menyambungkan Menggunakan Autentikasi SQL Server.
Contoh SQLSRV
Menggunakan driver SQLSRV Driver Microsoft untuk PHP untuk SQL Server, contoh berikut menggunakan Autentikasi Windows untuk menyambungkan ke instans lokal SQL Server. Setelah koneksi dibuat, server dikueri untuk masuk pengguna yang mengakses database.
Contoh mengasumsikan bahwa SQL Server dan database AdventureWorks diinstal di komputer lokal. Semua output ditulis ke browser ketika contoh dijalankan dari browser.
<?php
/* Specify the server and connection string attributes. */
$serverName = "(local)";
$connectionInfo = array( "Database"=>"AdventureWorks");
/* Connect using Windows Authentication. */
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false )
{
echo "Unable to connect.</br>";
die( print_r( sqlsrv_errors(), true));
}
/* Query SQL Server for the login of the user accessing the
database. */
$tsql = "SELECT CONVERT(varchar(32), SUSER_SNAME())";
$stmt = sqlsrv_query( $conn, $tsql);
if( $stmt === false )
{
echo "Error in executing query.</br>";
die( print_r( sqlsrv_errors(), true));
}
/* Retrieve and display the results of the query. */
$row = sqlsrv_fetch_array($stmt);
echo "User login: ".$row[0]."</br>";
/* Free statement and connection resources. */
sqlsrv_free_stmt( $stmt);
sqlsrv_close( $conn);
?>
contoh PDO_SQLSRV
Contoh berikut menggunakan driver PDO_SQLSRV untuk menyelesaikan tugas yang sama dengan sampel sebelumnya.
<?php
try {
$conn = new PDO( "sqlsrv:Server=(local);Database=AdventureWorks", NULL, NULL);
$conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
}
catch( PDOException $e ) {
die( "Error connecting to SQL Server" );
}
echo "Connected to SQL Server\n";
$query = 'select * from Person.ContactType';
$stmt = $conn->query( $query );
while ( $row = $stmt->fetch( PDO::FETCH_ASSOC ) ){
print_r( $row );
}
?>
Lihat Juga
Cara: Menyambungkan Menggunakan Autentikasi SQL Server
Panduan Pemrograman untuk Driver Microsoft untuk PHP untuk SQL Server
Tentang Contoh Kode dalam Dokumentasi
Cara: Membuat Login SQL Server
Cara: Membuat Pengguna Database