MSSQL
結果レコードセットに連番を付与する関数。 PARTITION BY句を指定することにより、値がブレイクした場合に1から振りなおすような設定も可能。 以下使用例 select *, ROW_NUMBER() OVER(ORDER BY COL2) as 連番 From wk_hoge ↓結果 COL1 COL2 VAL 連番 -----…
1.Management Stadioを起動する 2.左のツリーより、対象のDBを選択し、レポート→標準レポート→ディスク使用量でレポートを表示する 3.データ/ログファイルの自動拡張/自動圧縮イベントを開く 動作確認環境:SQL Server 2008 Enterprise Edition
SQLServerのプロシージャからテキストログを出力する例 実行するにはxp_cmdshellの権限を付与しておく必要がある Declare @memo varchae(200) SET @memo = 'echo hogehoge >> C:\hoge.txt' EXEC master..xp_cmdshell @memo 動作確認環境:SQL Server2008 Ente…
SQL Server 2008の機能でプロバイダ情報を指定することで 他のデータベースやAccess、Excelファイルにアクセスしてクエリを発行することができる機能 (アドホッククエリともいう)。 デフォルトではOPENROWSETは無効になっているため以下のSQLで有効にする必…
エラーの発生した行番号を返す関数。他にもERROR_MESSAGE,ERROR_PROCEDURE等がある。 ストアドでエラーが発生した場合の原因調査に便利。 テスト用スタブ ALTER PROCEDURE procTest @param1 int AS SET @param1 = 1/ 1 SET @param1 = 1/ 0 return 0 テスト用…
Reporting Services を使用してレポートを作成するにはレポートサーバを構築し、 その後レポートを作成して配置する必要がある サーバ構築からレポート作成、公開への手順は以下の通り ■レポートサーバを構築する SQL Server 2008 ではReporting ServicesがI…
SQL Server 2008 の Management Stadioでデバッグを実行した場合に 「SQL Server プロセスにアタッチできませんでした」のエラーが発生することがある。 これはManagement Stadioを実行しているWindowsユーザが SQL Serverのsysadminの権限を持っていない場…
SQL SERVER 2008からリンクサーバを使って他のSQL SERVER 2008に接続する手順は以下の通り 1.Management Stadioで「サーバーオブジェクト」→「リンクサーバ」のツリー選ぶ 2.右クリック→「新しいリンクサーバー」をクリック 3.「全般」ページのリンクサーバ…
bcpユーティリティを使用するとDBとテキスト間のインポートとエクスポートを行うことができる 以下、タブ区切りでのテキストのインポート、エクスポートの使用例 exp.bat (エクスポートの例) ::サーバ名 SET SVNAME=hogeSvr ::DB名 SET DBNAME=hogeDB ::ユー…
SQL Server2008でのトランザクションログを縮小させる方法は以下の通り --データベースのバックアップ BACKUP DATABASE hogeDB TO DISK = 'nul' --トランザクションログのバックアップ BACKUP LOG hogeDB TO DISK = 'nul' --トランザクションログの圧縮 DBCC…
SQL ServerでIdentityを初期化するにはDBCC CHECKIDENTを実行すればよい DBCC CHECKIDENT( T_HOGE, RESEED, 0)第1パラメタ→テーブル名 第2パラメタ→RESEED 第3パラメタ→初期値 (0以外も設定可) データが消えてもよいのであればTruncate Tableでも初期化す…
データベースに登録されているすべてのストアドプロシージャを削除するSQL --カーソル定義 DECLARE curProc CURSOR FOR SELECT name FROM sys.procedures DECLARE @wkname varchar(20) --カーソルオープン OPEN curProc --カーソルフェッチ FETCH NEXT FROM …
SSISではデフォルトではタスクごとにトランザクションが実行される。 もし、トランザクションをパッケージ全体で行いたい場合は以下のように設定するとよい。 1.パッケージのプロパティ「TransactionOption」の値を「Required」にする デフォルト→Supporte…
%errorlevel%を使用するとsqlcmdで直近に実行したSELECTの結果を取得することができる なので、Batでストアドの戻り値を取得したい場合は ストアドの戻り値をSELECT文で返すようBatファイルで記述すればよい 以下、使用例 呼び出し元Bat ::ストアドの実行 sq…
SQL Server2008 ではどのEditionかに関わらず、インデックス付きビューを作成できる 作成するSQLは以下の通り CREATE VIEW [dbo].[V_hoge] WITH SCHEMABINDING AS SELECT hoge1, cast(hoge as int) as hoge_int FROM dbo.zz_hoge GO CREATE UNIQUE CLUSTERED…
構成ファイルを使用したdctxファイルを dtexecユーティリティで実行すると以下のエラーが発生することがある コード: 0x80012017 ソース: パッケージ 説明: パッケージのパスが参照されるオブジェクトを見つけることができません これは構成ファイルとdtcxフ…
SQL Server 2005からTRY-CATCHで例外を拾うことができる (テーブルが存在しないなどの重度のエラーは除く) 以下、仕様例 BEGIN TRY Declare @wk int --正常 SET @wk = 1 / 1 --ZERO除算 SET @wk = 1 / 0 END TRY BEGIN CATCH SELECT ERROR_NUMBER() AS Error…
SSISのXML構成ファイルを使用するとSSISパッケージの実行時に 必要な情報を外部ファイルに記述しておくことができる データベースの接続情報やファイルのパスなどを各パッケージ毎に記述するのではなく 一元管理したい場合などに適している (iniファイルみた…
SSISでProtectionLevelをServerStorageにするとデータベース ロールで アクセス制御を行う ProtectionLevelはVisual Stadioのプロパティで設定するのではなく、 SSISパッケージストアへ登録する際に行うので注意 以下、ProtectionLevelがServerStorageで作成…
SSISパッケージではパッケージのセキュリティレベルをProtectionLevelプロパティで設定することができる 以下、プロパティの種類についての説明 DontSaveSensitive →接続文字列中のパスワードなど機微なプロパティはパッケージに保存されない 機微なプロパテ…
アップグレードアドバイザはSQL Server 2000、2005を2008に アップグレードした際の問題点等を分析してくれるツール DTSを使用している場合は特にこのツールで分析しておくとよい ダウンロードはこちら http://www.microsoft.com/downloads/details.aspx?Fam…
動的プロパティタスクを使用するとDTSパッケージの実行時にiniファイル等の外部リソースを取得し、 その値をプロパティとして設定してパッケージを実行することができる 例えば、データベースの接続情報をiniファイルに設定したり、 テキストへの出力元をSQL…
データベースに格納されているトリガはSYSOBJECTSで参照することができる EnterPriseManagerではトリガ一覧が表示できないのでSQLを書いてみた 以下、トリガ一覧を出力するSQL SELECT TR.NAME トリガ名, TBL.NAME テーブル名 FROM SYSOBJECTS TR LEFT JOIN S…
DELETE句ではFROM句を2つ記述することができる 以下のSQLはWHERE句に該当するTBL1のデータを削除する(Exsist句と同じ) DELETE FROM TBL1 FROM TBL2 WHERE TBL1.HOGE_CD = TBL2.HOGE_CD この書き方はSQL Serverの方言みたい 動作確認環境:SQL Server 2000
SqlServer2000でストアドをコンパイルしようとしたら以下のエラーが発生し コンパイルできないことがある サーバー : メッセージ 913、レベル 16、状態 8、行 70 データベース ID 104 が見つかりませんでした。データベースがまだアクティブになっていないか…
ファイルで保存した構造化ストレージファイルをSQLServerに保存する手順は以下の通り 1.EnterPrise Managerを起動する 2.ツリーの「データ変換サービス」を選択し、右クリック→「パッケージを開く」でDTSファイルを選ぶ 3.「パッケージ」→「名前を付け…
SQL Serverの照合順序はデフォルトではデータベースのプロパティで設定した照合順序が適用されるが COLLATE句を使用すると特定のSQL文のみで照合順序を変更することができる。 大文字・小文字・全角半角を区別する select * From M_商品 where M_商品.商品コ…
SYSDEPENDSテーブルには従属関係の情報が格納されている SYSDEPENDSを使用して以下のように使用しているテーブル、ストアド等を調べることができる SELECT DISTINCT SYSDEPENDS.ID, PARENTOBJ.NAME, SYSDEPENDS.DEPID, CHILDOBJ.NAME, CHILDOBJ.XTYPE FROM S…
SQL Server 登録されている DTSパッケージを構造化ストレージ ファイルして保存することができる VBSを使用してDTSファイルに保存するのは以下のとおり Const DTSSQLStgFlag_UseTrustedConnection=256 'DTSの出力先パス★ Const EXP_PATH ="D:\DTSEXP\" 'SQL…
SQL Serverがインストールされているマシンのコンピュータ名を変更するのは手順は以下の通り 1.コンピュータ名を変更して再起動する 2.SQLServerで以下のクエリを実行して変更した内容を通知する sp_dropserver <old_name> GO sp_addserver <new_name>, local GOは変更前のコ</new_name></old_name>…