Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Sintaks salah di dekat kata kunci 'current_timestamp' - Tetapi hanya pada satu Database

Periksa tingkat kompatibilitas database (tidak 100% jelas apakah masalah terjadi di DB1 atau saat memanggil fungsi di DB1).

Saya yakin tingkat kompatibilitasnya adalah 80 dalam basis data apa pun yang menunjukkan masalah; SQL Server 2000 tidak mengizinkan fungsi untuk diteruskan langsung ke UDF seperti itu (dan kami memiliki masalah yang sama memanggil beberapa fungsi manajemen dinamis jika tingkat compat adalah 80 - lihat postingan blog ini dan komentarnya ). Basis data ini harus telah dipulihkan atau dilampirkan setelah dicadangkan atau dilepaskan dari tahun 2000. Atau setelah ditingkatkan dari tahun 2000. Anda dapat memeriksa kompatibilitas saat ini dengan cara ini:

SELECT name, compatibility_level FROM sys.databases WHERE name = 'DB1';

Jika Anda menemukan <100, Anda dapat mengatakan:

ALTER DATABASE DB1 SET COMPATIBILITY_LEVEL = 100;

Tetapi Anda hanya boleh melakukannya jika Anda tahu bahwa kompatibilitas yang lebih rendah tidak diperlukan karena alasan lain - dan Anda harus memvalidasi pada sistem pengujian bahwa database berfungsi seperti yang diharapkan di bawah tingkat kompatibilitas yang baru. Jika Anda memiliki masalah, Anda selalu dapat mengubahnya kembali, tetapi lebih baik bersiap-siap.

Jika Anda tidak ingin mengacaukan tingkat kompatibilitas, Anda dapat mengubah logika Anda sedikit.

DECLARE @now DATETIME = CURRENT_TIMESTAMP;
SELECT * FROM dbo.getAllStatusesForGridProjectsByMaximumDate(@now);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mendapatkan daftar semua tabel dalam database menggunakan TSQL?

  2. Pengecualian SQL saat menghubungkan ke server SQL

  3. Cara Memperbaiki:"SQLServerAgent saat ini tidak berjalan ..."

  4. Apa perbedaan antara transformasi Gabung Gabung dan Pencarian di SSIS?

  5. Bagaimana cara membuat file database SQL 2008 tertanam jika tidak ada?