Anda tidak dapat menggunakan SQL Server 2005 ke host ReportServer 2012 database

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 2796721 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

Gejala

Setelah Anda membuat database Microsoft SQL Layanan pelaporan Layanan (SSRS) 2012 terhadap mesin database Microsoft SQL Server 2005 dari SQL Server pengelolaan konfigurasi, Anda menerima pesan galat ketika Anda browsing ReportServer atau ReportManager database:
Versi database server laporan baik dalam format yang tidak sah, atau tidak dapat membaca. Versi yang ditemukan adalah '143'. Versi yang diharapkan adalah '162'. (rsInvalidReportServerDatabase)

Penyebab

Masalah ini terjadi karena ada masalah dengan script yang dihasilkan untuk meng-upgrade ke versi benar skema yang baru menciptakan database. Secara khusus, upgrade script berisi nilai dalam baris tugas-tugas yang tidak didukung untuk SQL Server 2005. (Namun, pernyataan yang didukung untuk SQL Server 2008 dan versi yang lebih baru.)

Pemecahan masalah

Untuk mengatasi masalah ini, Anda dapat secara manual menghasilkan script database penciptaan dan upgrade skrip dan kemudian mengubahnya untuk menghapus pernyataan sebelum Anda mengeksekusi mereka untuk membuat dan meng-upgrade database ReportServer.

Penetapan nilai in-line pada skrip upgrade harus dibagi menjadi dua pernyataan sehingga deklarasi dan penugasan yang terpisah.

Informasi lebih lanjut

SQL Server pengelolaan konfigurasi mengandalkan WMI panggilan untuk menghasilkan script database penciptaan. Manajer konfigurasi dilakukan dengan internal memanggil metode GenerateDatabaseCreationScript . Ini bekerja seperti yang diharapkan, dan database dibuat dengan benar pada contoh SQL Server 2005. Setelah ini terjadi, Layanan SSRS memeriksa versi skema database selama awal layanan. Jika diperlukan, Layanan SSRS kemudian menghasilkan script update yang tujuannya adalah untuk meng-upgrade database ke versi yang benar.

Prosedur ini saat ini gagal pada contoh-contoh SQL Server 2005 karena pernyataan dalam naskah Transact-SQL yang dihasilkan untuk upgrade.
Upgrade script berisi nilai dalam baris tugas dalam pernyataan-pernyataan seperti berikut:
declare @maxCleanCount int = 200; 

In-line penetapan bersama dengan deklarasi tidak didukung di SQL Server 2005.

Untuk mengatasi masalah ini, menghasilkan upgrade script secara manual, menghapus pernyataan tidak didukung, dan kemudian jalankan script secara manual untuk meng-upgrade database. Anda dapat melakukan ini dengan mengakses layanan WMI penyedia yang pelaporan dan kemudian memanggil metode yang tepat untuk menghasilkan script.

Prosedur rinci untuk menyelesaikan masalah ini adalah sebagai berikut.

Langkah 1: Menghasilkan penciptaan script

Mulai Windows PowerShell, dan kemudian jalankan perintah berikut. Pastikan bahwa Anda mengganti pengganti apapun dengan parameter yang mencerminkan lingkungan Anda.
$RptSrv = gwmi - Namespace "root\Microsoft\SqlServer\ReportServer\RS_INSTmengatakan \v11\Admin "-kelas"MSReportServer_ConfigurationSetting"

$Res = $RptSrv.GenerateDatabaseCreationScript ("ReportServermengatakan ", 0, 0)

$Res.script | Set-isi"c:\output\dbcreation2005.SQL>"

Catatan
  • PenggantiRS_INSTmengatakan mewakili nama contoh SSRS yang diinstal di lingkungan Anda. Untuk mendapatkan nama ini jika Anda tidak tahu sudah, Anda dapat menggunakan alat WBEMTest, terhubung ke root\Microsoft\SqlServer\ReportServer, klik Query, dan kemudian jalankan query berikut:
    Pilih * dari __namespace
     
    Ini akan menampilkan contoh layanan pelaporan pada komputer Anda. Anda dapat menggunakan contoh yang tepat yang sesuai untuk layanan SSRS 2012 Anda.
  • PenggantiReportServermengatakan mewakili nama database yang ingin Anda ciptakan pada contoh SQL Server 2005.
  • Penggantic:\output\dbcreation2005.SQLmengatakan mewakili path lengkap file output akan berisi script penciptaan.

Langkah 2: Membuat upgrade script

Gunakan jendela Windows PowerShell yang sama yang dibuka pada langkah 1 untuk melaksanakan kedua perintah berikut:
$Res = $RptSrv.GenerateDatabaseUpgradeScript ("ReportServerMENGATAKAN ","C.0.9.45")

$Res.script | Set-isi"c:\output\dbupgrade2005.SQL>")


Catatan
  • PenggantiReportServermengatakan mewakili nama database yang ingin Anda ciptakan pada contoh SQL Server 2005. Ini harus menjadi nama yang sama sebagai nama yang digunakan pada langkah 1.
  • Penggantic:\output\dbupgrade2005.SQLmengatakan mewakili file output akan berisi upgrade script.

Langkah 3: Menjalankan script penciptaan manual

  1. Mulai SQL Server Management Studio, dan kemudian tautan langsung ke SQL Server 2005 Database Engine yang akan menjadi tuan rumah database ReportServer Anda.
  2. Membuka script yang Anda buat pada langkah 1.
  3. Jalankan script untuk membuat database.

Langkah 4: Mengubah script upgrade untuk menghapus pernyataan

Buka script yang Anda dibuat di langkah 2 dalam editor teks pilihan Anda, dan kemudian mengubah pernyataan berikut, seperti ditunjukkan dalam Daftar Tabel berikut.

Perkecil tabel iniPerbesar tabel ini
Pernyataan awalPernyataan baru
menyatakan @maxCleanCount int = 200;
menyatakan @maxCleanCount int;
menetapkan @maxCleanCount = 200;
menyatakan @now sebagai datetime = GETDATE();
menyatakan @now sebagai datetime;
menetapkan @now = GETDATE();
menyatakan @now sebagai datetime = GETDATE();
menyatakan @now sebagai datetime;
menetapkan @now = GETDATE();

Langkah 5: Menjalankan upgrade script secara manual

Dalam contoh SQL Server Management Studio yang Anda mulai pada langkah 3, buka dan kemudian jalankan script upgrade yang Anda berubah di langkah 4.

Langkah 6: Mengkonfigurasi Layanan Reporting Services menggunakan yang baru menciptakan database.

  1. Mulai pelaporan Layanan pengelolaan konfigurasi, dan kemudian tautan langsung ke contoh layanan pelaporan yang Anda ingin mengkonfigurasi.
  2. Pergi ke Database, dan kemudian klikPerubahan Database.
  3. Pilih Memilih laporan server database yang sudah ada.
  4. Pilih database yang Anda buat dan ditingkatkan dalam langkah 1 sampai 5.
  5. Menyelesaikan Wisaya.

Properti

ID Artikel: 2796721 - Kajian Terakhir: 31 Desember 2012 - Revisi: 1.0
Berlaku bagi:
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Standard
Kata kunci: 
kbmt KB2796721 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini: 2796721

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com