ฉันใหม่สวยที่ทำงานกับ MSSQL และมีรุ่น 2012 ในขณะนี้ สิ่งที่ฉันพยายามจะทำคือสร้างผู้ใช้สำหรับฐานข้อมูลที่มีอยู่และให้สิทธิ์การเข้าถึงแก่ผู้ใช้ในฐานข้อมูลนั้นเท่านั้น
ฉันจะเรียกใช้ SQL นี้จาก JAVA โดยใช้คำสั่งที่เตรียมไว้
ฉันใหม่สวยที่ทำงานกับ MSSQL และมีรุ่น 2012 ในขณะนี้ สิ่งที่ฉันพยายามจะทำคือสร้างผู้ใช้สำหรับฐานข้อมูลที่มีอยู่และให้สิทธิ์การเข้าถึงแก่ผู้ใช้ในฐานข้อมูลนั้นเท่านั้น
ฉันจะเรียกใช้ SQL นี้จาก JAVA โดยใช้คำสั่งที่เตรียมไว้
คำตอบ:
ในการสร้างผู้ใช้ที่มีอยู่ใน SQL Server 2012 ที่รับรองความถูกต้องที่ฐานข้อมูลคุณสามารถทำสิ่งต่อไปนี้:
use YourDatabase
go
create user YourContainedUser
with password = 'yourPassword'
go
คุณจะต้องตรวจสอบให้แน่ใจว่าcontained database authentication
เปิดใช้งานอินสแตนซ์ก่อนและตั้งค่าฐานข้อมูลด้วยการบรรจุบางส่วน:
exec sp_configure 'contained database authentication', 1
go
reconfigure
go
alter database YourDatabase
set containment = partial
go
เมื่อคำสั่งข้างต้นถูกดำเนินการคุณควรจะสามารถสร้างผู้ใช้ที่มีอยู่ของคุณด้วยCREATE USER
คำสั่งตามที่อธิบายไว้ข้างต้น
แก้ไข : ความคิดเห็นที่ดีและคะแนนโดย @AaronBertrand:
สตริงการเชื่อมต่อของคุณจะต้องใช้ชื่อฐานข้อมูลเป็นส่วนหนึ่งของข้อมูลประจำตัวด้วย - ถ้าคุณไม่ได้ระบุฐานข้อมูล SQL Server จะไม่ตรวจสอบฐานข้อมูลทั้งหมด และรหัสของคุณไม่สามารถทำการสืบค้นข้ามฐานข้อมูลใด ๆ ในกรณีที่ข้อ จำกัด ไม่ชัดเจน