Cả OPENROWSET và OPENDATASOURCE chỉ nên được sử dụng để truy cập dữ liệu bên ngoài, chẳng hạn như các giải pháp nhanh chóng và khó xử lý hoặc khi không thể định cấu hình máy chủ được liên kết vĩnh viễn. Các hàm này không cung cấp tất cả các chức năng có sẵn từ một máy chủ được liên kết. Các đối số của OPENROWSET và OPENDATASOURCE không hỗ trợ các biến. Chúng phải được chỉ định dưới dạng chuỗi ký tự. Nếu các biến cần được chuyển vào làm đối số cho các hàm này, thì một chuỗi truy vấn chứa các biến này có thể được tạo động và thực thi bằng câu lệnh EXEC. Tương tự như (không kiểm tra cú pháp)
DECLARE @sqlCommand varchar(1000)
SET @sqlCommand = 'SELECT *
FROM OPENROWSET(''SQLNCLI'',''server=.\sqlexpress;Trusted_Connection=yes'',''SET NOCOUNT ON;SET FMTONLY OFF;EXEC [BSC_DB].dbo.SelectScorecardGraphData ''''' + cast(@param1 as varchar(10)) + ''''',''' + cast(@param2 as varchar(n)) ''')'
EXEC @sqlCommand
Và như vậy ... Hy vọng rằng sẽ giúp. Trân trọng, Stefan