Tabel SQL Server Database "default"

8

Ketika saya menambahkan database baru ke server dev kami (menggunakan SSMS), secara otomatis membuat 5 tabel.

Ini adalah salinan dari tabel aplikasi yang sudah ada di database lain.

Saya berasumsi ini adalah beberapa fitur SQL Server baru-baru ini saya tidak tahu di mana tabel dapat ditandai sebagai 'umum' atau semacamnya, dan dengan demikian ditambahkan secara otomatis ke database baru.

Tetapi bagaimana saya bisa menghentikannya?

Untuk menghindari kebingungan, basis data ini bukan skrip, ini dibuat langsung dari GUI SSMS (klik kanan Basis Data> Basis Data Baru)

(dipindahkan dari StackOverflow)

CompanyDroneFromSector7G
sumber
4
Lihat model database dari database sistem. Apakah ini berisi tabel juga?
vonPryz
Ya tabel yang sama - saya menganggap itu penyebabnya?
CompanyDroneFromSector7G
Ya, modeladalah database "model" yang digunakan sebagai sumber untuk setiap database berikutnya yang dibuat.
Marcin S.
Wow saya tidak pernah tahu itu (hanya menggunakan SQL Server sejak versi 6.3)
CompanyDroneFromSector7G
Fitur ini sudah ada sejak setidaknya SQL Server 2005 (mungkin sebelumnya).
Andriy M

Jawaban:

15

Ini terjadi (berdasarkan diskusi dalam komentar) karena tabel ada di modelsistem database. Sesuai dokumentasi (penekanan saya):

Jika Anda memodifikasi database model, semua database yang dibuat sesudahnya akan mewarisi perubahan tersebut . Misalnya, Anda bisa mengatur opsi izin atau basis data, atau menambahkan objek seperti tabel , fungsi, atau prosedur tersimpan. Properti file model database adalah pengecualian, dan diabaikan kecuali ukuran awal file data.

Sebagai solusi, menjatuhkan tabel dari modelakan menghentikan fenomena ini.

vonPryz
sumber
Mungkin perlu ditambahkan bahwa ada beberapa pengecualian, seperti TempDB rekreasi setelah server restart. Dalam hal ini, TempDBgunakan semua properti file sendiri, termasuk ukuran awal file data.
Marcin S.