3

SQL Server 2008r2dmvsおよびdmfsを使用して監視ツールを作成しました。クライアントサイトに展開するための9つの手順でtsqlを介してSQLサーバージョブを作成しました。

私の質問は、ジョブに保存されているバージョンを何らかの方法で含める方法を見つけて、次の展開のためにジョブをいつアップグレードするかを知ることです。それを行う方法はありますか?

前もって感謝します!

4

3 に答える 3

0

次のように、データベースオブジェクトにカスタムプロパティを追加できます。

EXEC sp_addextendedproperty
    N'YourProperyName', N'SomeValue',
    N'SCHEMA', N'dbo',
    N'TABLE', N'MyTable'

しかし、それが仕事に役立つかどうかはわかりません。または、ジョブの説明フィールドを使用することもできます。

select top 10 * from msdb.dbo.sysjobs
于 2013-03-14T14:08:25.867 に答える
0

sp_addextendedpropertyを使用して、msdb.dbo.sysjobsテーブルまたは列(例:version_number)をバージョン管理できます。ただし、特定のレコードに対してこれを行うことはできません。拡張プロパティの値のTYPEはSQLVARIANTであるため、すべてのジョブのバージョンを表すXMLをmsdb.dbo.sysjobsテーブルに格納できます。

または、データベースにテーブルを作成し、job_id(GUID)と現在のバージョン番号を保存することもできます。これはカスタムソリューションです。

価値があるのは、sp_addextendedpropertyを使用して、sysjobsテーブルの拡張プロパティを追加、表示、更新、および削除する方法です。私はCOLUMNまで行きましたが、テーブルで停止することができます。

--Add the 'Version' extended property to msdb.dbo.sysjobs.[version_number] column.
EXECUTE sp_addextendedproperty N'Version', '1.0.0.0', 'SCHEMA', N'dbo', 'TABLE', N'sysjobs', 'COLUMN', N'version_number';

--Update the 'Version' extended property
EXECUTE sp_updateextendedproperty N'Version', '1.0.0.2', 'SCHEMA', N'dbo', 'TABLE', N'sysjobs', 'COLUMN', N'version_number';

--View the current value of 'Version'
SELECT objtype, objname, name, value
FROM fn_listextendedproperty(N'Version', 'SCHEMA', N'dbo', 'TABLE', N'sysjobs', 'COLUMN', N'version_number');

--Drop the 'Version' extended property
EXECUTE sp_dropextendedproperty N'Version', 'SCHEMA', N'dbo', 'TABLE', N'sysjobs', 'COLUMN', N'version_number';
于 2014-03-31T16:50:18.557 に答える
0

sp_addextendedpropertyを使用してジョブでバージョン番号を保持することはできません

[@ level1type =] {'level1_object_type'}

レベル1オブジェクトのタイプです。level1_object_typeはvarchar(128)で、デフォルトはNULLです。有効な入力は、AGGREGATE、DEFAULT、FUNCTION、LOGICAL FILE NAME、PROCEDURE、QUEUE、RULE、SYNONYM、TABLE、TABLE_TYPE、TYPE、VIEW、XML SCHEMA COLLECTION、およびNULLです。ソース

そのためには、「level1_object_type」の値を「JOB」に変更する必要がありますが、これはオプションではありません。

于 2018-02-05T17:09:28.840 に答える