Для строгого маркера состояния исходной базы данных я хотел бы захватить @@ DBTS внешней базы данных в sproc. Да, я думаю, что я мог бы выпуститьМожно ли запросить @@ DBTS в базе данных, отличной от текущей базы данных?
USE ExternalDB
GO
SELECT @myVarbinary8 = @@DBTS
GO
USE OriginalDB
GO
, но, даже если бы я мог, это кажется отвратительным.
На данный момент, я встроил скалярные функции в исходной базе данных для вызова
SET @result = SELECT @@ DBTS
, который работал хорошо, пока я не забыл спросить АБД предоставить соответствующие права новому пользователю, который разбил процесс.
Что-то похожее на
SELECT [email protected]@DBTS
(я знаю, что не работает).
@@ DBTS (Transact-SQL)
возвращает значение текущего типа временной метки данных для текущей базы данных.
Эта метка времени будет уникальной в базе данных.
Просто стиль/практика ... Функциональная часть программирования моего мозга любит держаться подальше от ненужных побочных эффектов (изменение контекста базы данных с использованием USE). Как минимум w/sp_executesql, контекст гарантированно будет оригинальным без необходимости его возврата – 2008-11-06 12:41:33