Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm cách nào để tìm nguyên nhân gây ra lỗi được báo cáo trong dấu vết của trình biên dịch SQL Server?

Đừng lo lắng về 208 lỗi. 208 là "Không tìm thấy đối tượng". Hồ sơ chọn những thứ này do cái được gọi là 'phân giải tên trì hoãn'.

Thực hiện quy trình sau.

CREATE PROCEDURE Demo AS
  CREATE TABLE #Temp (ID int)
  INSERT INTO #Temp VALUES (1)
  SELECT ID FROM #Temp
GO

Proc đó sẽ chạy tốt mà không có bất kỳ lỗi nào, tuy nhiên, nếu bạn có một dấu vết hồ sơ đang chạy, bạn sẽ thấy một hoặc hai trường hợp lỗi 208. Đó là do bảng #Temp không tồn tại khi chương trình khởi động, đó là khi mã được phân tích cú pháp và ràng buộc. Quá trình liên kết với các đối tượng bên dưới không thành công.

Khi bảng tạo chạy, các câu lệnh khác sẽ được biên dịch lại và liên kết với bảng đúng và chạy mà không bị lỗi.

Nơi duy nhất bạn sẽ thấy lỗi giải quyết bị trì hoãn là trong hồ sơ.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chọn cơ sở dữ liệu chỉ chứa bảng cụ thể

  2. công thức cho cột được tính dựa trên cột của bảng khác nhau

  3. Phân tích cú pháp XML thành SQL Server

  4. trùng lặp vi phạm giá trị null trên ràng buộc UNIQUE KEY trong Mssql

  5. Thay đổi định dạng ngày giờ mặc định trên một cơ sở dữ liệu duy nhất trong SQL Server