SQL Server上の特定のデータベースの日時を変更することはできますか?
オペレーティングシステムの日付/時刻に関連付けられていますか?
テストの目的で将来の日時をシミュレートしたいので、将来GETDATE()
の日付を返します。
セミプロダクション(ステージング)環境にする必要があるため、残念ながらOSの日付/時刻を変更することはできません。
理想的な世界では、仮想サーバーを起動しますが、現時点では実際にはオプションではありません。
SQL Server上の特定のデータベースの日時を変更することはできますか?
オペレーティングシステムの日付/時刻に関連付けられていますか?
テストの目的で将来の日時をシミュレートしたいので、将来GETDATE()
の日付を返します。
セミプロダクション(ステージング)環境にする必要があるため、残念ながらOSの日付/時刻を変更することはできません。
理想的な世界では、仮想サーバーを起動しますが、現時点では実際にはオプションではありません。
残念ながら、OS の日付と時刻に関連付けられています。ここを参照してください: http://msdn.microsoft.com/en-us/library/ms188383.aspx
この値は、SQL Server のインスタンスが実行されているコンピューターのオペレーティング システムから取得されます。
他の人が述べたように、No.
本当にハックな回避策は、必要な日付を返す独自の関数を作成し、テストが終了したときに GETDATE() を返すようにし、代わりにその関数を呼び出すことです。これを行うにはおそらく多少のオーバーヘッドがありますが、必要なことは実行できます。
いつでもこれを使用して、それに応じて調整できます。
SELECT getutcdate()
詳細については、以下を参照してください。 StackOverflow の質問
GETDATE()
しかし、サーバーの日付を変更せず
に結果を変更する方法はありません。
EXEC xp_cmdshell 'DATE 10/10/2011'
お勧めしません。
あなたに代わって計算を行い、それを適用するユーザー関数を作成できると思います。
http://msdn.microsoft.com/en-us/library/ms186755.aspx
また、列のデフォルト値としても使用できます。