KB2380361-FIX: pesan kesalahan ketika Anda menjalankan prosedur tersimpan "sp_createstats" di SQL Server 2008 atau di SQL Server 2008 R2 jika tabel berisi kolom terhitung nondeterministik

Microsoft mendistribusikan perbaikan Microsoft SQL Server 2008 dan Microsoft SQL Server 2008 R2 sebagai satu file yang dapat diunduh. Karena perbaikan bersifat kumulatif, setiap Edaran baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan rilis perbaikan SQL Server 2008 atau SQL Server 2008 R2 sebelumnya.

Gejala

Pertimbangkan skenario berikut:

  • Anda membuat tabel yang berisi kolom terhitung tidak deterministik di SQL Server 2008 atau database SQL Server 2008 R2. Misalnya, Anda menjalankan pernyataan berikut ini untuk membuat tabel yang berisi kolom computed tidak deterministik: CREATE TABLE [dbo].[t1]( [DateOfBirth] DATE, [Age] AS (FLOOR(DATEDIFF(DAY,[DateOfBirth],GETDATE())/(365.0))))GO Catatan Dalam pernyataan ini, fungsi getdate tidak deterministik.

  • Anda menjalankan prosedur sp_createstats disimpan untuk meningkatkan kinerja.Catatan Prosedur sp_createstats disimpan membuat satu kolom statistik untuk setiap kolom yang memenuhi syarat dalam database

Dalam skenario ini, sp_createstats prosedur yang disimpan gagal. Oleh karena itu, statistik untuk beberapa kolom yang memenuhi syarat mungkin belum dibuat. Selain itu, Anda menerima pesan kesalahan berikut:

MSG 2729, tingkat 16, negara bagian 1, baris 1Column ' Age ' dalam tabel ' DBO. T1 ' tidak bisa digunakan dalam indeks atau statistik atau sebagai kunci partisi karena tidak deterministik.

Penyebab

Masalah ini terjadi karena prosedur sp_createstats disimpan tidak melewatkan kolom terhitung nondeterministik.

Pemecahan Masalah

Informasi pembaruan kumulatif

SQL Server 2008 Service Pack 1

Perbaikan untuk masalah ini pertama kali dirilis dalam pembaruan kumulatif 11 untuk SQL Server 2008 Service Pack 1. Untuk informasi selengkapnya tentang paket pembaruan kumulatif ini, klik nomor artikel berikut ini untuk menampilkan artikel di Basis Pengetahuan Microsoft:

2413738 11 paket pembaruan kumulatif untuk SQL Server 2008 Service Pack 1Catatan Karena Build bersifat kumulatif, setiap rilis perbaikan baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan rilis perbaikan SQL Server 2008 sebelumnya. Microsoft menganjurkan agar Anda mempertimbangkan penerapan rilis perbaikan terbaru yang berisi hotfix ini. Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

970365 Build 2008 SQL Server yang dirilis setelah SQL Server 2008 Service Pack 1 dirilisHotfix Microsoft SQL Server 2008 dibuat untuk paket layanan SQL Server tertentu. Anda harus menerapkan perbaikan terbaru SQL Server 2008 Service Pack 1 ke instalasi SQL Server 2008 Service Pack 1. Secara default, setiap hotfix yang disediakan dalam paket layanan SQL Server disertakan dalam paket layanan SQL Server berikutnya.

SQL Server 2008 Service Pack 2

Perbaikan untuk masalah ini pertama kali dirilis dalam pembaruan kumulatif 1 untuk SQL Server 2008 Service Pack 2. Untuk informasi selengkapnya tentang paket pembaruan kumulatif ini, klik nomor artikel berikut ini untuk menampilkan artikel di Basis Pengetahuan Microsoft:

2289254 Pembaruan kumulatif 1 untuk SQL Server 2008 Service Pack 2Catatan Karena Build bersifat kumulatif, setiap rilis perbaikan baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan rilis perbaikan SQL Server 2008 sebelumnya. Kami menyarankan agar Anda mempertimbangkan untuk menerapkan rilis perbaikan terbaru yang berisi hotfix ini. Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

2402659 Build 2008 SQL Server yang dirilis setelah SQL Server 2008 Service Pack 2 dirilis

SQL Server 2008 Service Pack 2

Perbaikan untuk masalah ini pertama kali dirilis dalam pembaruan kumulatif 2 untuk SQL Server 2008 Service Pack 2. Untuk informasi selengkapnya tentang paket pembaruan kumulatif ini, klik nomor artikel berikut ini untuk menampilkan artikel di Basis Pengetahuan Microsoft:

2467239 Paket pembaruan kumulatif 2 untuk SQL Server 2008 Service Pack 2Catatan Karena Build bersifat kumulatif, setiap rilis perbaikan baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan rilis perbaikan SQL Server 2008 sebelumnya. Microsoft menganjurkan agar Anda mempertimbangkan penerapan rilis perbaikan terbaru yang berisi hotfix ini. Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

2402659 Build 2008 SQL Server yang dirilis setelah SQL Server 2008 Service Pack 2 dirilis Hotfix Microsoft SQL Server 2008 dibuat untuk paket layanan SQL Server tertentu. Anda harus menerapkan perbaikan terbaru SQL Server 2008 Service Pack 2 ke instalasi SQL Server 2008 Service Pack 2. Secara default, setiap hotfix yang disediakan dalam paket layanan SQL Server disertakan dalam paket layanan SQL Server berikutnya.

SQL Server 2008 R2

Perbaikan untuk masalah ini pertama kali dirilis dalam pembaruan kumulatif 4. Untuk informasi selengkapnya tentang cara mendapatkan paket pembaruan kumulatif ini untuk SQL Server 2008 R2, klik nomor artikel berikut ini untuk menampilkan artikel di Basis Pengetahuan Microsoft:

2345451 Paket pembaruan kumulatif 4 untuk SQL Server 2008 R2 Catatan Karena Build bersifat kumulatif, setiap rilis perbaikan baru berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan rilis perbaikan SQL Server 2008 R2 sebelumnya. Kami menyarankan agar Anda mempertimbangkan untuk menerapkan rilis perbaikan terbaru yang berisi hotfix ini. Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

981356 Build SQL Server 2008 R2 yang dirilis setelah SQL Server 2008 R2 dirilis

Status

Microsoft telah mengonfirmasi bahwa ini adalah masalah pada produk Microsoft yang tercantum di bagian "Berlaku untuk".

Referensi

Untuk informasi selengkapnya tentang fungsi deterministik dan tidak deterministik, kunjungi situs web Microsoft Developer Network (MSDN) berikut:

Informasi umum tentang fungsi deterministik dan nondeterministikUntuk informasi selengkapnya tentang prosedur sp_createstats disimpan, kunjungi situs web MSDN berikut:

Informasi umum tentang prosedur yang disimpan Transact-SQL "sp_createstats"Untuk informasi selengkapnya tentang kolom yang dihitung, kunjungi situs web MSDN berikut:

Informasi umum tentang kolom komputasiUntuk informasi selengkapnya tentang model pelayanan tambahan untuk SQL Server, klik nomor artikel berikut ini untuk menampilkan artikel di Basis Pengetahuan Microsoft:

935897 Model Layanan inkremental tersedia dari tim SQL Server untuk mengirim hotfix untuk masalah yang dilaporkanUntuk informasi selengkapnya tentang skema penamaan untuk pembaruan SQL Server, klik nomor artikel berikut ini untuk menampilkan artikel di Basis Pengetahuan Microsoft:

822499Skema penamaan baru untuk paket pembaruan perangkat lunak Microsoft SQL ServerUntuk informasi selengkapnya tentang terminologi pembaruan perangkat lunak, klik nomor artikel berikut ini untuk menampilkan artikel di Basis Pengetahuan Microsoft:

824684 Deskripsi tentang terminologi standar yang digunakan untuk menjelaskan pembaruan perangkat lunak Microsoft

Perlu bantuan lainnya?

Kembangkan keterampilan Anda
Jelajahi pelatihan
Dapatkan fitur baru terlebih dahulu
Gabung Microsoft Insider

Apakah informasi ini bermanfaat?

Seberapa puaskah Anda dengan kualitas terjemahannya?

Apa yang memengaruhi pengalaman Anda?

Ada umpan balik tambahan? (Opsional)

Terima kasih atas umpan balik Anda!

×