Skema default SQL Server 2008 tidak dihormati?

9

Kami baru saja menyalin database SQL 2008 ke server lain, untuk tujuan pengujian. Pengguna biasa yang masuk menggunakan beberapa objek dalam skema tertentu. Katakanlah itu adalah pengguna foodan skema bar.

fooSkema default adalah barpada tingkat instance dan basis data. Namun, ketika foomasuk tidak dapat menemukan objek dalam barskema tanpa menggunakan nama yang sepenuhnya memenuhi syarat.

Mengapa skema default tidak berfungsi di sini?

John Cromartie
sumber

Jawaban:

13

Apakah hak pengguna sysadmin untuk SQL Server? Karena jika tidak maka setiap pengguna sysadmin akan memiliki secara default ditugaskan skema dbo , secara independen dari apa yang diatur dalam properti Pengguna untuk database tertentu.

Jadi, untuk memiliki skema default, pengguna harus memiliki peran basis data seperti db_owner, db_datawriter dan sebagainya, alih-alih peran server sysadmin.

Katakan padaku kalau ini bukan kasusmu.

yrushka
sumber
1
Anda adalah dewa dan saya tunduk pada pengetahuan Anda, saya bingung sampai saya menabrak ini!
Jens
1

Skenario lain di mana masalah ini dapat terjadi (SQL 2008 R2) ...

Saya memiliki pengguna yang ditautkan ke Login Otentikasi SQL, yang saya coba kaitkan dengan skema yang ada. Login tidak memiliki hak sysadmin , jadi solusi di atas tidak membantu.

Saya akhirnya tahu bahwa database masih dikonfigurasi dalam mode kompatibilitas SQL 2000. Mengubah ke SQL 2005 menyelesaikan masalah.

Kecewa
sumber
Anehnya, saya tampaknya mengalami masalah ini (pengguna terhubung dengan SQL Authentication Login, yang saya coba kaitkan dengan skema yang ada), kecuali tingkat kompatibilitas saya adalah 'SQL Server 2016 (130)'
tbone
0

Ini akan mengasumsikan bahwa skema default pada server baru adalah dbo; Jika skema belum disalin dengan database.

Bukan solusinya tetapi mungkin ini bisa membantu, melihat artikel msdn. http://msdn.microsoft.com/en-us/library/dd283095.aspx

Nick O'Neil
sumber
Kami telah mengonfigurasi skema default untuk foodi server baru. Sudah diatur seperti barpada pengguna contoh dan tingkat pengguna basis data.
John Cromartie